Вход | Регистрация
 
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 или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует