Имя: Пароль:
1C
1С v8
Программное заполнение СФ
0 zak555
 
28.11.12
03:24
доброго времени суток !

есть простой код, который должен создать на основании РТиУ СФ-выданный
но почему-то программно не выходит

//пусть время будет 23:00
       ДокументРеализация.Дата = КонецДня(ДатаОбработки) - 3599;
       ДокументРеализация.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
       ДокументРеализация.Записать(РежимЗаписиДокумента.Проведение);
       
       ДокументСФВыданный = Документы.СчетФактураВыданный.СоздатьДокумент();
       ДокументСФВыданный.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаРеализацию;
       ДокументСФВыданный.Заполнить(ДокументРеализация);
       ДокументСФВыданный.Дата = КонецДня(ДатаОбработки) - 3599;        
       ДокументРеализация.Записать(РежимЗаписиДокумента.Проведение);



отладчик странности говорит с событием ОбработкаЗаполнения документа СФвыданного на часть условия

ЭтотОбъект.Метаданные().ТабличныеЧасти.ДокументыОснования.Реквизиты.ДокументОснование.Тип.СодержитТип(ТипЗнч(Основание))

интерактивно это Истина, программно Ложь

почему ?
1 ras
 
28.11.12
03:31
(0)а чему равно ТипЗнч(Основание) в отладчике?
2 zak555
 
28.11.12
03:35
нашёл, нужно было вместо
ДокументСФВыданный.Заполнить(ДокументРеализация);
передавать ссылку
ДокументСФВыданный.Заполнить(ДокументРеализация.Ссылка);
3 zak555
 
28.11.12
03:36
и в конце написано
ДокументРеализация.Записать(РежимЗаписиДокумента.Проведение);

а надо было
ДокументСФВыданный.Записать(РежимЗаписиДокумента.Проведение);
4 zak555
 
28.11.12
03:45
а как в отладчике увидеть

ТипЗнч(Основание) = Тип("ДокументСсылка.РеализацияТоваровУслуг")

или

ТипЗнч(Основание) = Тип("ДокументОбъект.РеализацияТоваровУслуг")

?
5 perec1982
 
28.11.12
03:50
добавить в табло ТипЗнч(Основание)
6 perec1982
 
28.11.12
03:50
и вообще код кривоват
7 perec1982
 
28.11.12
03:51
Должно быть
Попытка
ДокументРеализация.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ДокументРеализация.Записать(РежимЗаписиДокумента.запись);
конецпопытки;
8 perec1982
 
28.11.12
03:51
и с записью СФ тоже самое
9 zak555
 
28.11.12
03:59
(5) т.е. только в типе это можно увидеть 7
10 zak555
 
28.11.12
03:59
(7) почему ?
11 perec1982
 
28.11.12
04:08
(9)если добавить в табло Основание там видно что это объект
12 perec1982
 
28.11.12
04:09
(10) если по какойто причине док реализация не проведется то документ потеряется, а соответственно и СФ
13 zak555
 
28.11.12
04:10
(12) это по какой ?
14 perec1982
 
28.11.12
04:11
(13)нет остатков, запрет отгузки...
15 perec1982
 
28.11.12
04:12
Это провило программного проведения, читай типовой код 1С.
16 zak555
 
28.11.12
04:24
где, к примеру в БП, программное заполнение/проведение документа ?
17 perec1982
 
28.11.12
04:25
Точно не помню, посмотри обработку БК
18 perec1982
 
28.11.12
04:27
Но это однозначно лучше, признай. В исключении можно добавить в комментарий ошибку и т.д.
19 zak555
 
28.11.12
04:47
уговорил =)
20 Джордж Вашингтон
 
28.11.12
04:48
(16) Если за счет-фактуру - посмотри по функции, вызываемой по гиперссылке "Счет-фактура" из РН, йопт...
Основная теорема систематики: Новые системы плодят новые проблемы.