1с исходный текст модуля отсутствует как открыть
Мова інтерфейсу платформи 1С:Підприємство ("ru") не співпадає з мовою інтерфейсу користувача ("uk")!
Для коректної роботи рекомендується встановлювати однакові мови!
Запустити платформу 1С:Підприємство з необхідною мовою інтерфейсу можна за допомогою параметру запуску "/L uk" (або "/L ru").
Подскажите как это сделать.
1С:Предприятие 8.1
Язык интерфейса платформы 1С: Предприятие ("ru") не совпадает с языком интерфейса ("uk")!
Для корректной работы рекомендуется устанавливать одинаковые языка!
Запустить платформу 1С: Предприятие с необходимой языком интерфейса можно с помощью параметра запуска "/ L uk" (или "/ L ru").
Подскажите пожалуйста. Вот у меня платформа 8.1.15.14 версия базы 1.6.24.7, как и какие по порядку мне нужно принимать обновы, чтобы было актуально на сегодняшний день с версией 8.2?
Т.е. перейти на 8.2, я так понимаю надо обновляться или как быть с базой?
заранее спасибо.
Никто не сталкивался с такой проблемой: в конфигураторе есть защищённый модуль, нет возможности даже просмотреть код этого модуля (пишет, что исходный текст модуля отсутствует).
Как сделать его открытым?
Мне это нужно для рарусовской программы 1c crm. Общий модуль :CRM_ЗащищенныеФункции.
Подскажите пожалуйста. Вот у меня платформа 8.1.15.14 версия базы 1.6.24.7, как и какие по порядку мне нужно принимать обновы, чтобы было актуально на сегодняшний день с версией 8.2?
Т.е. перейти на 8.2, я так понимаю надо обновляться или как быть с базой?
заранее спасибо.
Если я правильно понял, то имеется ввиду именно платформа 8.2, а не функционал управляемого приложения 8.2.
Линейка такая: Прямо сейчас устанавливаете платформу 8.2, открываете существующую базу версии 1.6.24.7 (совместимость с 8.2 там уже есть).
Далее порядок обновления такой:
1.6.24.7 -> 1.6.25.9
1.6.25.9 -> 1.6.26.3
1.6.26.3 -> 1.6.27.1
Кроме этого советую переходить с редакции 1.6 на редакцию 2.0.
В поставку редакции 2.0 конфигурации «Бухгалтерия предприятия» включена методика перехода с редакции 1.6. При переходе производится автоматический перенос данных:
* Переносятся все данные из справочников рабочей информационной базы редакции 1.6.
* На указанную пользователем дату (не ранее 01.01.2010) формируются входящие остатки на основании данных рабочей информационной базы редакции 1.6.
* За указанный пользователем период переносятся все введенные документы из рабочей информационной базы редакции 1.6. При этом началом периода является дата формирования входящих остатков.
Но делать это лучше после закрытия 2010 года, и формировать остатки на начало 2011 года (т.е. на конец дня 31.12.2010) :yes:
Добавлено через 4 минуты 45 секунд
Мне это нужно для рарусовской программы 1c crm. Общий модуль :CRM_ЗащищенныеФункции.
Собственно никак, т.к. исходный код 1С-Рарус исключен из модуля, т.е. он уже пре-компилирован, это уже объектный код, декомпиляторов для 1С, таких как дизассемблеров для асма, собственно не существует. По этому не ломай голову и придумывай алгоритмы обхода функций, где ты зависишь от этого модуля, или лови что они дают на входе функциям, и что получают на выходе, попробуй поиграть с этим, по другому никак. :(
Кроме этого советую переходить с редакции 1.6 на редакцию 2.0.
Цитата:
В поставку редакции 2.0 конфигурации «Бухгалтерия предприятия» включена методика перехода с редакции 1.6. При переходе производится автоматический перенос данных:
* Переносятся все данные из справочников рабочей информационной базы редакции 1.6.
* На указанную пользователем дату (не ранее 01.01.2010) формируются входящие остатки на основании данных рабочей информационной базы редакции 1.6.
* За указанный пользователем период переносятся все введенные документы из рабочей информационной базы редакции 1.6. При этом началом периода является дата формирования входящих остатков.
Но делать это лучше после закрытия 2010 года, и формировать остатки на начало 2011 года (т.е. на конец дня 31.12.2010)
Спасибо, тут понятно.. но не понятно немного следующее, к примеру поставил я 8.2, конфигурация базы 1.6.24.7, и как мне ее теперь обновлять до 2.0.16.х. обновления по порядкуИ Или можно поставить конфигурацию 2.0.16.х и сразу переконфигурировать или преобразовать базуИ Вопрос - как поступать с базой?
Всем привет!
Сегодня наткнулся и не поверил глазам:
1С в типовой БП 3.0 релиз 3.0.39.55
общий модуль СверкаДанныхУчетаНДС сделала без исходных кодов.
На моей памяти это первый раз когда исходный код закрывается в конфигурации.
Кто-нибудь еще заметил?
(8) Это как бы очевидно. Защита для этого и ставится. Вопрос - зачем. Тем более, что это защита эта весьма условная.
правда ссылок на модуль в конфе пока нет.
думаю это некий костыль который пока еще не допилен, а что бы не лазили в него так сделали
Я не могу придумать ни одной причины, по которой именно этот модуль надо поставлять без исходных текстов.
Похоже что кто-то поигрался с настройкой поставки.
В том-то и дело. Открытость типовых кодов - серьезное конкурентное преимущество. Хоть конкурентов пока и нет, но если начать планомерно для них готовить почву - всходы в итоге появятся.
(19) слышу о конкурентах которые похоронят 1с с их 8кой/упрформами/такси/постоянными переходами уже 9 лет))) а конкурентов до сих пор так и нет)
(22) Ты хочешь сказать, что сейчас выбор системы для бухгалтерского учета каждый раз проходит в страшных муках?
(24) Зачем вам открытый код?! хотя нет, не так - зачем полностью открытый код? собираетесь учет ндс переписывать?
так это регламентный учет - если, что не работает - тук тук тук в 1С - пусть исправляют. Свою дописывать - никто не запрещает. Гворят, что исходнки линукса открыты, но что-то не сильно много желающих, что-то там дописывать.
Тяжеловесность обычной бухии на УФ - уже серьезный минус для 90% мелких контор, которым тонкий клиент нафиг не уперся (плюс добавочная сложность сопровождения и доработок).
Если в итоге будет тяжелая/глючная/закрытая бухия от 1С, то даже при хорошем функционале и поддержке у 1С, конкурентам будет где разгуляться на широком рынке мелких контор.
Не так-то уж сложно создать шустрый и открытый толстый клиент с простым функционалом. Попыток было уже много, вполне успешных технологически. Всё упирается в поддержку типовой. Но открытый продукт можно будет фиксить оперативно, а закрытый - ждать пока соизволят это сделать. В итоге что-то простое/легкое с привлекательной ценовой политикой вполне может выстрелить. Какой-нить современный аналог 7.7 & 1С++
(28) Ну весь код закрывать смысла нету - в 1С тоже не совсем дураки сидят. Чем больше 1С закроет общих модулей отвечающих за регл.учет - тем должно быть лучше кодерам-внедренцам т.к. всегда могут все на 1С свалить а сами наконец-то заняться упр.учетом и т.д.
(33) > Какой-нить современный аналог 7.7 & 1С++
Сказки о триумфальном возвращении клюшек поются с момента появления снеговика.
(32) Не дай боже победить коррупцию\бюрократию и т.д. в России - ибо не понятно куда девать тогда эту армию чиновников. будут ходить злые,голодные.
(36) Фигасе себе сравнение.
PS Где моя ручка стоимостью 30 с копейками лярдов? :)
(35) Клюшки не могут триумфально вернутся. Это не тот продукт, который с каждым годом становится лучше. Но вспомни рынок, с которого взяла старт 1С. Простого инструмента для сдачи отчетности рядового буха мелкой конторы. Имя им легион.
И им не нужно никаких плюшек, ради которых 1С положила на алтарь ресурсоемкость и легкость быдлокодинга. Положи на алтарь еще и открытость - и это может стать последней соломинкой.
(39) Может быть 1С попросту теряет доходы, как бы СШП на Россию ботончик крошит в виде Санкций.
И какой либо "уМный" манагер выпулил - "А не закрыть ли нам конфу, обращение к нам возрастет" :)
это все от того, что хранилище не поддерживает ветвлений. Недостроенная фича из за этого в релиз прорвалась. Ее закрыли в виде недостроенности. А випилить не смогли потому, что в кофах разработчиков сотни незакомиченного кода на этот модуль смотрят
(41) Думаю, меньше чем 1С мало кто потерял от санкций. И сабж не выглядит как закрытие конфы. Это выглядит как бардак в настройках поставки.
(44) Клюшки душат сами же создатели. В плане задержки обновок.
Скоро клюшки сами уйдут, подождите немного. Лет *дцать :)
(44) Я тоже этого не говорил. Работает - не трожь. Не проблема отыскать работающие продукты на реликтовых языках. Но ты же не станешь утверждать, что рыночная доля клюшек растёт или хотя бы остается неизменной?
(0) в БСО (на базе БП3)встретил.
Есть некий общий модуль "импНепоставляемый". Не открывается, пишет "Исходный текст модуля отсутствует".
Интересно, как они такое делают?
(26) что такое открыватор?
(45) Это есть. Да. Но тем не менее - обновляют :)))
(46) Я не сравнивала рынок. Просто за последний год 2 (два) клиента просили перевести с УТ на ТиС (с учетом стоимости покупки ТиС (дороже и проблемнее УТ)). Не много, согласна. Но перевести на 8 (с клюшек) тоже всего 2 (два).
Надеюсь, это просто недоразумение. Код должен быть открыт хотя бы для того, чтобы найти причину какой-то ошибки или разобраться, как работает система. Если же реально возникнет тенденция на закрытие исходного кода, то это, имхо, будет первый гвоздик в могилку 1С.
(48) А много ли новых клиентов покупают клюшки? Даже если нет своей статистики - догадаться несложно.
Декомпиляция модуля 1С
Мля. Это весьма не тривиальная задача. Как вариант - попробуй протрассировать вызовы функций и процедур модуля через технологический журнал.
1.Сохраняете конфигурацию в файл CF
2. С помощью декомпилятора раскрываете все модули
3. Загружаем декомпилированный файл CF в чистую конфигурацию
4. Теперь можно прочитать содержимое модуля
Пользователь сказал cпасибо:
Подводные камни
Это, судя по всему, переименованная (Декомпилятор1Сv8.epf) разработка Авы (Awa), которая может работать только с девственно чистым кодом 1С8х. Но она обламывается на обфусцированном коде. Например, она не позволит декомпилировать саму себя и код обфусуированный специальными коммерческими программами вроде WiseAdvice (который применялся, скорее всего, для некоторых модулей демоверсии «Камина»).
А если учесть, что последние разработки Авы распространяются через infostart ru, который наполовину принадлежит фирме 1С, то можно предположить, что это делается для того, чтобы программисты собственных конфигураций покупали соответствующие обфускаторы. Что частично снимает претензии с самой фирмы 1С, мол, встроенная защита в «восьмерке», как и в «семерке», такая же никудышная. Типа, хотите более усиленную защиту – платите бабки. В общем, знакомая история, вирусмайкеры делают вирусы, чтобы, в том числе, покупались антивирусные программы. Врачи иногда выписывают «лишние» лекарства, чтобы аптеки не бедствовали и т.п.
Однако как говориться, на хитрую пикантную подробность найдется винт с контргайкой. Теоретически любое обфусцирование, не ведущее к потере работы (псевдо) кода, не является надежной защитой и относительно легко обходится. И такие средства есть, естественно, не для публичного использования. Частичный выход – шифрование строк и вынос бизнес логики в бинарный код (dll). Короче, бесконечная борьба средств борьбы и защиты.
Наверняка каждый разработчик заботится о том, чтобы его программы были защищены от нелегального распространения. Особенно если эта разработка – коммерческий, тиражируемый продукт.
Создатели системы 1С: Предприятие 8 позаботились о защите кода. К сожалению, пароль на доступ можно установить только на модули объектов, общие модули, модули обработок и отчетов. В том числе и внешних. Но и этого немало, так как можно значимые процедуры и функции разместить в модуле и потом к ним обращаться.
В данной статье я хочу разобраться, как установить защиту и снять её, если Вы забыли пароль.
Установка защиты на модуль 1C
Возьмем любой модуль любого объекта. Я взял навскидку первый же документ – «Авансовый отчет». Если поставить курсор на текст кода модуля, в главном меню появится пункт «Текст». В этом пункте есть подпункт «Установить пароль».
Программа меня тут же предупредила о том, что нельзя защитить модуль, имеющий директивы препроцессора:
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Что же, посмотрим, во что это выльется. Устанавливаем пароль.
Игнорируем ошибку и сохраняем конфигурацию. Интересно, откроется ли документ. Запускаем программу в режиме «Предприятия».
Все оказалось хуже, чем я предполагал. Документ полностью не рабочий. Провести его не удалось, постоянно программа ругается на какие-то незаполненные поля, которых ни в шапке формы, ни в таблице нет.
Попробовал для чистоты эксперимента на других документах, тот же результат. Например, в приходной накладной становится недоступным поле «Договор».
Вывод однозначный: не все модули можно защитить. Однако ничего Вам не мешает вынести функции и процедуры с директивами препроцессора в отдельный модуль.
Осталось проверить обработки. Возьмем для интереса внешнюю. Защита прошла без проблем.
Проверка надежности защиты с помощью декомилятора модулей 1С
Посмотрим теперь, удастся ли обойти защиту. Покопавшись немного в интернете, я наткнулся на «декомпилятор модулей» (скачать можно по ссылке), который якобы способен снять пароль. Декомпилятор представляет собой внешнюю обработку на обычных формах. Хорошо, пробуем. Начнем все с той же внешней обработки, на модуль которой я установил пароль.
Запускаем 1С в режиме предприятия и открываем обработку с декомпилятором через «Файл» – «Открыть». Замечу, что обработка, которую я нашел, написана на обычных формах, и запускать ее нужно под толстым клиентом:
Пробуем открыть модуль в конфигураторе, и он прекрасно открывается.
На форумах пишут, что иногда нужно запускать 1С от имени администратора, если выходит ошибка.
Теперь осталось проверить, как декомпилятор справится с общими модулями. Сохраняем конфигурацию в файл.
Выбираем в обработке:
Загружаем конфигурацию из файла и проверяем защиту. Защита полностью снята.
Тестирование проводилось на платформе 8.3.9.1818, конфигурация «Бухгалтерия предприятия 3.0.44.188».
Самое интересное, что модуль данного «декомпилятора» тоже защищен. Но обработка не позволяет снять защиту с самой себя.
Данный материал предоставлен только в ознакомительных целях с целью обзора механизма защиты платформы 1С. Запрещено использовать данный материал для получения доступа к защищенным авторским правом разработкам.
Лень в очередной раз сподвигла меня на доработку существующего инструментария.
На этот раз, устав от добавления текстов модулей множества форм в обработке “Анализ процедур и функций” , решил реализовать автоматическую загрузку этих модулей из выгруженных файлов (функционал платформы 1с “Выгрузить в файлы”).
Для внешней обработки формируется следующая структура каталогов.
Текст модуля обработки выгружается в файл “\Ext\ObjectModule.bsl“.
Тексты модулей управляемых форм – в файлы с расширением “.bsl“: “\Forms\ НазваниеФормы \Ext\Form\Module.bsl“.
А вот обычные (не управляемые) формы выгружаются в следующие двоичные файлы: “\Forms\ НазваниеФормы \Ext\Form.bin“.
Пришлось повозиться с парсингом этих бинарных файлов. Зато опробовал новую (для меня) возможность платформы работы с бинарными файлами
Файл с данными обычной формы представляет из себя бинарный файл с блоками данных.
Блоки разделены секциями, состоящими из 3-х 16-ричных чисел, оканчивающихся числом 7fffffff.
В процессе анализа некоторого количества обработок обнаружилось 2 варианта расположения блоков.
Вариант 1
Вариант 2
Я остановился на следующем алгоритме определения необходимой секции, содержащей код модуля формы.
Данный алгоритм был получен империческим путем и не может слепо использоваться в продуктивной разработке!
Если Вы владеете информацией по данному формату, буду рад увидеть Ваш комментарий к данной публикации 🙂
Если последнее число 3-го блока = 7fffffff, считаю, что это первый вариант расположения блоков. В остальных случаях – второй вариант.
Для первого варианта
Начало блока с текстом модуля формы совпадает с началом 4-го блока (необходимо только пропустить секцию с 3-мя цифрами), т.е. это в 10-чной системе счисления: 691(начало 4-го блока) + 8*3(3 16-чных числа) + 2(пробелы между числами). Т.е. считаю, что это всегда 717 (dec)
Адрес окончания текстового блока – второе число секции из 3-х чисел + смещение на константу 000002D2(hex) или 722(dec).
Для случая, приведенного на скриншоте (см. выше) получаем:
551(dec) + 722(dec) ,
где 551(dec) это 00000227(hex)
Для второго варианта
Анализируем секцию из 3-х чисел блока 3.
Адрес начала блока с кодом 1С – второе число (к этому числу необходимо еще добавить смещение на константу 722(dec) и размер секции из 3-х чисел 26(dec)).
Для случая, приведенного на скриншоте (см. выше) получаем:
127773(dec) + 722(dec) + 26(dec) ,
где 127773(dec) – это 0001F31D(hex)
Адрес окончания блока с кодом 1С – третье число.
Для случая, приведенного на скриншоте (см. выше) получаем:
471603(dec) ,
где 471603(dec) – это 00073233(hex)
Для чтения из двоичного файла написал процедуру:
Ну в заключении, чтобы не “бегать” в конфигуратор для выгрузки обработки в файлы, добавил выгрузку с помощью пакетного запуска конфигуратора 1С с выводом на экран результата выполнения данной выгрузки:
Читайте также: