Имя: Пароль:
1C
1С v8
Выгрузка остатков товара с помощью КД.
0 Румата
 
10.02.17
09:15
Помогите пожалуйста разобраться. Нужно написать выгрузку остатков товаров из УТ 10.3 в БП 2.0. Почитал в инете как это делается и сделал :

1. Создал ПКО. Назвал его ВводНачальныхОстатков. Объект источник - "пусто", объект приемник - ДокументСсылка.ВводНачальныхОстатков.
Добавил реквизиты шапки "Номер" и "Комментарий", добавил табличную часть  МПЗПриобретенные, в ней три реквизита Номенклатура, Количество и Сумма.

2. Создал ПВД, назвал его "ОстаткиПоПартиям" выбрал в нем ПКО - "ВводНачальныхОстатков", способ выборки - Произвольный алгоритм.

Перед обработкой в этом ПВД написал код :

ДатаОстатков = '20161231235959';
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахОстатки.Номенклатура,
                   |    СУММА(ПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК Количество,
                   |    СУММА(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток) КАК Сумма
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаОстатков, Склад.Организация = &НашаФирма) КАК ПартииТоваровНаСкладахОстатки
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПартииТоваровНаСкладахОстатки.Номенклатура";
                  
Запрос.УстановитьПараметр("ДатаОстатков",ДатаОстатков);
Запрос.УстановитьПараметр("НашаФирма",Справочники.Организации.НайтиПоКоду("B00000002"));    
ТТТ = Запрос.Выполнить().Выгрузить();

ВходящиеДанные = Новый ("Структура");
ВходящиеДанные.Вставить("Дата", ДатаОстатков);
ВходящиеДанные.Вставить("МПЗПриобретенные", ТТТ);
ВходящиеДанные.Вставить("Комментарий", "Перенос из УТ");
ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ВводНачальныхОстатков");

======================================

При выгрузке запрос начинает обрабатываться, а потом вылетают ошибки :

Ошибка в глобальном обработчике события ПередКонвертациейОбъекта (конвертация)
    ПКО                    =  ВводНачальныхОстатков  (:)
    Объект                 =    (Не определено)
    Обработчик             =  ПередКонвертациейОбъекта (глобальный)
    ОписаниеОшибки         =  Значение не является значением объектного типа (Метаданные)
    ПозицияМодуля          =  (2)
    КодСообщения           =  64

Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД                    =  ОстаткиПоПартиямСтепанов
    Обработчик             =  ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки         =  Ошибка в глобальном обработчике события ПередКонвертациейОбъекта (конвертация)
    ПКО                    =  ВводНачальныхОстатков  (:)
    Объект                 =    (Не определено)
    Обработчик             =  ПередКонвертациейОбъекта (глобальный)
    ОписаниеОшибки         =  Значение не является значением объектного типа (Метаданные)
    ПозицияМодуля          =  (2)
    КодСообщения           =  64
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1562)
    КодСообщения           =  31

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1612)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД                    =  ОстаткиПоПартиямСтепанов
    Обработчик             =  ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки         =  Ошибка в глобальном обработчике события ПередКонвертациейОбъекта (конвертация)
    ПКО                    =  ВводНачальныхОстатков  (:)
    Объект                 =    (Не определено)
    Обработчик             =  ПередКонвертациейОбъекта (глобальный)
    ОписаниеОшибки         =  Значение не является значением объектного типа (Метаданные)
    ПозицияМодуля          =  (2)
    КодСообщения           =  64
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1562)
    КодСообщения           =  31


В чем я не прав ?
1 azt-yur
 
10.02.17
09:25
Вместо
ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ВводНачальныхОстатков");
поставь
ВыгрузитьПоПравилу(ВходящиеДанные,,,,  "ВводНачальныхОстатков");
2 Румата
 
10.02.17
09:27
Сейчас попробую, спасибо, отпишусь ...
3 Румата
 
10.02.17
09:29
Другая теперь ошибка :

Ошибка получения свойства объекта из входящих данных
    ПКО                    =  ВводНачальныхОстатков  (:)
    ПКС                    =  1  (--> Дата)
    Объект                 =  Структура  (Структура)
    СвойствоПриемника      =  Дата  (Дата)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8196)
    КодСообщения           =  68
4 Mankubus
 
10.02.17
09:30
(3) поставь флаги Получить из входящих данных
5 Румата
 
10.02.17
09:33
Стоят два флажка на реквизите "Дата" :
1. Передавать данные в приемник
2. Получить значение из входящих данных
6 azt-yur
 
10.02.17
09:36
(4) Скорей наоборот снять.
(5) Либо ставь на всех свойствах галочку "Получить значение из входящих данных" и выгружай как делал изначально в (0),
либо все убирай и выгружай как в (1)
7 Румата
 
10.02.17
09:40
(azt-yur) Спасибо большое, что-то выгружается, сейчас попробую загрузить ...
8 Румата
 
10.02.17
09:49
(azt-yur) ОГРОМНОЕ СПАСИБО ! Все получилось ! Загрузка прошла ...
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший