Порядок обновления ПМ
Универсальный модуль Диадока работает как связка двух внешних обработок для 1С: основного модуля (общая часть для всех клиентов) и подключаемого модуля — ПМ (часто пишется индивидуально под каждого клиента).
Иногда изменения в основном модуле или в структуре хранения данных приводят к тому, что подключаемый модуль не будет работать при обновлении основного модуля.
Чтобы информировать пользователя о том, что обновление основного модуля приведет к необходимости отредактировать код подключаемого модуля, используется следующий способ:
- Введено понятие «Версия API основного модуля». Это число. Основной модуль имеет «прошитый» в него номер версии API. Такой же номер версии API должен быть прошит в ПМ. Версия API на 15.06.2017 равна 1.
- Номер версии API хранится в функции:
Для основного модуля — функция «ЭДО_ТребуемаяВерсияAPIПодключаемогоМодуля()».
Для ПМ — экспортная функция «ЭДО_ВерсияAPIПодключаемогоМодуля()». - Если подключаемый модуль не содержит экспортную функцию «ЭДО_ВерсияAPIПодключаемогоМодуля()», то он по умолчанию считается несовместимым со всеми версиями основного модуля, начиная с 1.0.0. Специалист отдела внедрения либо IT-специалист клиента должен провести ревизию кода ПМ и принять решение о его работоспособности с новой версией основного модуля. Это рекомендуется делать на копии базы. Для этого необходимо в ПМ добавить следующий код:
Функция ЭДО_ВерсияAPIПодключаемогоМодуля() Экспорт Возврат 1; //либо другая актуальная версия API КонецФункции
- После чего протестировать работу связки основного модуля и ПМ на копии базы.
- В случае, если новый релиз основного модуля содержит изменения, потенциально приводящие к неработоспособности старых версий ПМ, разработчики увеличивают номер версии API основного модуля на 1. При запуске клиентом новой версии основного модуля ему будет выдано примерно такое предупреждение с ссылкой на текущую страницу:
Изменения, которые необходимо внести в код подключаемых модулей, НЕ имеющих версии API (т.е. настроенных до 15.06.2017)
Для версии API 1:
- Получение текста запросов для построения списка документов на отправку (событие «ПолучитьТекстЗапросаДляСпискаПакетовНаОтправку»).
Нажмите, чтоб раскрыть инструкцию подробнее
Необходимо соединения вида:
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Диадок_ПакетыДокументов КАК Диадок_ПакетыДокументов ПО (СчетФактураВыданный.Ссылка = (ВЫРАЗИТЬ(Диадок_ПакетыДокументов.Документ КАК Документ.СчетФактураВыданный)))
заменить на
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Диадок_ПакетыДокументов КАК Диадок_ПакетыДокументов ПО СчетФактураВыданный.Ссылка = Диадок_ПакетыДокументов.Документ И (ТИПЗНАЧЕНИЯ(Диадок_ПакетыДокументов.Документ) = ТИП(Документ.СчетФактураВыданный))
Это изменение не обязательно, но рекомендовано для ускорения работы модуля.
В этих же запросах условие вида
ГДЕ ЕСТЬNULL(Диадок_ПакетыДокументов.Метка, "Не отправлен") = "Не отправлен"
заменить на
ГДЕ Диадок_ПакетыДокументов.Ссылка ЕСТЬ NULL
Поскольку новые версии модуля самостоятельно показывают документы, не отправленные по каким-либо причинам
- Изменения в обработке входящих документов (актуально для торговых сетей).
Нажмите, чтоб раскрыть инструкцию подробнее
В версии 1.0.0 в справочник «Диадок_Документы» были добавлены новые реквизиты, которые ранее хранились в табличной части «ДополнительныеРеквизиты» этого справочника.
Старое имя реквизита (располагался в табличной части)
Новое имя реквизита (располагается в основной таблице справочника)
ОшибкиПроверкиТекст
ТекстОшибки
ОтветХранилище
ХранилищеОтвета
ДействиеВ1С
ТребуемоеДействиеВ1С
ДействиеВДД
ТребуемоеДействиеВДД
АнализПроведен
АнализПроведен
Основной модуль пишет результаты анализа входящих документов (результат события «ПровестиАнализДокумента») только в новые реквизиты!
Надо учесть это в текстах запросов:
ИЗ Справочник.Диадок_Документы КАК Диадок_Документ ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Диадок_Документы.ДополнительныеРеквизиты КАК ДопРеквизиты_АнализПроведен ПО (ДопРеквизиты_АнализПроведен.Ссылка = Диадок_Документы.Ссылка) И (ДопРеквизиты_АнализПроведен.ИмяРеквизита = ""АнализПроведен"")
При установке данных значений:
ОсновнойМодуль.ЭДО_СправочникМенеджер_УстановитьЗначениеДопРеквизита(ДокументДД, "ОшибкиПроверкиТекст", "");
И при поштучном чтении данных значений:
ТекстОшибкиСтрокой = ОсновнойМодуль.ЭДО_СправочникМенеджер_ЗначениеДопРеквизита(ДокументДД, "ОшибкиПроверкиТекст");
- Для входящих документов теперь заполняется связанный справочник «Диадок_ПакетыДокументов».
Нажмите, чтоб раскрыть инструкцию подробнее
Его можно использовать в работе. Для документов, загруженных старыми версиями модуля, при первом запуске будет предложено выполнить конвертацию, в ходе которой этот справочник будет заполнен.