V8Reader (с расширенным анализом форм) Upd.

22.07.16

Разработка - Инструментарий разработчика

Обработка, позволяющая анализировать и сравнивать файлы отчетов, обработок, конфигураций и обновлений. Имеет мощные инструменты по анализу форм, ролей и ограничений доступа.

Скачать файлы

Наименование Файл Версия Размер
V8Reader.epf
.epf 933,79Kb
2536
.epf 1.13 933,79Kb 2536 Скачать

Логическое продолжение публикаций //infostart.ru/public/97194/ и //infostart.ru/public/69976/
вызванное обсуждением в комментариях (в частности, этим комментарием), с попыткой объединить в себя параллельное направление разработки, обозначенное в публикациях:

Декомпиляция и анализ форм с генерацией кода формы от MRAK

Сравнение объектов и форм метаданных (очередная декомпиляция и анализ форм) от alexer

Деструктивный анализ формы от asady

Декомпилятор форм от Sverkalov

И, наконец, их обобщенным и логичноструктурированным продолжением -

Декомпиляция элементов формы для 8.2 для обычных форм (не управляемых) от Istur - всем рекомендую (только ошибки исправить надо - письмо о них было написано - никакой реакции)

Для более тщательного анализа форм был использован материал, предложенный brix8x в этом комментарии, а также развитие этой идеи, предложенное tormozit в публикации //infostart.ru/public/57431/

Для придания "рюшечек" использовалась идея, предложенная Шепотом теней в публикации //infostart.ru/public/59581/

Ну, и, как обычно... использовалась программа V8Unpack от disa_da

Update от 15.02.2012:

Добавлена возможность анализа и сравнения внешних отчетов.

Измененные файлы выводятся в дерево сравнения окрашенными строками в зависимости от изменения размера сравниваемых файлов.

Учтены изменения в количестве видов метаданных, появившихся в конфигурации с версии платформы 8.2.14

Update от 04.03.2012:

Исправлена ошибка в алгоритме сравнения измененных файлов (касается изменений модулей форм)

Доработано сравнение элементов формы - изменения учитываются поэлементно - можно просмотреть значения изменений в свойствах.

Опционально добавлен "Hard" режим для вывода в дерево реквизитов, табличных частей и пр. (на хитрых конфигурациях обработка при разборе в "Hard" режиме может зависать - сообщайте название - буду исправлять)

Фильтр сравнения работает!!!

Update от 10.03.2012:

По просьбе pumbaE добавлен режим 3-way diff. Работает, вызывая внешнюю программу сравнения файлов, поддерживающую 3-х уровневое сравнение (из бесплатных - KDiff3 и SourceGear DiffMerge). Для корректной работы с кирилицей в именах файлов качайте последние версии.
На данный момент - сравнение только текстовое - причем для форм раскраской строк анализируются как изменения в модулях, так и изменения в диалогах - а на сравнение выводятся только файлы модулей. Обращайте внимание.

Update от 27.04.2012:

Исправлены ошибки

Специально для сравнения форм в проекте "Снегопат" - snegopat.ru по инициативе pumbaE добавлен новый режим выбора объекта "Режим ssf" - можно сравнить файлы форм снегопата.

В навигаторе файлов появилась колонка "Размер", с возможностью сортировки по ней (для определения наиболее "массивных" составляющих конфигурации).

Добавлено "кэширование" сформированных деревьев метаданных (при включенном "кэшировании" дерево файла конфигурации, которую уже хотя бы раз разбирали - будет построено из кэша).

Панель "Свойства" отделена от формы разбора форм - вызывается двойным щелчком по дереву элементов формы
В панели "Свойства" выводятся и свойства, и привязки, и обработчики событий элемента, причем в режиме сравнения - щелчок по строке различающихся действий выводит окно сравнения текстов-обработчиков.

На вкладке "Модуль" формы "Разбор элементов формы" - появилось табличное поле структурных различий процедур и функций модуля. Аналогично - двойным щелчком выводится окно сравнения их текстов.

Новая функция - "Декомпиляция изменений" - тестовый вариант.

Значительно увеличилась скорость разбора форм!!!!!

Кстати - для желающих сравнить и декомпилировать изменения двух произвольно выбранных форм можно воспользоваться режимом ssf, указав в качестве каталогов распаковки каталоги распакованных форм...Smile

Update от 29.06.2012:

Добавлена новая функциональность - анализ и сравнение ролей и ограничений доступа

За основу формата вывода взята обработка Отчет по системе прав для 8.2 на СКД от  Zigfridish

В качестве быстрых отборов при сравнении ролей можно отбирать объекты с измененными правами, объекты с измененными ограничениями доступа. Также обработка позволяет сравнивать изменения в шаблонах ролей и в ограничениях доступа.

Update от 19.08.2012:

Исправлены ошибки. Учтены некоторые пожелания пользователей.

В частности, при перемещении по дереву метаданных при открытом навигаторе файлов по умолчанию происходит позиционирование на файл выделенной строки. Также для возможности использовать режим ssf для анализа выгруженных платформой 8.3 бинарных файлов форм в процедуру выбора файла формы добавлен фильтр .form.

Update от 01.11.2012:

Исправлены ошибки.

Существенно доработан отчет «Декомпиляции изменений». Теперь он представляет собой готовую совокупность процедур, необходимых для программного формирования нужных изменений формы. Основой этого отчета является процедура МодифицироватьФормуПриОткрытии(). В качестве дополнения к основной, для сокращения выводимых строк и лучшей читаемости кода используется процедура "УстановитьПоложениеЭлемента(Элемент,Верх,Высота,Лево,Ширина)" (из обработки от Istur) – тоже будет выведена в отчет. Также в случае добавления на форму элементов типа «Переключатель» в отчет будет добавлена дополнительная процедура ИзменитьПорядокОбхода() – позволяет назначить для добавляемого переключателя корректный номер порядка обхода.

Теперь для программной модификации нужной формы в ее обработчик открытия нужно будет добавить процедуру МодифицироватьФормуПриОткрытии(). А саму эту процедуру (вместе с дополнительными процедурами, выведенными в отчете «Декомпиляция изменений») разместить в модуле с кодом вывода элементов формы или поместить в общем модуле.

Расширены возможности по корректной обработке свойства «Данные» элементов формы в отчете «Декомпиляция изменений».

Реализовано сравнение произвольно выбранных объектов (в контекстном меню дерева метаданных пункт «Добавить к сравнению»).

Обработка работает теперь только в режиме полного структурного разбора (то, что раньше называлось режимом разбора «Hard»). Оптимизирована работа этого режима. Режим «Light» больше не используется.

Структурное сравнение модулей – используется для сравнения всех модулей (включается в настройках).

В сравнении дерева метаданных теперь дополнительно анализируется изменение внутреннего представления структурных составляющих объектов – можно узнать изменения конкретного реквизита в объекте (пока что только во внутреннем представлении).

Добавлена настройка «Проверять обновления публикации». Использованы рекомендации Жолтокнижниг из этого комментария.

В отчете по ролям добавлено программное генерирование кнопок для управления уровнями группировки из публикации //infostart.ru/public/83915/ от mtv:)

Update от 21.11.2012:

Исправлена критичная ошибка произвольного сравнения ролей.

Update от 13.02.2013:

Исправлены ошибки.

Две новых фунциональности.

Первая функциональность - расширенный анализ управляемых форм. В панель свойств выводится список свойств элемента управляемой формы. Свойства анализируются во внутреннем представлении

Вторая функциональность - возможность вывода отчета по роли в режиме "дополнения" - в отчет выводятся не только заданные в файле роли права, но и права по умолчанию. (возможность пока тестовая)

Update от 25.01.2015

Долгожданное обновление)))))

Исправлены ошибки. Реализованы пожелания. Добавлена возможность корректной обработки объектов платформы 8.3.

В управляемых формах реализован разбор командного интерфейса.

Логика построения дерева обычных форм отвязана от идеи деструктивного анализа – иерархия элементов строится на основе внутреннего представления.

На этом этапе большой вклад в развитие был сделан pumbaE. В частности, его силами в V8Reader была добавлена возможность разбора обработок в структуру папок с исходниками, имеющими человекопонятные имена. Эта автоматизация была реализована в рамках проекта precommit, представляющего собой скрипт, который запускает этот разбор при каждом коммите в систему контроля версий Git. Также в рамках проекта diff1C он реализовал скрипт, запускающий V8Reader для сравнения выгруженных с помощью стандартной выгрузки 8.3 обычных форм и табличных документов в формате xml. Попробуйте, это очень удобно!

Еще хочется поблагодарить уважаемого awa за его бесценные исследования и artbear за тестирование функционала и конструктивные предложения.

Update от 29.01.2015

В макет V8Unpack помещена новая версия, собранная Сергеем Батановым aka baton_pk (ссылка на релиз https://build.batanov.me/job/v8unpack-win/label=mingw32/lastSuccessfulBuild/artifact/bin/Release/v8unpack.exe) Новая версия не требует дополнительных библиотек + прирост скорости распаковки по сравнению с версией V8Unpack2.0 порядка 20%.

Update от 18.02.2015

Исправлены ошибки. 

В таблице структурного сравнения модулей изменена сортировка по изменениям - неизмененные строки выводятся в самом низу.

Реализована совместимость регулярок реквизитов и табличных частей с внутренним представлением 8.3.6 (в первом приближении - возможно, позже потребуются правки). В управляемой форме в число допустимых видов поля формы добавлен новый вид - Поле планировщика.

Update от 10.06.2015

Доработана совместимость регулярок с внутренним представлением 8.3.6.

Реализован программный интерфейс для открытия сравнения файлов из стороннего кода 1С – в модуле обработки экспортная процедура ОткрытьСравнение(ПутьФайла1,ПутьФайла2). Этот интерфейс позволяет использовать весь функционал проекта v8diff – можно сравнивать обработки, отчеты, конфигурации, файлы mxl, файлы форм и сериализованные в XML табличные документы, выгруженные платформой 8.3. Для всего остального будет открываться произвольное текстовое сравнение.

Добавлена обработка ключа запуска convert-mxl2txt для скрипта precommit.
// Пример строки запуска для precommit - "decompile;pathtocf;E:\ПутьКФайлуКоторыйНадоРазобратьНаИсходники;pathout;E:\ПутьКПапкеИсходников;convert-mxl2txt;shutdown"
В случае запуска скрипта precommit с ключом convert-mxl2txt для файлов табличных документов дополнительно создаются текстовые аналоги с постфиксом *_mxl.txt.

Используется новая версия V8Unpack (by baton_pk) – исправлены ошибки распаковки файлов form, ssf и cfu. Главное преимущество новой версии – возможность распаковки конфигураций большого объема (например ERP2.0, которую V8Unpack2.0 не распаковывает) без ущерба для производительности.

Мелкие доработки эргономики вывода сравнения временных файлов.

Update от 22.07.2016

1) Исправлена ошибка разбора ролей, возникающая при обнаружении неизвестных идентификаторов стандартных реквизитов
2) Исправлен алгоритм построения дерева элементов обычной формы в случае, если у главной панели формы (ЭтаФорма.Панель) есть несколько страниц.
3) Гиперссылка, декомпилирующая обычную форму целиком, теперь формирует полноценный текст декомпиляции (раньше по этой гиперссылке формировался файл в режиме «бутафории»)
4) Добавлена настройка использования внешней программы для сравнения модулей и их методов
5) В режиме анализа файла конфигурации, содержащего конфигурацию поставщика, появилась возможность по нажатию отдельной кнопки распаковать файл конфигурации поставщика и запустить сравнение с исходной конфигурацией
6) В рамках проекта precommit1c исправлены ошибки формирования соответствия распакованных файлов для их последующей сборки в полноценный 1С-файл силами скрипта precommit.
7) Также в рамках проекта precommit1c для распакованных файлов формируется отдельный файл maps.txt, позволяющий найти в исходниках управляемых форм номера строк, которые соответствуют началу и концу модуля управляемой формы
8) Кроме этого, в рамках проекта precommit1c при распаковке макетов теперь для каждого из них создаются файлы с соответствующим расширением:

  • Компоновка – xml,
  • Табличный документ – mxl,
  • Текстовый документ – txt,
  • Макет оформления компоновки данных – xml,
  • Графическая схема – grs,
  • Географическая схема – geo,
  • ActiveDocument – bin,
  • ДвоичныеДанные – bin (исключение составляют макеты с префиксом ПФ_, для которых создаются файлы с расширением, соответствующим второй части префикса – например, ПФ_DOC_* - будет создан файл с расширение doc и т.д) ,
  • HTMLДокумент – html (вложения html будут распакованы в папку ИмяМакета_files рядом с html – естественно, сам html при этом их видеть не будет, но главное, что вложения тоже распаковываются).

9) Ну и самая главная доработка в рамках проекта precommit1c – это добавление ко всем модулям отчетов и обработок расширения bsl, наличие которого позволит эффективнее осваивать 1С-разработчикам инфраструктуру веб-сервисов GitHub и проще применять инструменты, заточенные под формат исходных кодов 1С, будь-то анализаторы или подсветка синтаксиса.

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122129    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7288    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3530    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177741    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99345    239    97    

296

SALE! 20%

Отчет по системе прав доступа

Роли и права Платформа 1С v8.3 Управление правами Конфигурации 1cv8 Платные (руб)

Предназначен для получения развернутой информации по правам доступа в разрезе пользователей, ролей и объектов конфигурации с гибкой настройкой группировок и отборов для получения только интересующей вас информации в удобном и понятном виде. Функционал отчета позволяет получить ответы на большинство типовых вопросов по правам доступа и решить многие проблемы, связанных с ними.

2000 1600 руб.

03.06.2012    86825    92    70    

226

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18108    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28108    3    10    

15
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
95. пользователь 08.02.12 18:10
Сообщение было скрыто модератором.
...
96. commo 10.02.12 14:02 Сейчас в теме
хорошая весчь спасибо
97. Yasen 490 10.02.12 16:24 Сейчас в теме
98. Artemuch2 10.02.12 19:58 Сейчас в теме
Ну с удовольствием бы протестировал функционал и поставил плюс и содержательный комментарий. Из за этого ретинга приходится всякую ерунду писать что бы скачать обработку. Неужели инфостарту это реально нужно?
99. владимирп 25 11.02.12 20:43 Сейчас в теме
Дошли руки попробовать. Задумка очень нравится, но произошло: {Форма.Форма.Форма(1111)}: Значение не является значением объектного типа (ВидМетаданных)ВидМетаданныхОбъекта=СтрокаДереваМетаданных.ВидМетаданных;
Это выдала машина. В чем может быть причина? Пытался просмотреть свою конфигурацию УПП, но измененную
100. bambr1975 877 11.02.12 23:34 Сейчас в теме
(99) владимирп, единственное, что приходит в голову - это то, что в конфигурациях с версии 8.2.14 появились новые виды метаданных - обработка их еще не учитывает. Буду работать в этом направлении.
102. владимирп 25 12.02.12 10:12 Сейчас в теме
(100)
Спасибо за ответ, да я тоже думаю, что дело в новых объектах. Буду ждать результата!!!
101. alitvin 44 11.02.12 23:50 Сейчас в теме
103. Oleg1708 13.02.12 17:06 Сейчас в теме
Спасибо. Последний релиз поддерживает? Что с новыми объектами?
104. AlexO 135 14.02.12 02:05 Сейчас в теме
(0) а можно изменения обработки освещать на главной странице - в виде upd: что-то.
Или хотя бы как-то выделять в комментариях - чтобы ориентироваться, когда было изменение функционала (доработка), а когда - смена описания на главной странице.
108. bambr1975 877 16.02.12 06:51 Сейчас в теме
(104)Обновлено. Добавлена возможность анализа и сравнения внешних отчетов. Измененные файлы выводятся в дерево сравнения окрашенными строками в зависимости от изменения размера сравниваемых файлов. (99),(103)Учтены изменения в количестве видов метаданных, появившихся в конфигурации с версии платформы 8.2.14.(105)Ошибка исправлена.

(107) alexer, Ваш кропотливый и качественный труд действительно произвел на меня сильное впечатление. Большое Вам спасибо за обозначенные ориентиры.
105. SinglCOOLer 217 14.02.12 15:08 Сейчас в теме
При сравнении двух ЗиУП (ЗиУП 2.5 и ЗиУП КОРП) вылетает следующее
{Форма.Форма.Форма(1720)}: Значение не является значением объектного типа (Имя)
Поз=Найти(Ячейка.Имя,"C");

Дерево не строится. Если нажать вручную Перестроить, сравнение появляется, но почему то говорит различаются только РС и Документы хотя при типовом сравнении различается вся конфа.
106. пользователь 15.02.12 13:21
Сообщение было скрыто модератором.
...
107. alexer 1025 15.02.12 17:03 Сейчас в теме
что ж, отличная вещь, плюсану, тем более что здесь есть часть моего труда
109. azmon 1 16.02.12 06:58 Сейчас в теме
111. bambr1975 877 16.02.12 09:14 Сейчас в теме
(109) azmon, тестировалось на 8.2.15.294. Проблема в распаковке, описанная в (99) проявлялась только на тех конфигурациях, где в дерево метаданных были добавлены объекты в ветку "Внешние источники данных" или в ветку "Общие реквизиты". Любые другие конфигурации/обработки/обновления проблем в распаковке не вызывали.
110. WendyH 16.02.12 07:37 Сейчас в теме
Чем удобнее вывод о сравнении объектов, тем эта вещь будет полезнее. Так что начало очень хорошее и надеюсь проект вырастет в что-то незаменимое. Автору респект. Недавн, всё-таки, выручила эта работа.
112. vasiliy_b 284 16.02.12 21:48 Сейчас в теме
Заметил такой глюк, если в сравнении файлов начать работать без мышки, то 1С вываливается без ошибок.
113. bambr1975 877 16.02.12 22:01 Сейчас в теме
А что нужно сделать, чтобы ЭТО воспроизвести? Выткнуть мышку или нажать кнопку на клавиатуре? Делал и то и другое - и на 8.2.13 и на 8.2.15... Может, у Вас нестабильный релиз платформы или какие другие совокупности влияющих обстоятельств? Неужели действительно есть подозрение, что это вина моей обработки?
114. vasiliy_b 284 16.02.12 22:14 Сейчас в теме
Повторилось на двух последних платформах. Последовательность следующая: Сравниваю 2е конфы, дальше открываю дерево сравнения файлов(раздел общие) и начинаю по списку их раскрывать подряд и по ним дважды мышкой щелкать... на каждом говориться что файлы идеентичны... далее мне это надоедает и я начинаю работать клавой стрелка вниз, вправо, ентер.... приехали обработка закрывается ни чего не сказав. второй раз даже стала ругаться что какой-то файл не может удалить(видимо чистит кэш), т.к. он заблокирован.
115. bambr1975 877 16.02.12 23:12 Сейчас в теме
(114) vasiliy_b, во вчерашнем апдейте эта проблема частично решена - визуально теперь и так понятно, какие файлы идентичны. Так что лучше не мучать платформу количеством вызовов, а вызывать только измененные файлы.
116. phosphorror 19.02.12 13:42 Сейчас в теме
Вот это действительно пригодится в жизни!
117. Alexey55 20.02.12 15:18 Сейчас в теме
Спасибо огромное! полезнейшая вещь! +++++
120. oleg974 123 21.02.12 11:16 Сейчас в теме
Для сравнения форм мне больше подходит типовая галочка "Показывать различия графически" при формировании отчета о сравнении...
Все очень подробно и с картинками :)
Файлы отчетов и обработок отлично сравнивает типовая "Сравнить файлы"...

А вот за возможность сравнить *.cf и *.cfu ОГРОМНОЕ СПАСИБО!

Раньше приходилось держать одну чистую конфу и на нее накатывать обновление чтобы получить cf нового релиза, а тут опана и сразу сравнивай...
Мог бы еще пару раз плюсанул.
121. oiv 22.02.12 10:21 Сейчас в теме
Очень полезная разработока.
122. Aron23 22.02.12 14:57 Сейчас в теме
Это однозначно (+). Оченб полезная фича.
Спасибо.
123. пользователь 23.02.12 14:23
Сообщение было скрыто модератором.
...
124. yalo 28.02.12 15:54 Сейчас в теме
Возможно ли с помощью данной обработки сравнить правила обмена в типой конфигурации и измененной?
Пробовала сравнивать, но сами правила обмена через данную обработку открываются в неизвестном формате. Или я что-то не так сделала?
125. dyh 4 29.02.12 10:41 Сейчас в теме
Надеюсь облегчит жизнь в бесподдержной бескомментарной бухии 2.0.30
126. bambr1975 877 04.03.12 21:10 Сейчас в теме
Обновлено.
Исправлена ошибка в алгоритме сравнения измененных файлов (касается изменений модулей форм).
Доработано сравнение элементов формы - изменения учитываются поэлементно - можно просмотреть значения изменений в свойствах.
Расширены возможности фильтра сравнения.
Опционально добавлен "Hard" режим для вывода в дерево реквизитов, табличных частей и пр. (на хитрых конфигурациях обработка при разборе в "Hard" режиме может зависать - сообщайте название - буду исправлять)
127. Boroda 90 04.03.12 22:39 Сейчас в теме
Очень полезный инструмент! Как я его раньше не увидел... Очень пригодился бы для анализа. Спасибо автору!
128. bambr1975 877 10.03.12 21:56 Сейчас в теме
Обновлено. По просьбе pumbaEдобавлен режим 3-way diff. Работает, вызывая внешнюю программу сравнения файлов, поддерживающую 3-х уровневое сравнение (из бесплатных - KDiff3и SourceGear DiffMerge). Для корректной работы с кирилицей в именах файлов качайте последние версии.
На данный момент - сравнение только текстовое - причем для форм раскраской строк анализируются как изменения в модулях, так и изменения в диалогах - а на сравнение выводятся только файлы модулей. Обращайте внимание.
129. pumbaE 12.03.12 17:41 Сейчас в теме
130. пользователь 13.03.12 13:38
Сообщение было скрыто модератором.
...
131. Kaperang 98 22.03.12 12:26 Сейчас в теме
Шикарная обработка!!!
Но позволяет, насколько я понял, только просматривать/сравнивать метаданные конфигурации. Возможность изменения метаданных вручную/по произвольному алгоритму и последующей запаковки обратно в .cf отсутствует.
132. bambr1975 877 22.03.12 12:37 Сейчас в теме
(131) Kaperang, Вы правильно поняли. Это уже было сказано в (80).
133. genayo 27.03.12 17:17 Сейчас в теме
Полезная обработка, подчерпнул несколько интерсных идей. Дальнейшее развитие функционала планируется?
134. bambr1975 877 27.03.12 17:33 Сейчас в теме
(133) genayo, наращивание аналитических способностей и быстродействия - планируется... Идеями поделитесь?
135. genayo 27.03.12 18:06 Сейчас в теме
Из функционала хотелось бы наличие возможности сравнения не просто модулей объектов/форм, а сравнение конкретных обработчиков событий. По быстродействию вроде особых вопросов нет, V8Unpack ускорить врядли удастся. Если только в качестве парсера использовать не VBScript.RegExp а какую-нибудь специализированную внешнюю компоненту...
136. Magister 134 29.03.12 18:57 Сейчас в теме
(135)
V8Unpack ускорить врядли удастся

Да ладно вам. Более быстрый распаковщик сделать достаточно несложно.
137. bambr1975 877 29.03.12 19:01 Сейчас в теме
(136) Magister, ну и????? Желание написать более быстрый распаковщик не пропало?
139. Magister 134 30.03.12 00:59 Сейчас в теме
(137) Попытаюсь завтра найти свои наработки. Насколько помню, распаковку я делал - только довел до ума, или нет, не помню. Если есть что-то стоящее - выложу.

(138) Потому что никому не нужно было.
138. genayo 29.03.12 19:10 Сейчас в теме
(136) Может и не сложно, но за 3 года никто так и не написал почемуто... Ладно, попробую исходники эксперту по плюсам послать, может и найдет чего оптимизировать...
bambr1975; +1 Ответить
140. Magister 134 31.03.12 02:52 Сейчас в теме
Нашел я свою программу, чуть доделал. Получилось быстро :)
Ну вот например:
УТП для Украины, конфигурация поставщика.
V8Unpack: 59 секунд
Мой парсер: 18 секунд.
Как вам?
Файлик прикрепляю.

Программе можно передать параметром файл .cf, она его распакует перед открытием формы.
Прикрепленные файлы:
showpack.zip
bambr1975; +1 Ответить
141. bambr1975 877 31.03.12 13:30 Сейчас в теме
(140) Magister, спасибо за доверие! Заготовка очень многообещающая.
Скорость распаковки, правда показалось немного нестабильной и есть проблемы при распаковке форм.
Например, при сравнении результатов распаковки V8Reader-а и Вашей программмы, видны такие проблемы:

Причем они далеко не единичны:

На счет
Потому что никому не нужно было.
- зря вы так...
Главное - начать...
142. Magister 134 31.03.12 13:50 Сейчас в теме
(141) Скорость распаковки может быть нестабильной в зависимости от ОС. У меня используется отображение файлов в память, соответственно скорость тут зависит во многом от количества свободной памяти и состояния дискового кэша.
По поводу проблем - можете дать тестовый пример?

А на счет
- зря вы так...
Главное - начать...

Тут мне кажется, что просто не было нормального применения распаковке - соответственно, зачем делать?
Теперь вот есть ваша разработка, уже практический смысл появился :)
143. Magister 134 31.03.12 14:07 Сейчас в теме
(141) Хм, сам уже нашел проблемную форму. Буду разбираться.
144. pumbaE 31.03.12 14:17 Сейчас в теме
(143) Magister, причем по логам вроде как форму находит:
- file form, created 19.06.2011 21:54:46, modified 19.06.2011 21:54:46
145. Magister 134 31.03.12 20:26 Сейчас в теме
(144) Видел. Программа находит, но не может распаковать. Похоже где-то с адресами ошибся при сборке данных по блокам.
Найду время, поправлю...
151. Magister 134 03.04.12 00:38 Сейчас в теме
(144)
Вот поправил распаковку.
Также по кнопке "Analyze" сделал вывод и составных объектов тоже (можно развернуть, например форму - внутри будет form и module).
Прикрепленные файлы:
showpack.zip
bambr1975; +1 Ответить
152. bambr1975 877 03.04.12 09:50 Сейчас в теме
(151) Magister, с очевидной проблемой Вы справились (kDiff это подтверждает). Но заявленных Вами 18 секунд распаковки УПП мне, к сожалению, зарегистрировать не удалось (см. скриншот). УТП у меня, к сожалению, нет - но и УТ Вашим просмотрщиком распаковывается дольше, чем вы утверждаете...
Прикрепленные файлы:
153. Magister 134 03.04.12 11:22 Сейчас в теме
(152) А сравните с V8Unpack.
18 секунд на УТП - это второй запуск, когда сам .cf уже закеширован Windows.
У меня на ноуте сейчас получается, что ограничивающим фактором является скорость дисковой подсистемы, а не процессора.
А про 18 секунд на УТ я не утверждал, т.к. у меня её просто нет. Ну и скорость Вашего компьютера мне тоже неизвестна.
---
Вобщем, сравните с V8Unpack.
216. yandextesting 148 16.11.12 15:31 Сейчас в теме
В каком-то редком случае (локализовать пока не смог, т.к. при подключении конфигуратора для отладки и установке точки останова на указанной строке наблюдается "висяк" 1С:Предприятия после запуска сравнения прав, а как только конфигуратор закрывается, снова вываливается та же ошибка; это наблюдается только для одной роли) при сравнении прав в режиме сравнения двух конфигураций выдает ошибку:

"{Форма.ФормаДляРолей.Форма(153)}: Ошибка при вызове метода контекста (НайтиСтроки)
МассивНеопределенныхСтрокВторой = ТаблицаПрав.НайтиСтроки(СтруктураОтбора);
по причине:
Неверное имя колонки
"
217. bambr1975 877 17.11.12 13:06 Сейчас в теме
(216) yandextesting, скорее всего Вы пользовались произвольным сравнением ролей. Критичная ошибка произвольного сравнения ролей исправлена. Попробуйте - сейчас должно все отработать корректно.
218. yandextesting 148 21.11.12 12:51 Сейчас в теме
(217) "висяк" при подключении конфигуратора для отладки и установке точки останова на указанной строке пропал, но сама ошибка осталась. Могу предположить, что это может быть связано с тем, что в конфигурации используется несколько языков, хотя каким боком не знаю. Что успел раскопать (дальше времени нет):
- после выполнения поцедуры ДостроитьТаблицуДаннымиВторойРоли() в ТаблицаПрав добавлены новые колонки с постфиксом "1", но с пустыми значениями, а после выполнения следующего кода колонки с постфиксом "1" удаляются:

ДостроитьТаблицуДаннымиВторойРоли();
		ИндексКолонки = ТаблицаПрав.Колонки.Количество()-1;
		Пока ИндексКолонки <> 0 Цикл
			Итог = Неопределено;
			Для каждого Нр Из ТаблицаПрав Цикл
				Если Нр[ИндексКолонки]<>Неопределено Тогда
					Итог = Истина;
				КонецЕсли;
			КонецЦикла;
			Если Итог = Неопределено И ТаблицаПрав.Колонки[ИндексКолонки].Имя<>"Родитель" и ТаблицаПрав.Колонки[ИндексКолонки].Имя<>"УИ" Тогда
				ТаблицаПрав.Колонки.Удалить(ИндексКолонки);
			КонецЕсли;
			ИндексКолонки = ИндексКолонки-1;
		КонецЦикла;
Показать


соответственно, ошибка потом и вылазит при попытке поиска по несуществующей колонке.
219. bambr1975 877 21.11.12 17:27 Сейчас в теме
(218) yandextesting, что-то действительно не все в прошлый раз удалось поправить - в текст ошибки, конечно, надо было повнимательнее вчитаться. Исправления в очередной раз внесены. Очень надеюсь, что на этот раз - не застрянет. =)
220. yandextesting 148 22.11.12 11:39 Сейчас в теме
(219) запускал для тестирования версию, которую вы подготовили для меня: ошибка-то исчезла, НО результат сравнения совершенно неверный, см. прикрепленные скрины:
Прикрепленные файлы:
221. yandextesting 148 22.11.12 11:51 Сейчас в теме
(219) Собственно говоря, попытался открыть для просмотра прав эту же роль без сравнения, выдается та же ошибка (см. скрин).
Прикрепленные файлы:
222. yandextesting 148 22.11.12 11:56 Сейчас в теме
(219) Содержимое распакованных файлов по этой роли:

Объект:

{1,
{6,
{0,
{0,36,87090b31-2cd0-4b45-8b24-efdb2383b1a2},"ПолныеПрава",
{1,"ru","Полные права"},""},0,0,1},0}


Права:

{8,
{0},
{0},1,1,1,4294967295}
Прикрепленные файлы:
223. bambr1975 877 22.11.12 12:13 Сейчас в теме
(222) yandextesting, тот внутренний формат, который Вы привели в пример - дает галочка "Устанавливать права для новых объектов" для ролей, у которых по умолчанию запущено действие "Установить все права". Я знаю об этой особенности. Это ограничение моей обработки, потому что она все-таки разбирает внутреннее представление, а здесь разбирать нечего. Видимо для таких ролей надо устраивать какой-то особый разбор. В любом случае, спасибо за Ваши комментарии. Буду работать в этом направлении.
154. Magister 134 03.04.12 11:36 Сейчас в теме
(152) И да, я про УПП ничего не говорил. Только про УТП для Украины - а она намного меньше, чем УПП.
146. Alex353 6 01.04.12 20:04 Сейчас в теме
Обработка не анализирует цвета текста и цвета фона элементов и не показывает в различиях.
147. bambr1975 877 01.04.12 20:13 Сейчас в теме
(146) Alex353, а по моему, анализирует - и сравнить можно...(см. скриншот) Или Вам важно получить отличия в каком-то другом виде?
Прикрепленные файлы:
148. Alex353 6 02.04.12 12:06 Сейчас в теме
(147) Да прошу прощения, на это окно не обратил внимания. Я имел ввиду в сравнении кода генерации форм нет различий, поэтому я руками добавлял строки следующего вида:
Надпись.ЦветТекста = Новый Цвет(153, 51, 0);
149. bambr1975 877 02.04.12 15:22 Сейчас в теме
(148) Alex353, а куда и зачем Вы их добавляли?
P.S. Моя обработка имеет крайне отдаленное отношение к задаче декомпиляции форм - так что автоматизированное получение этих строк - это не ко мне...
Задачи анализа и сравнения - это да, мое. А всяческая автоматизация получения кода чего либо... приходится довольствоваться заимствованным...:)
150. Alex353 6 02.04.12 16:19 Сейчас в теме
(149) я прочитал статью http://infostart.ru/public/67729/ и решил опробовать на деле рекомендации по декомпиляции формы и переносу реквизитов формы путем генерации элементов в коде. Я сравнивал формы типовой и модифицированной конфигурации для того чтобы добавленные мной реквизиты выводить на форму кодом, так поддерживать конфигурацию будет проще при обновлениях. В статье упоминается другая обработка, но я понял, что ваша основана на ней и подобных. Я пересмотрел несколько обработок и все они не могут выполнить свою задачу в полном объеме. Мне попалась только одна обработка декомпиляции которая видит свойство Данные объекта ПолеВвода, но в любом случае объем ручной работы не так велик.
155. pumbaE 03.04.12 12:55 Сейчас в теме
УТП - 78 секунд, по ощущениям быстрее чем unpack, но замеров точных не производил.
18 секунд на УТП - это второй запуск, когда сам .cf уже закеширован Windows.
Если честно непонятно зачем второй раз запускать, если необходимо распаковать и проанализировать результат... То, что второй раз 18 сек конечно хорошо, только я не могу придумать применения, для второго раза.

можно попросить вас сделать консольный вариант, хотелось бы на реальных задачах попробовать - встроить в v8Reader 2 варианта распаковки?

Правильно ли я понимаю, что у вас используется in-memory технология, и если вдруг при распаковке большой конфигурации зайдем в своп, то скорость уменьшиться значительно?
156. Magister 134 03.04.12 14:41 Сейчас в теме
(155) Именно консольную? Зачем? Может хватит сделать просто "тихий" режим, без открытия вообще любых окон?
Второй раз - ну, это я просто тестировал собвственно распаковку, потому запускал несколько раз. А потом уже проводил сравнение - соответственно, в кэше данные остались.

Правильно ли я понимаю, что у вас используется in-memory технология, и если вдруг при распаковке большой конфигурации зайдем в своп, то скорость уменьшиться значительно?

Сейчас память используется далеко не оптимально. Это ведь черновик :)
На данный момент программа держит в памяти упакованные данные и распакованные данные одновременно, до момента закрытия программы. Для самой распаковки это не нужно - просто так было быстрее сделать.
В нормальном варианте память будет использоваться не сильно - думаю, не более размера .cf, умноженного на два.
157. pumbaE 04.04.12 18:28 Сейчас в теме
(156) Magister,
Может хватит сделать просто "тихий" режим, без открытия вообще любых окон?
давайте так, но при этом тогда хотелось бы еще и указывать в параметрах командной строки куда и в какую папку распаковывать...

Хотелось бы, конечно иметь альтернативу для v8unpack.
158. Magister 134 06.04.12 14:03 Сейчас в теме
(157)
Т.к. программа приняла более-менее нормальный вид и функциональность, выложил публикацией: http://infostart.ru/public/124213/
bambr1975; +1 Ответить
159. bambr1975 877 28.04.12 08:11 Сейчас в теме
Обновлено.Исправлены ошибки.
Специально для сравнения форм в проекте "Снегопат" - snegopat.ru по инициативе pumbaE добавлен новый режим выбора объекта "Режим ssf" - можно сравнить файлы форм снегопата.
В навигаторе файлов появилась колонка "Размер", с возможностью сортировки по ней (для определения наиболее "массивных" составляющих конфигурации).
Добавлено "кэширование" сформированных деревьев метаданных (при включенном "кэшировании" дерево файла конфигурации, которую уже хотя бы раз разбирали - будет построено из кэша).
Панель "Свойства" отделена от формы "Разбор элементов форм" - вызывается двойным щелчком по дереву элементов формы
В панели "Свойства" выводятся и свойства, и привязки, и обработчики событий элемента, причем в режиме сравнения - щелчок по строке различающихся действий выводит окно сравнения текстов-обработчиков.
На вкладке "Модуль" формы "Разбор элементов формы" - появилось табличное поле структурных различий процедур и функций модуля. Аналогично - двойным щелчком выводится окно сравнения их текстов.
Новая функция - "Декомпиляция изменений" - тестовый вариант.
Значительно увеличилась скорость разбора форм!!!!!
161. AlexO 135 04.05.12 15:16 Сейчас в теме
(159)
так и не увидел описание функции "Декомпиляция изменений"....
:(
162. bambr1975 877 04.05.12 15:28 Сейчас в теме
(161) AlexO, ну... вас порядок действий интересует? Или смысл этой функции вообще? Если смысл понятен - то и результат тоже будет понятен. Гиперссылка вызова этой функции вроде не спрятана - находится в строке навигации по изменениям элементов форм (естественно, будет видна только в режиме сравнения). Само сравнение форм можно вызвать либо из строки дерева сравнения объектов метаданных, либо - в режиме ssf - открывается по умолчанию. Надеюсь, если Вы попробуете, Вам все станет понятнее...
164. AlexO 135 04.05.12 17:07 Сейчас в теме
(162)
да я как бы сам термин не до конца понимаю - и отсюда вопрос, для чего эта функция? :)
Т.е. это так названо визуализация отличий форм при сравнении?
167. pumbaE 04.05.12 17:10 Сейчас в теме
(164) AlexO, нет вы можете не добавлять на форму реквизиты, исправлять привязки а просто скопировать код и вставить его как вызов отдельной процедурой в "ПриОткрыти", по факту изменения в форме у вас будут только в модуле формы.
168. AlexO 135 04.05.12 17:13 Сейчас в теме
(167) pumbaE,
а, т.е. обработка умеет "читать" не только ЭУ, но и научилась пониамть код в ПриОткрытии формы, откуда потом "воспроизводит" программные ЭУ этой формы? Или снова не то?
175. bambr1975 877 05.05.12 10:10 Сейчас в теме
(164),(171) AlexO,
да я как бы сам термин не до конца понимаю - и отсюда вопрос, для чего эта функция? :)

Термин "Декомпиляция форм" был придуман не мной, как и сам алгоритм декомпиляции форм вообще... Источники использованного алгоритма - в описании указаны. Могу, специально для Вас их продублировать (Декомпилятор форм, Декомпиляция и анализ форм с декомпиляцией кода формы , Декомпиляция элементов формы для 8.2 для обычных форм (не управляемых)).
Функция непосредственно самой декомпиляции (в виде получения программного кода изменений и в виде визуализации анализируемой формы)используется в обработке только как бонус, - меня, все-таки, больше интересовал именно АНАЛИЗ и СРАВНЕНИЕ элементов, реквизитов и модулей форм - а для анализа и сравнения использовалась идея деструктивного анализа форм ( теоретическая база , Деструктивный анализ) и идея получения списка реквизитов форм и определения ее основного реквизита (Получение массива имен реквизитов обычной формы и имя ее основного реквизита).
Если Вам необходимо ПРОАНАЛИЗИРОВАТЬ изменение состава и свойств элементов двух форм, - то текст, сформированный функцией "Декомпилировать изменения" является неким "отчетом о сравнении", которому, при желании, можно найти практическое применение (как уже предлагалось в (167)).
Т.е. это так названо визуализация отличий форм при сравнении?

Визуализация формы действительно получается путем программного добавления проанализированных элементов на форму-пустышку. Но "Декомпиляция изменений" - это программный код только измененных свойств элементов двух форм (сам сформированный текст изменений разбит на четыре блока: "Изменения свойств самой формы" - ширины, высоты и заголовка, "Удаление элементов форм", "Добавление элементов форм", "Изменение элементов форм"). Посмотрите дерево сравнения элементов форм - там видно, какие элементы старой формы в новой не присутствуют (удалены), какие элементы появились в новой форме, но их не было в старой (добавлены), а какие элементы старой формы изменили свои свойства (изменены).
а, т.е. обработка умеет "читать" не только ЭУ, но и научилась пониамть код в ПриОткрытии формы, откуда потом "воспроизводит" программные ЭУ этой формы?

ну, т.е. все-таки обработка сравнивает две формы по методу "реальная форма + программные элементы" ))

Обработка видит форму такой, какой видит ее конфигуратор (в конфигураторе в режиме просмотра формы никаких "программных элементов" на форме нет). Сравниваются представления форм, такими, какими их видит конфигуратор.
P.S. V8Reader - это обработка для анализа и сравнения, инструмент исследователя, там четко разделены ЭЛЕМЕНТЫ формы, МОДУЛЬ формы и РЕКВИЗИТЫ формы - смешивать все в кучу и искажать смысл, не сделав попытку самому разобраться - все-таки неправильно.
176. AlexO 135 05.05.12 16:30 Сейчас в теме
(175)
я успешно пользуюсь декомпиляцией форм, но смысл (или построение фразы-термина) "декомпиляция изменений" (декомпиляция - "вытаскивание" в обратку визуальных ЭУ как кода, а "декомпиляция изменений" - вытаскивание визуальных изменений как кода?) как-то не укладывается.
Т.е. вы получаете этой функцией отчет (в виде кода) об изменениях визуальных ЭУ при сравнении двух форм? Теперь правильно?
177. bambr1975 877 05.05.12 16:46 Сейчас в теме
(176) AlexO, функция "Декомпиляция изменений" выдает отчет - в виде кода, поместив который в процедуру "ПриОткрытии" в старой форме можно добиться ее полного соответствия новой форме по части статических (не добавленных программно) ЭУ (анализируются свойства, привязки и добавленные/удаленные действия). Это правильно.
178. AlexO 135 05.05.12 17:19 Сейчас в теме
(177)
вот теперь все понятно, спасибо ))
160. slavich 7 04.05.12 14:05 Сейчас в теме
Плюс и только плюс, жалею только одно, что не видел эту обработку два месяца назад, обновлял конфу, очень сильно переписанную, но хотя хоть как нужно еще 4 обновления накатить, так что +++++.
163. Magister 134 04.05.12 16:01 Сейчас в теме
"Режим ssf" - можно сравнить файлы форм снегопата.

А что за ssf такой? Я сходу не нашел нигде. Дайте, пожалуйста, ссылочку почитать.
165. pumbaE 04.05.12 17:08 Сейчас в теме
(163) Magister, это файлы форм для скриптов снегопата , там такое же внутреннее представление формы, только без отдельного файла заголовка.
170. Magister 134 04.05.12 17:24 Сейчас в теме
(165) Спасибо, понял.
(169) Реквизиты формы все равно не добавляются, так что только модулем не всегда получится обойтись. Или нашли уже способ?
172. pumbaE 04.05.12 17:53 Сейчас в теме
(170) Magister, обходной способ: для частного случая, при использовании общих реквизитов, общий реквизит неявно добавляется в форму.

p.s.: личный совет снегопат стоит своих денег.
173. AlexO 135 04.05.12 17:53 Сейчас в теме
(170) Magister,
Реквизиты формы все равно не добавляются

я думаю, мы с вами не до конца понимаем, о чем речь - поэтому я и прошу прозрачно разъяснить, из каких соображений появилась то-то или то-то - ведь не все думали именно в том же русле, что и автор обработки :)
166. AlexO 135 04.05.12 17:08 Сейчас в теме
(163) Magister,
видимо, ssf - это формат скриптов для Снегопата...
169. pumbaE 04.05.12 17:19 Сейчас в теме
нет, у вас есть различия в формах, в теории эти различия можно программно сделать, т.е. есть типовая форма и добавленный какой либо элемент на форму вами или исправленный (представление), т.к. формы не часто меняются, то с помощью данного инструмента вы можете сформировать код для программного добавления/изменения элементов формы и вручную прописать в его (куда вы его пропишите уже от вас зависит). При следующем обновлении конфигурации, если форма не изменялась то и вам не надо будет никаких изменений вносить в форму, модуль формы, конечно будет изменен, но изменения модуля легче понять, чем визуально искать изменения в представлении формы.
171. AlexO 135 04.05.12 17:51 Сейчас в теме
(169) pumbaE,
если форма не изменялась то и вам не надо будет никаких изменений вносить в форму, модуль формы, конечно будет изменен, но изменения модуля легче понять, чем визуально искать изменения в представлении формы.

ну, т.е. все-таки обработка сравнивает две формы по методу "реальная форма + программные элементы" ))
Объясняю, почему пытаюсь прозрачно все уяснить.
Андрей пишет для себя, и понимает, зачем ему нужно то или то-то, но в описании не всегда все есть - а многие даже возможность того или иного действия над формами не обдумывали, поэтому и не ясно, что когда есть некая функция - а для чего она, собственно, реализована в обработке-то? ))
174. pumbaE 04.05.12 18:12 Сейчас в теме
AlexO, код формируется для реальной формы, без учета программного добавления элементов в форму. (мы то читаем cf, epf и т.д.).
179. rybusha 98 10.05.12 11:35 Сейчас в теме
Очень понравилось.Но объясните ,для тех кто в танке."Различаются тлько тексты представления форм"-это что.Показывает для не изменненых объектов
180. bambr1975 877 10.05.12 11:51 Сейчас в теме
(179) rybusha, "Отличаются только представления форм" - это гиперссылка, если на нее нажать, станет видно что на физическом уровне файлы форм все-таки различны (изменены некоторые идентификаторы свойств элементов и пр.). По каким причинам форма может измениться таким образом я не знаю... Спонтанно такие изменения не происходят - возможно, это может произойти при реструктуризации таблиц или при работе с буфером обмена. Точно не скажу.
181. пользователь 16.05.12 09:30
Сообщение было скрыто модератором.
...
183. lion-killer 23 24.05.12 13:30 Сейчас в теме
А где же структурное сравнение модулей объектов? Только в модулях форм нашел.
185. bambr1975 877 30.06.12 10:46 Сейчас в теме
Добавлена новая функциональность - анализ и сравнение ролей и ограничений доступа.
За основу формата вывода взята публикация Отчет по системе прав для 8.2 на СКД от Zigfridish
В качестве быстрых отборов при сравнении ролей можно отбирать объекты с измененными правами, объекты с измененными ограничениями доступа. Также обработка позволяет сравнивать изменения в шаблонах ролей и в ограничениях доступа.
186. soulsteps 73 30.06.12 13:31 Сейчас в теме
Большое спасибо! Безупречная обработка!
187. CheBurator 3119 01.07.12 12:57 Сейчас в теме
188. ShootNICK 13 06.07.12 15:45 Сейчас в теме
Прикольная штучка. Подскажите - как включить (если есть) просто режим сравнения печатных форм. т.е. 2 mxl (не в обработках а standalone)
189. bambr1975 877 06.07.12 16:07 Сейчас в теме
(188) ShootNICK, в режиме Предприятие и Конфигуратор в меню Файл есть пункт "Сравнить файлы". Там в поле "Как" можно выбрать вид сравнения "Табличный документ" и сравнивать таким образом 2 mxl. А программно это достигается путем использования объекта встроенного языка "СравнениеФайлов", установив свойство "СпособСравнения" этого объекта в значение СпособСравненияФайлов.ТабличныйДокумент
190. ShootNICK 13 06.07.12 16:10 Сейчас в теме
(189) чОрт и точно =) позор на седины.
Оставьте свое сообщение