24 февраля 2019 г.

1С [Конвертация] Проверка реквизита (параметра) перед выгрузкой объекта (Организация)

Для выгрузки объектов при помощи КД (для конфигурация на платформе 8.2,8.3), где реквизит удовлетворяет требованиям параметра:

В Конвертация=>Параметры добавляем нужный параметр (Организация), обязательно указываем тип.
В Конвертация=> ПередВыгрузкойОбъекта:


Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда

    Если Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Контрагент <> Объект.Организация) и (ЗначениеЗаполнено(Параметры.Организация)) Тогда

        Отказ = Истина;      

    КонецЕсли;
       
ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда

    Если Параметры.БазоваяВерсия И Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено И (Параметры.Организация <> Объект.Организация) и (ЗначениеЗаполнено(Параметры.Организация))  Тогда

        Отказ = Истина;

    КонецЕсли;

КонецЕсли;

Для проверки заполненности параметра:
В Конвертация=>ПередВыгрузкойДанных:

Если Не ЗначениеЗаполнено(Параметры.Организация) Тогда
 Сообщить("Не указана Организация на вкладке Параметры!");
 Сообщить("Выгрузка остановлена");
 Отказ=Истина;
КонецЕсли;

1С [Конвертация] Комментарий ко всем объектам

Конвертация => ПослеЗагрузкиОбъекта:


ЕстьПолеКомментарий=Неопределено;
СправочникГруппа=Ложь;
ЗаполненоПолеКомментарий="";
Попытка
 ЕстьПолеКомментарий=Объект.Метаданные().Реквизиты.Найти("Комментарий");
Исключение
КонецПопытки;
Попытка
 ЗаполненоПолеКомментарий=Объект.Комментарий;
Исключение
КонецПопытки;
Попытка
 СправочникГруппа=Объект.ЭтоГруппа;
Исключение
КонецПопытки;
Если ЕстьПолеКомментарий <> Неопределено И Не СправочникГруппа И ЗаполненоПолеКомментарий="" Тогда
 Объект.Комментарий=Строка("Загружено из другой базы: "+ТекущаяДата());
КонецЕсли