Как правильно создать СчФактуру

1. FreeArcher 162 21.02.14 09:38 Сейчас в теме
Добрый день!
Выгружаю документ Реализации из одной базы в документ Поступление в другой.
При этом нужно создавать сч.фактуру.

Сделал создание сч. фактуры в обработчике ПослеЗагрузки, методом СчФактура.Заполнить(Объект.Ссылка) и т.д.
Все бы хорошо, но перед выполнением этого кода, приходится записывать выгруженый документ. А при записи вручную теряется перенесенная ссылка. Т.е. поиск по ссылке в таком случае не работает.

Подскажите как победить данную проблему?
Надо или сч.фактуру по другому создавать или как то ссылку передавать.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dodzh 21.02.14 10:33 Сейчас в теме
Да там вроде особых проблем нет.
Просто нужно указать
Приемник "ДокументОснования" и поиск по нему, а в качестве правила конвертации правило по документу реализации.
Ну плюс еще:
"после загрузки" док.ссылка добавляется в параметр с типом список значения
а уже "после загрузки данных" мы эти счета фактуры по списку проводим.
3. FreeArcher 162 24.02.14 15:18 Сейчас в теме
Блин столько бился с этой выгрузкой ничего не работало. Думал совсем уже ниче не понимаю...
А оказалось, если перед загрузкой в ПКО пишешь РижимЗаписи= "Проведение";
То опять же документы не переносятся по ссылке и задваиваются. Естественно выгрузка для сч.фактуры тоже не находит док.основание для себя.

Это что баг такой или фича?
Конвертация последняя 2.1.8.1
4. Dodzh 26.02.14 13:11 Сейчас в теме
Причем тут баг? Нельзя провести счет фактуру раньше реализации. Поэтому нужно делать в два этапа, как я написал выше.
У нас несколько правил так написано. В том числе когда реализация становится приходником.
5. FreeArcher 162 26.02.14 18:01 Сейчас в теме
(4) Это понятно.
Речь ведется о Реализации, если запишешь его вручную ОбъектЗаписать() или ставишь режим РижимЗаписи= "Проведение", то ссылка теряется.
И кстати код тоже автоматически не присваивается, когда ОбъектЗаписать(). Т.е. походу не срабатывают внутренние процедуры, которые должны выполнится в конце загрузки.
6. andre solovij 13.03.14 16:34 Сейчас в теме
Примерно так наверно
Объект.Номер = "";
Объект.Записать();

ДокОб = Документы.СчетФактураПолученный.СоздатьДокумент();
ДокОб.ДокументОснование = Объект;

ДокОб.Дата = Объект.Дата;

СтрДокОснования = ДокОб.ДокументыОснования.Добавить();
СтрДокОснования.ДокументОснование = Объект.Ссылка;

// Заполним реквизиты из стандартного набора по документу основанию.
ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ДокОб, Объект);

ДокОб.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыПолученного.НаПоступление;
ДокОб.КодВидаОперации = "01";
ДокОб.КодСпособаПолучения = 1;
ДокОб.ДатаВходящегоДокумента = Объект.Дата;
ДокОб.НомерВходящегоДокумента = Объект.Номер;

Попытка
ДокОб.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.НеОперативный);
Исключение
Сообщить("Не удалось провести документ СФ Полученный " + ДокОб.Номер);
КонецПопытки;

Попытка
Если Объект.Проведен = Истина Тогда
Если НЕ ОбъектНайден тогда
Объект.Проведен = Ложь; //иначе типовые механизмы ругаются
КонецЕсли;
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.НеОперативный);
Сообщить("Проведен документ ПТУ " + Объект.Номер);
Иначе
Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
Сообщить("Не удалось провести документ ПТУ " + Объект.Номер);
КонецЕсли;
7. FreeArcher 162 13.03.14 16:54 Сейчас в теме
(6) Вот про это как раз и написано в топике и это не работает.
Работает ВыгрузкаяПоПравилу(....)
Оставьте свое сообщение

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