Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Перенос проводок с помощью КД2

Перенос проводок с помощью КД2
Я
   zippygrill
 
13.01.21 - 12:29
Всем привет!
Переношу проводки по правилам КД2 и столкнулся с непонятной для меня ситуацией.
Допустим переношу запись проводки из БП3 в ЕРП3, где счетКТ - 41.02.

В БП, он имеет 3 субконто - Партия, в ЕРП - нет 3го субконто.
В правилах обмена, в ПослеЗАгрузки написан такой код, а ля типовые. Те, если в приемнике, в ВидыхСубконто счета нет такого вида, тогда остается не заполненым.

Прикол в том что, если выгрузить проводки одного документа через УниверсальныйОбменДанными и загрузить в приемнике, то вид субконто действительно не находится, что так и должно быть.
Но если регистрирую на узле, этот же документ, потом выгружаю штатным механизмом, и загружаю также штатным механизмом Синхронизовать - то получаю ошибку о том что запись не верна, субконто не может быть использован.
И ошибка именно о том что данное субконто ДОЛЖНО быть пустое.

НаборДвижений = Объект.Движения.Хозрасчетный;
ТаблицаДвижений = НаборДвижений.Выгрузить();
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Объект.Ссылка);

Для Каждого ТекущаяСтрока Из ТаблицаДвижений Цикл
    Движение = НаборЗаписей.Добавить();
    ЗаполнитьЗначенияСвойств(Движение,ТекущаяСтрока);
    Движение.Регистратор = Объект.Ссылка;
    
    ..................................

    Если ЗначениеЗаполнено(ТекущаяСтрока.ВидСубконтоКт3) И ЗначениеЗаполнено(ТекущаяСтрока.СубконтоКт3)
        И ТекущаяСтрока.СчетКт.ВидыСубконто.Найти(ТекущаяСтрока.ВидСубконтоКт3) <> Неопределено Тогда
        Движение.СубконтоКт[ТекущаяСтрока.ВидСубконтоКт3] = ТекущаяСтрока.СубконтоКт3;
    КонецЕсли;
КонецЦикла;
ПОпытка
    НаборЗаписей.Записать(Истина);
Исключение
КОнецПопытки;
   zippygrill
 
1 - 13.01.21 - 12:37
Что то мне подсказывает что надо сперва записать пустой наборЗаписей (предварительно сохранив в переменную), а потом добавлять..
   Жан Пердежон
 
2 - 13.01.21 - 12:39
эм,
>> в ЕРП - нет 3го субконто
>> ошибка именно о том что данное субконто ДОЛЖНО быть пустое
   zippygrill
 
3 - 13.01.21 - 12:47
(2) ну да
ПО кнопке Синхронизировать алгоритм пытается запихнуть Партию в 3й субконто, когда там должно быть Неопределено.
   Жан Пердежон
 
4 - 13.01.21 - 12:49
попробуй
ЗаполнитьЗначенияСвойств(Движение,ТекущаяСтрока,,"СубконтоДт, СубконтоКт");
   zippygrill
 
5 - 13.01.21 - 12:53
(4) ТЕ кроме этих реквзиитов..сейчас
   zippygrill
 
6 - 13.01.21 - 14:00
не помогло
   zippygrill
 
7 - 13.01.21 - 14:01
Вот так сделал, но не помогло

    Движение.СубконтоДт.Очистить();
    Движение.СубконтоКт.Очистить();
   zippygrill
 
8 - 13.01.21 - 14:19
Попробую перед сохранением самого документа регистратор, очистить проводки

НаборДвижений = Объект.Движения.Хозрасчетный;
ТаблицаДвижений = НаборДвижений.Выгрузить();

ТаблицаДвиженийПустая = ТаблицаДвижений;
ТаблицаДвиженийПустая.Очистить();

Объект.Движения.Хозрасчетный.Загрузить(ТаблицаДвиженийПустая);
Объект.Записать();
   DrShad
 
9 - 13.01.21 - 14:27
не понятно нафейхоа в таком раскладе тянуть проводки?
но на всякий схожу за попкорном ибо непонятно чем пустой набор поможет горю
   zippygrill
 
10 - 13.01.21 - 16:45
Помогло очистка движений перед записью самого Документа

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