Имя: Пароль:
1C
1С v8
БП 3.0 программное создание счетов-фактур
0 ALEX7519
 
29.01.20
10:49
не подскажете, в чем может быть дело. БП 3.0. программно гружу документы реализация товаров и услуг (грузится нормально) потом на основании их пытаюсь программно создать с-фактуры

( стр.докР - это созданный документ реализации, документ-ссылка по отладчику смотрел, он есть )

        Док2 = Документы.СчетФактураВыданный.СоздатьДокумент();
        Док2.Дата = стр.ДатаСФ;
        Док2.Номер = стр.НомерСФ;
        док2.Выставлен = Истина;
        док2.кодспособаВыставления = 1;
        док2.ДатаВыставления = стр.ДатаСФ;
        Док2.Организация = стр.ДокР.Организация;
        Док2.Контрагент = стр.ДокР.Контрагент;
        Док2.ДоговорКонтрагента = стр.ДокР.ДоговорКонтрагента;
        Док2.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаРеализацию;
        Док2.Комментарий = "создан автоматически";
        Док2.ДокументОснование = стр.ДокР.Ссылка;
        Док2.ДокументыОснования.Добавить().ДокументОснование = стр.ДокР.Ссылка;
        Док2.КодВидаОперации = "01";
        Док2.Записать(РежимЗаписиДокумента.Проведение);

счета-фактуры создаются но без документа основания (ну и соотв без сумм.   по отладчику Док2.ДокументОснование = стр.ДокР.Ссылка проходит но не записывает, стр.ДокР.Ссылка есть )
что интересно, в другой базе почти такойже код срабатывает )
обошел это так, но почему  не пашет выше ?


            СФ = УчетНДСПереопределяемый.СоздатьСчетФактуруВыданныйНаОсновании(стр.ДокР.Ссылка);
        Док2 = сф.ПолучитьОбъект();
        Док2.Дата = стр.ДатаСФ;
        Док2.Номер = стр.НомерСФ;
        Док2.Записать(РежимЗаписиДокумента.Проведение);
1 VladZ
 
29.01.20
10:53
Чем плох вариант:
Док2 = Документы.СчетФактураВыданный.СоздатьДокумент();
Док2.Заполнить(стр.ДокР.Ссылка);
Док2.Записать();

???
2 Aleksey
 
29.01.20
10:55
Док основание сидит в ТЧ, что то я не вижу у тебя заполнения ТЧ
3 ALEX7519
 
29.01.20
11:28
(2) Док2.ДокументыОснования.Добавить().ДокументОснование = стр.ДокР.Ссылка;
4 ALEX7519
 
29.01.20
11:29
(1) пробовал тогда создает сче-та фактуры вообще без реквизитов и привязки к организации
5 unregistered
 
29.01.20
11:37
(0) >> по отладчику Док2.ДокументОснование = стр.ДокР.Ссылка проходит.

Проверь в отладчике табличную часть ДокументыОснования.
Именно она является определяющей, а не значение реквизита шапки ДокументОснование.

>> обошел это так.

И что смущает в том способе, которым ты обошел проблему?
6 TopProger
 
29.01.20
11:46
(4) Провалитесь в модуль объекта счета фактуры процедура "ОбработкаЗаполнения". И посмотрите что туда передается в качестве параметра, когда создаете счет фактуру вручную из реализации. Тоже самое примените к (1_
7 TopProger
 
29.01.20
11:46
к (1)*
8 dka80
 
29.01.20
11:57
Результат = УчетНДСВызовСервера.СоздатьСчетФактуруПолученныйНаОсновании(
                оДокумент.Ссылка,
                НомерСчетаФактуры(Строка.СчетФактураНомер),
                Строка.СчетФактураДата,
                Неопределено,
                Отбор);
9 Масянька
 
29.01.20
12:14
(8) А можно еще проще:
ДокСФ = Документы.СчетФактураВыданный.СоздатьДокументНаОсновании(КорРеализация.Ссылка);
В релизе нужно посмотреть.