Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

КД 2.1 ВыгрузитьПоПравилу и вернуть в ПКС созданный объект

КД 2.1 ВыгрузитьПоПравилу и вернуть в ПКС созданный объект
Я
   Marik1274
 
14.05.18 - 15:36
Источник - КА 2 
Приемник - ERP 2.4
Создаю документ ввод остатков. В нем есть ТЧ "РасчетыСПартнерами". В ТЧ есть реквизит "ДокументРасчетов", по факту это документ "ПервичныйДокумент".
В ПКС для Первичного документа использую "ВыгрузитьПоПравилу"

ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Валюта",                    Параметры.Валюта);
ВходящиеДанные.Вставить("ДатаВходящегоДокумента",    Параметры.Дата);
ВходящиеДанные.Вставить("Контрагент",                ОбъектКоллекции.Контрагент);
ВходящиеДанные.Вставить("Договор",                    ОбъектКоллекции.ОбъектРасчетов);
ВходящиеДанные.Вставить("Организация",                Параметры.Организация);
ВходящиеДанные.Вставить("Партнер",                    ОбъектКоллекции.Контрагент.Партнер);
ВходящиеДанные.Вставить("Подразделение",            Параметры.Подразделение_Структура);
ВходящиеДанные.Вставить("ПорядокРасчетов",            Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов);
ВходящиеДанные.Вставить("СуммаДокумента",            ОбъектКоллекции.Сумма);
ВходящиеДанные.Вставить("СуммаРегл",                ОбъектКоллекции.Сумма);
ВходящиеДанные.Вставить("Дата",                    Параметры.Дата);
ВходящиеДанные.Вставить("ПометкаУдаления",            Значение = Ложь);
ВходящиеДанные.Вставить("Проведен",                Значение = Истина);
ВходящиеДанные.Вставить("НомерВходящегоДокумента",    "б/н");

ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПервичныйДок_ОплатаПоставщику");

Документ успешно создается, но как мне вернуть в ПКС созданный Объект и указать его как значение для данного ПКС?

Значение = ?????
 
 
   azt-yur
 
1 - 14.05.18 - 16:05
Я так понял в ПКО ПервичныйДок_ОплатаПоставщику усе свойства получаются из входящих данных.
Поменяй ВходящиеДанные на ИсходящиеДанные установи в ПКС правило ПервичныйДок_ОплатаПоставщику и убери вот это: ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПервичныйДок_ОплатаПоставщику");
и так перенесется, если в источнике оно заполнено, если нет то укажи еще Значение = 1;
   Marik1274
 
2 - 14.05.18 - 16:29
Не поехали..
Проблема в том что ТЧ "РасчетыСПартнерами" я заполняю в ПКГС через КоллекциюОбъектов.
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Субконто2 КАК Договор,
    |    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
    |    ХозрасчетныйОстатки.Субконто2 КАК ОбъектРасчетов,
    |    ХозрасчетныйОстатки.Субконто1.Партнер КАК Партнер,
    |    ХозрасчетныйОстатки.СуммаОстаток КАК Сумма,
    //|    """" КАК ДокументРасчетов,

    |    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаРегл,
    |    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаУпр
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаНач, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамВыданным), , ) КАК ХозрасчетныйОстатки
    |
    |УПОРЯДОЧИТЬ ПО
    |    Контрагент,
    |    Договор,
    |    ОбъектРасчетов";

Запрос.УстановитьПараметр("ДатаНач", Параметры.Дата);

КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();

Но если я не передам "ДокументРасчетов" в КоллекциюОбъектов, тогда:


Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(3073)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД                    =  ВводОстатков_ОплатаПоставщику
    Обработчик             =  ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки         =  Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
    ПКО                    =  ВводОстатков_ОплатаПоставщику  (:)
    ПКС                    =  6  (--> ДокументРасчетов)
    Объект                 =  (Не определено)
    СвойствоПриемника      =  ДокументРасчетов  (ДокументСсылка.ПервичныйДокумент)
    ОписаниеОшибки         =  Поле объекта не обнаружено (ДокументРасчетов)
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455)
    КодСообщения           =  17
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1329)
    КодСообщения           =  31
   Marik1274
 
3 - 14.05.18 - 16:30
Если же я использую:
 |    """" КАК ДокументРасчетов,

То документы не выгружаются.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует