Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как проверить содержат ли регистры накопления регистратор конкретного документа?          
Constantus Подменю пользователя
сообщение 05.12.17, 7:29
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Пытаюсь запретить передачу в подчиненный узел всех документов Реализации и принадлежащие им Регистры накопления в
процедуре ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза) ПланаОбмена

Если саму реализацию можно запретить кодом

    Если ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда 
        ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    Иначе
        ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
    КонецЕсли;


То как запретить отправку РН с этими Реализациями никак не могу поймать мысль...

В "ЭлементДанных" входят все зарегистрированные для отправки данные, в том числе и все РН, принадлежащие Реализации и не принадлежащие...

Как правильно проверить "ЭлементыДанных" на то, что это РН и в этом РН проверить есть ли там Регистратор "Реализация"?

Constantus Подменю пользователя
сообщение 05.12.17, 9:11
Сообщение #2

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Вот, изобрел велосипед:

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


Если делаю, например "ДокументОбъект.РеализацияТоваровУслуг", то код работает, ни документов, ни РН не переносит... Если работаю с Заказами, а там имеется регистр накопления, то выдает ошибку:
Ошибка при выполнении обработчика - 'ПриОтправкеДанныхПодчиненному': {ПланОбмена.Полный.МодульОбъекта(107)}: Поле объекта не обнаружено (Регистратор)


Строка 107 это:

Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) И
ТипЗнч(ЭлементДанных.Отбор.Регистратор.Значение) = Тип("ДокументСсылка.ЗаказПокупателя")


Т.е., похоже, что к "Регистратору" регистра сведений нужно обратиться как-то по-другому...

Как поступить с Регистром сведений?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 17:58
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!