Глава 2. Как затащить зайца обратно. )
Если сравнить в конфигураторе две обработки, первую "Выгрузка данных в конфигурацию Бухгалтерия предприятия, ред 1.5" и вторую "Универсальный обмен данными в формате XML", то можно заметить разницу в реквизитах.
В обработке "Универсальный обмен данными в формате XML", с помощью которой мы будем выгружать/загружать полученные правила, нет таких реквизитов как :
1. Организация
2. Склад
3. Подразделение
4. НеЗамещатьСправочникиПриЗагрузке
5. НеЗамещатьДокументыПриЗагрузке
6. ВыгружатьАналитикуПоСкладам
7. ФлагКомментироватьОбработкуОбъектов
8. БазоваяВерсия, которые были в изначальных правилах обмена, в обработке "Выгрузка данных в конфигурацию Бухгалтерия предприятия, ред 1.5" для фильтрации перед выгрузкой. Если нам при выгрузке не нужно накладывать никаких фильтров, то чтобы обработка "Универсальный обмен данными в формате XML" корректно загрузила правила обмена надо из них убрать все ссылки на эти реквизиты. Для этого надо отредактировать правила конвертации в КД 2.0 в справочнике "Конвертации" в тех процедурах, в которых присутствует ссылки на несуществующие реквизиты. Чтобы зайти в эти процедуры, надо открыть справочник "Конвертации" и нажать "изменить" на нужной конвертации.) В моём случае это было в процедурах "Перед выгрузкой объекта", "Перед конвертацией объекта". Я просто закомментировал эти две процедуры, т.к. в них не было ничего кроме как фильтрации перед выгрузкой ... Если вам что-то надо оставить, то надо разбираться в коде и делать соответствующие изменения. Ещё я изменял код в Правилах Конвертации Объектов. Ссылки на отсутствующие реквизиты были в ПКО : Справочник.Контрагенты, Справочник.ДоговорыКонтрагентов, Склады в процедурах "Перед выгрузкой объекта".
ЕСЛИ НАДО ВСЁ-ТАКИ ФИЛЬТРОВАТЬ
При удалении ссылок на вышеперечисленные параметры, у нас пропала возможность, по сравнению с обработкой "Выгрузка данных в конфигурацию Бухгалтерия предприятия, ред 1.5" фильтровать по Организациям, Складам, Подразделениям и накладывать другие фильтры. Но такая возможность есть и в обработке "Универсальный обмен данными в формате XML" . Например можно выгружать данные, установив фильтр по организации:
Вернёмся к изначальным правилам обмена, с которых мы начали, и удалим (закомментируем) все проблемные ссылки, кроме ссылки на реквизит Параметры.Организация. А так же в справочнике "Конвертации" изменим нужные нам правила, зайдя на закладку "Параметры" и добавив параметр с именем "Организация"(Описание параметра "Организация", поставить галочки в реквизитах "При загрузке", "Диалог", "Передавать при выгруке", а так же "Тип значения" - "СправочникСсылка.Организации" и "Правило конвертации" -"Организации"). Внизу в этом же окне есть галочка "Работа с параметрами в формате версии 2.01", её надо поставить. После всего вышесделанного при сохранении правил и загрузке их в конфигурацию УТ 10.2 на закладке "Параметры выгрузки" появится реквизит Организация для заполнения и оставленные нами фильтрации должны фильтровать данные при выгрузке по реквизиту "Организация". По аналогии можно вернуть фильтрацию для других реквизитов.
При переходе с версии БП 1.5 на версию БП 1.6 (это же произошло и с УПП) 1С практически все глобальные модули переделала в НЕ глобальные. ) Поэтому вызов соответствующих функции в старых правилах надо исправить, перед вызовом функции писать модуль, в котором она расположена. Например вызов функций для БП 1.5 , и БП 1.6 :
Так же при переходе изменился вызов функции проверяющей заполнение реквизитов. Была ЗначениеНеЗаполнено(), а аналогом стала Не ЗначениеЗаполнено(). В процедурах "При выгрузке", которые использует УТ 10.2, используется функция ЗначениеНеЗаполнено(), а при загрузке, которые обрабатывает конфигурация БП 1.6, надо использовать Не ЗначениеЗаполнено()
В некоторых документах при переходе с БП 1.5 на БП 1.6 реквизиты табличной части мигрировали в табличную часть, поэтому при загрузке данных надо эту табличную часть заполнить. Например в БП 1.5. документ СФ содержал реквизит "ДокументОснование", при переходе на релиз БП 1.6. этот реквизит остался, но появилась ещё табличная часть "ДокументыОснования". Находим ПКО документа "СчетФактураВыданной" и добавляем в процедуру "ПослеЗагрузки" такие строки :
Объект.ДокументыОснования.Очистить();
Стр = Объект.ДокументыОснования.Добавить();
Стр.ДокументОснование = Объект.ДокументОснование;
Объект.Записать();
Были такие документы, в которых при переходе с БП 1.5 на БП 1.6 удалялся реквизит. Например в моём случае, в документе "Доверенность" в БП 1.5 реквизит "СтруктурнаяЕдиница" ещё присутствовал, а в БП 1.6 его уже в этом документе не было. Чтобы избежать ошибки при загрузке даных, я отключил перенос данного реквизита в конвертации свойств ПКО.
Если вы настраиваете обмен с БП 1.6, в которой ещё не вёлся учёт, то обратите внимание на файл "Совместное использование конфигураций Управление торговлей и Бухгалтерия предприятия.htm" поставляемый вместе с конфигурацией БП и УТ. В нём расписано с чего начать настройку обмена. Но самое главное, что я для себя выделил это :
Заполение регистров сведений в БП : Счета учета расчета с контрагентами, Счета учета номенклатуры и Учетная политика организации. Если эти три регистра не заполнены, то появляются ошибки при загрузке данных в БП из УТ и не заполняются счета учета в документах. Вышеперечисленные регистры заполняются собственноручно в БП 1.6., кто сомневается или не знает какими значениями их заполнять, лучше посоветоваться с бухгалтером. ) В БП 1.6 больше я ничего не заполнял. Вся нужная информация должна перейти из УТ 10.2 при выгрузке, если конечно в УТ всё заполнено верно. )
После исправления всех вышеперечисленных ошибок и первоначальных заполнений, выгружаем исправленные правила в файл и пользуемся ими и обработкой "Универсальный обмен данными в формате XML" для выгрузки/загрузки данных из УТ 10.2 в БП 1.6. Спасибо за внимание.
Я описал основные моменты, с которыми мне пришлось столкнуться при переделывании стандартных правил переноса из УТ 10.2 в БП 1.6. Если есть какие-то замечания, дополнения, буду рад услышать их, тем более если они будут обоснованными ;)