|
КД 2.1 ВыгрузитьПоПравилу и вернуть в ПКС созданный объект | ☑ | ||
---|---|---|---|---|
0
Marik1274
14.05.18
✎
15:36
|
Источник - КА 2
Приемник - ERP 2.4 Создаю документ ввод остатков. В нем есть ТЧ "РасчетыСПартнерами". В ТЧ есть реквизит "ДокументРасчетов", по факту это документ "ПервичныйДокумент". В ПКС для Первичного документа использую "ВыгрузитьПоПравилу" ВходящиеДанные = Новый Структура; ВходящиеДанные.Вставить("Валюта", Параметры.Валюта); ВходящиеДанные.Вставить("ДатаВходящегоДокумента", Параметры.Дата); ВходящиеДанные.Вставить("Контрагент", ОбъектКоллекции.Контрагент); ВходящиеДанные.Вставить("Договор", ОбъектКоллекции.ОбъектРасчетов); ВходящиеДанные.Вставить("Организация", Параметры.Организация); ВходящиеДанные.Вставить("Партнер", ОбъектКоллекции.Контрагент.Партнер); ВходящиеДанные.Вставить("Подразделение", Параметры.Подразделение_Структура); ВходящиеДанные.Вставить("ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов); ВходящиеДанные.Вставить("СуммаДокумента", ОбъектКоллекции.Сумма); ВходящиеДанные.Вставить("СуммаРегл", ОбъектКоллекции.Сумма); ВходящиеДанные.Вставить("Дата", Параметры.Дата); ВходящиеДанные.Вставить("ПометкаУдаления", Значение = Ложь); ВходящиеДанные.Вставить("Проведен", Значение = Истина); ВходящиеДанные.Вставить("НомерВходящегоДокумента", "б/н"); ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПервичныйДок_ОплатаПоставщику"); Документ успешно создается, но как мне вернуть в ПКС созданный Объект и указать его как значение для данного ПКС? Значение = ????? |
|||
1
azt-yur
14.05.18
✎
16:05
|
Я так понял в ПКО ПервичныйДок_ОплатаПоставщику усе свойства получаются из входящих данных.
Поменяй ВходящиеДанные на ИсходящиеДанные установи в ПКС правило ПервичныйДок_ОплатаПоставщику и убери вот это: ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПервичныйДок_ОплатаПоставщику"); и так перенесется, если в источнике оно заполнено, если нет то укажи еще Значение = 1; |
|||
2
Marik1274
14.05.18
✎
16:29
|
Не поехали..
Проблема в том что ТЧ "РасчетыСПартнерами" я заполняю в ПКГС через КоллекциюОбъектов. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто2 КАК Договор, | ХозрасчетныйОстатки.Субконто1 КАК Контрагент, | ХозрасчетныйОстатки.Субконто2 КАК ОбъектРасчетов, | ХозрасчетныйОстатки.Субконто1.Партнер КАК Партнер, | ХозрасчетныйОстатки.СуммаОстаток КАК Сумма, //| """" КАК ДокументРасчетов, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаРегл, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаУпр |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаНач, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамВыданным), , ) КАК ХозрасчетныйОстатки | |УПОРЯДОЧИТЬ ПО | Контрагент, | Договор, | ОбъектРасчетов"; Запрос.УстановитьПараметр("ДатаНач", Параметры.Дата); КоллекцияОбъектов = Запрос.Выполнить().Выгрузить(); Но если я не передам "ДокументРасчетов" в КоллекциюОбъектов, тогда: Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(3073)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки ПВД = ВводОстатков_ОплатаПоставщику Обработчик = ПередОбработкойВыгрузкиДанных ОписаниеОшибки = Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника) ПКО = ВводОстатков_ОплатаПоставщику (:) ПКС = 6 (--> ДокументРасчетов) Объект = (Не определено) СвойствоПриемника = ДокументРасчетов (ДокументСсылка.ПервичныйДокумент) ОписаниеОшибки = Поле объекта не обнаружено (ДокументРасчетов) ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9455) КодСообщения = 17 ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1329) КодСообщения = 31 |
|||
3
Marik1274
14.05.18
✎
16:30
|
Если же я использую:
| """" КАК ДокументРасчетов, То документы не выгружаются. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |