Организация ООО «ВостокСибГазСтрой» имеет Бухгалтерию ПРОФ с изменённой конфигурацией. Требуется отработать методику обновления, сохраняющую изменения.
От клиента получена конфигурация конфигурация 2.0.44.10 (файл 1Cv8_20130422.dt).
Создана база:
название - Бухгалтерия предприятия (демо) ВостокСибГазСтрой 1
расположение - C:\Users\ivanov_is\Documents\1C\DemoAccounting1
Распакуем в неё архив и произведём сравнение с типовой конфигурацией, чтобы оценить объём изменений. Сравниваем так: первая - Основная, Вторая - Конфигурация поставщика:
Продолжительность сравнения - 5:54.
Выведем в краткие табличные отчёты изменённые, удалённые и добавленные метаданные. (Чтобы сохранить в графическом виде, сначала нужно сохранить отчёт в EXCEL, затем с помощью SnagIt в режиме ScrollingRegion сохранить в графическом формате.)
Изменённые:
Удалённые, т.е. такие, которых нет в базе 2 (типовой), но есть в базе 1 (пользовательской):
Добавленные, т.е. такие, которые есть в базе 2 (типовой), но нет в базе 1 (пользовательской):
При данном направлении сравнения -- 1 пользовательская, 2 типовая -- наименования следует воспринимать наоборот. Так, коричневым цветом показаны реквизиты, добавленные в пользовательскую конфигурацию. Удалённых из типовой -- нет. То есть пользовательская конфигурация дорабатывалась методом добавления и изменения, но не удаления типовых метаданных.
Мы видим, что в пользовательской конфигурации добавлены добавлены следующие метаданные:
- -->Интерфейс.Склад
- -->Роль.ПолныеПраваСклад
- -->ОбщаяФорма.ФормаВыбораКодаВидаТранспортногоСредства
- -->ОбщаяФорма.ФормаВыбораКодаКатегорииЗемель
- -->ОбщаяФорма.ФормаВыбораКодаЛьготы
- -->Отчет.СведенияОРасходахНаПроизводствоИПродажуПродукции
- -->Обработка.ЗагрузкаПравилКонвертацииОбъектов
- -->Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз
Становится понятной логика действия при изменении метаданных. В обработке ПомощникСозданияОбменаДанными есть два реквизита: КодПредопределенногоУзла и КодПредопределенногоУзла1. Возможно, здесь имеет место простая подмена. Свойства у обоих реквизитов одинаковые, так что логика в данном случае не просматривается. Ссылок на реквизит КодПредопределенногоУзла1 ни в тексте модулей, ни где бы то ни было - нет.
Аналогично с реквизитами
ИспользоватьВременныйКаталогДляОтправкиИПриемаСообщений
ЗадаватьВопросПриЗагрузкеДанныхПриОткрытииОбработки
Установлено, что роль ПолныеПраваСклад назначены пользователю Склад (Потапов В.И.). Пользователь Потапов вводил складские документы с июня 2011 года по октябрь 2012 года.
Поведение трёх реквизитов, имеющих суффикс "1" интересно. В типовой конфигурации им соответствует реквизит без "1". Очевидно, сопоставление происходит не по имени, а по некоторому внутреннему идентификатору.
(Поиск из контекстного меню дат неправильные результаты!)
На реквизит КодПредопределенногоУзла ссылки есть.
На реквизит ИспользоватьВременныйКаталогДляОтправкиИПриемаСообщений ссылки есть.
На реквизит ЗадаватьВопросПриЗагрузкеДанныхПриОткрытииОбработки ссылки есть.
На реквизит КодПредопределенногоУзла1 - ссылок нет
На реквизит ИспользоватьВременныйКаталогДляОтправкиИПриемаСообщений1 - ссылок нет
На реквизит ЗадаватьВопросПриЗагрузкеДанныхПриОткрытииОбработки1 ссылок нет
Да, первоначальное предположение похоже на правду. Программист присвоил реквизитам суффикс "1", не переименовывая их в коде.
Теперь будем одно за другим устанавливать обновления, каждый раз выполняя сравнение пользовательской конфигурации с новой типовой.