[РЕШЕНО] Регистр сведений ДополнительныеСведения, проблемы при синхронизации УТ 11.1 БП 3.0

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем golovina, 23 авг 2017.

  1. TopicStarter Overlay
    golovina
    Offline

    golovina Опытный в 1С

    Регистрация:
    13 авг 2015
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Всем добрый день!
    Платформа 8.3.8.2054, синхронизация между конфигурациями Управление торговлей 11.1.10.103 и Бухгалтерия предприятия 3.0.51.27. Добавляю в обмен регистр сведений ДополнительныеСведения.
    Попытаюсь задать значение поля Свойство этого регистра в обработчике После загрузки объекта следующим кодом:

    Объект.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проект (Поступление (акты, накладные))");

    Получаю следующую ошибку:

    {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4216)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
    ИмяПКО = ДополнительныеСведенияПроектПоступление
    ТипОбъекта = Регистр сведений набор записей: Дополнительные сведения
    Объект = РегистрСведенийНаборЗаписей.ДополнительныеСведения
    Обработчик = ПослеЗагрузкиОбъекта
    ОписаниеОшибки = Поле объекта не обнаружено (Свойство)
    ПозицияМодуля = (1)
    КСообщенияОбОшибках = 21
    ВызватьИсключение СтрокаСообщенияОбОшибке;

    Я так понимаю через Объект обратиться к записи регистра нельзя.
    Подскажите пожалуйста может кто сталкивался, как задать данное значение правильно.
    Последнее редактирование: 23 авг 2017
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.397
    Симпатии:
    155
    Баллы:
    104
    Объект - это набор записей, а не запись
    golovina нравится это.
  3. TopicStarter Overlay
    golovina
    Offline

    golovina Опытный в 1С

    Регистрация:
    13 авг 2015
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Да, вы правы. Дошла до другой ошибки. Спасибо Дальше попробую сама)
  4. TopicStarter Overlay
    golovina
    Offline

    golovina Опытный в 1С

    Регистрация:
    13 авг 2015
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    В продолжении этой истории... добавляю записи в регистр сведений ДополнительныеСведения в обработчике ПослеЗагрузки самого объекта документа. Значение свойства передаю в параметр Проект. Код следующий:

    // добавляем признак проекта
    Если ПараметрыОбъекта <> Неопределено Тогда
    Если Объект.ЭтоНовый() Тогда
    СсылкаНаОбъект = Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку();
    Объект.УстановитьСсылкуНового(СсылкаНаОбъект);
    Иначе
    СсылкаНаОбъект = Объект.Ссылка;
    КонецЕсли;

    МенеджерЗаписи = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();

    МенеджерЗаписи.Объект = СсылкаНаОбъект;
    МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проект (Поступление (акты, накладные))");
    МенеджерЗаписи.Значение = ПараметрыОбъекта["Проект"];
    МенеджерЗаписи.Записать();
    КонецЕсли;

    Записи регистра создаются корректно, но проверка на заполненность параметра Проект не проходит. Т.е. записи регистра создаются всегда. С условием

    ПараметрыОбъекта["Проект"] <> Неопределено

    результат тот же. Подскажите какое условие поставить, чтобы код выполнялся только когда в значении параметра что-то есть.
  5. TopicStarter Overlay
    golovina
    Offline

    golovina Опытный в 1С

    Регистрация:
    13 авг 2015
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Получилось сделать следующим образом:

    // добавляем признак проекта
    Если ПараметрыОбъекта <> Неопределено Тогда
    Проект = ПараметрыОбъекта["Проект"];
    КонецЕсли;

    Если ЗначениеЗаполнено(Проект) Тогда
    Если Объект.ЭтоНовый() Тогда
    СсылкаНаОбъект = Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку();
    Объект.УстановитьСсылкуНового(СсылкаНаОбъект);
    Иначе
    СсылкаНаОбъект = Объект.Ссылка;
    КонецЕсли;

    МенеджерЗаписи = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();

    МенеджерЗаписи.Объект = СсылкаНаОбъект;
    МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проект (Поступление (акты, накладные))");
    МенеджерЗаписи.Значение = Проект;
    МенеджерЗаписи.Записать();
    КонецЕсли;

Поделиться этой страницей