Ошибка при обмене через ПКО

1. olgita_n 20.06.19 10:04 Сейчас в теме
Добрый день.
Мне необходимо из системы 1С:Бухгалтерия организовать фиксацию прихода запчастей на склады подразделений в системе 1С по учету оборудования (собственной разработки). Я решила получать данные из регистра бухгалтерии «Хозрасчетный».
Имеется справочник «Номенклатура» и документ «Поступление запасных частей» в 1С:УчетОборудования, туда должны переносится данные из бухгалтерии.

Создаю ПКО:
прикреп.файл 1

Создаю ПВД:
прикреп.файлы 2,3


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

Запрос.УстановитьПараметр("ДК",КонецДня(Дата(2019,01,01)));
Запрос.УстановитьПараметр("ДН",НачалоДня(Дата(2018,01,01)));
Запрос.УстановитьПараметр("СтатьяЗатрат", “02.02.11”);
Запрос.УстановитьПараметр("КодПодр", “003050”);

РезультатЗапроса=Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выгрузка = РезультатЗапроса.Выгрузить();
ВходящиеДанные = Новый Структура("Материалы");
ВходящиеДанные.Материалы=Новый ТаблицаЗначений;
ВходящиеДанные.Материалы.Колонки.Добавить("ЕдиницаИзмерения");
ВходящиеДанные.Материалы.Колонки.Добавить("СуммаНалогУчет");
ВходящиеДанные.Материалы.Колонки.Добавить("Количество");
ВходящиеДанные.Материалы.Колонки.Добавить("Номенклатура");
ВходящиеДанные.Материалы.Колонки.Добавить("Цена");
ВходящиеДанные.Материалы.Колонки.Добавить("Заказ");
ВходящиеДанные.Материалы.Колонки.Добавить("Документ");
ВходящиеДанные.Материалы.Колонки.Добавить("Подразделение");
Для каждого ТекСтрока Из Выгрузка Цикл
НовСтрока = ВходящиеДанные.Материалы.Добавить();
НовСтрока.ЕдиницаИзмерения = ТекСтрока.ЕдиницаИзмерения;
НовСтрока.СуммаНалогУчет = ТекСтрока.СуммаНалогУчет;
НовСтрока.Количество = ТекСтрока.Количество;
НовСтрока.Номенклатура = ТекСтрока.Номенклатура;
НовСтрока.Цена = ТекСтрока.Цена;
НовСтрока.Заказ=”02.02.11”;
НовСтрока.Документ=Строка(ТекСтрока.Документ);
НовСтрока.Подразделение=ТекСтрока.Подразделение;
КонецЦикла;
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"ПоступлениеЗапасныхЧастей");
КонецЕсли;
Если выгружать без узла обмена, то ошибок не выдаёт, нормально все выгружает.
прикреп.файл 4.

Если выбираешь узел:
План обмена в бухгалтерии «Полный», «Периферийная база».

Выдает ошибку:
прикреп.файл 5.

Помогите, пожалуйста, разобраться.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tusv 211 20.06.19 10:20 Сейчас в теме
(1) Ужасно не люблю галочку Получать из Входящих данных в ПКГС.
Присвойте КоллекцияОбъектов своим запросом. Это F2 на ПКГС Материалы
7. tusv 211 20.06.19 12:45 Сейчас в теме
(1) И это. В обмене, по правилам обмена БСП в ПВД Запрос? Оно жеж по правилам регистрации работает. Что зарегистрировано, то и выгружает
3. tusv 211 20.06.19 10:38 Сейчас в теме
Помещайте это в Запросы
ВЫБРАТЬ
ДатаВремя(2011,2,2) КАК Заказ 
ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ, 
ХозрасчетныйДвиженияССубконто.Регистратор.Номер КАК Номер, 
ХозрасчетныйДвиженияССубконто.СубконтоКт1.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, 
ХозрасчетныйДвиженияССубконто.Сумма КАК СуммаНалогУчет, 
ХозрасчетныйДвиженияССубконто.Сумма / ХозрасчетныйДвиженияССубконто.КоличествоКт КАК Цена, 
ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК Номенклатура, 
ХозрасчетныйДвиженияССубконто.КоличествоКт КАК Количество, 
ХозрасчетныйДвиженияССубконто.ПодразделениеДт.Код КАК Подразделение 
ИЗ 
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДН, &ДК, СчетДт.Код В (""25""), , ) КАК ХозрасчетныйДвиженияССубконто 
ГДЕ 
ХозрасчетныйДвиженияССубконто.СубконтоДт1.Код = &СтатьяЗатрат 
И ХозрасчетныйДвиженияССубконто.ПодразделениеДт.Код = &КодПодр 
 И ТИПЗНАЧЕНИЯ(ХозрасчетныйДвиженияССубконто.Регистратор)=ТИП(Документ.ТребованиеНакладная)"
Показать

Получится
Запрос =Запросы.<Имя запроса>;
Запрос.УстановитьПараметр("ДК",КонецДня(Дата(2019,01,01))); 
Запрос.УстановитьПараметр("ДН",НачалоДня(Дата(2018,01,01))); 
Запрос.УстановитьПараметр("СтатьяЗатрат", “02.02.11”); 
Запрос.УстановитьПараметр("КодПодр", “003050”); 
КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();
5. olgita_n 20.06.19 10:58 Сейчас в теме
Поле заказ - это строка, а не дата, это я просто жёстко задала значение "02.02.11".
6. tusv 211 20.06.19 11:18 Сейчас в теме
(5)
Поле заказ - это строка, а не дата, это я просто жёстко задала значение "02.02.11".

Это не важно, главное запросом собрать КоллекцияОбъектов, что проще и прозрачнее, чем ВходящиеДанные
И это .
У Вас
ИЗ
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДН, &ДК, СчетДт.Код В (""25""), , ) КАК ХозрасчетныйДвиженияССубконто 

Вы используете только Вид субконто Номенклатура., Отсекайте нафиг лишние записи в запросе
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДН, &ДК, СчетДт.Код В (""25""),Значение(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура) , ) КАК ХозрасчетныйДвиженияССубконто 
4. tusv 211 20.06.19 10:46 Сейчас в теме
А обмен тестируйте не Универсальным обменном. Тот передает ссылку и Запись,А Обработка КонвертацияОбъектовИнформационныхБаз Набор и Объект
Этим тестируйте
Прикрепленные файлы:
ВыгрузкаЗагрузкаПоПлануОбменаОФ.epf
ВыгрузкаПоПравиламУзла.epf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот