Имя: Пароль:
1C
1С v8
Создание СФ на основании РТиУ
0 Singenor
 
26.11.12
12:41
Нужно программно при создании РТиУ создавать для него СФ. тут и столкнулся с проблемой, не заполняется сф:

Объект = Документ;
ВидСчетаФактуры = "СчетФактураВыданный";
Отбор = Неопределено;
СчетФактура = УчетНДС.НайтиПодчиненныйСчетФактуру(Документ.Ссылка, ВидСчетаФактуры, Отбор);
ОбъектСчетаФактуры = Неопределено;  
Если (Не ЗначениеЗаполнено(СчетФактура)) Тогда
   НовДок = Документы.СчетФактураВыданный.СоздатьДокумент();
ДанныеЗаполнения =Объект;
НовДок.Заполнить(ДанныеЗаполнения);
Сообщить("Создана счет-фактура для документа "+Объект);
КонецЕсли;

Попытка
НовДок.Записать()
Исключение
Сообщить(ОписаниеОшибки());
ФормаСФ = НовДок.ПолучитьФорму();
ФормаСФ.Открыть();
она только открывается тут и все, данные из документа из которого должна заполняться нет
1 Singenor
 
26.11.12
12:41
Что такое документ?

Документ = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ну и далее идет его создание и заполнение
2 Cube
 
26.11.12
12:43
(0) Вместо

ФормаСФ = НовДок.ПолучитьФорму();
ФормаСФ.Открыть();

Напиши

ОткрытьЗначение(НовДок.Ссылка);
3 Cube
 
26.11.12
12:44
+(2) И у тебя форма открывается только в случае ошибки...
4 and2
 
26.11.12
12:45
РаботаСДиалогами.ВвестиСчетФактуру(ЭтотОбъект, ЭтаФорма, "СчетФактураВыданный",,


так например в БП делается
5 Singenor
 
26.11.12
12:45
(2) вроде работает так
6 Singenor
 
26.11.12
12:46
(3) там между ними еще коенцпопытки)
7 Cube
 
26.11.12
12:47
(6) Так ты открытие формы тоже внутрь попытки внеси, а то при ошибки записи у тебя форма откроется...
8 Галахад
 
гуру
26.11.12
12:48
Документ-то записан?
9 Singenor
 
26.11.12
12:51
(8) да, записан
10 Singenor
 
26.11.12
12:52
Попытка
       НовДок.Записать();
       Форма = Документ.ПолучитьФорму();
       Форма.Открыть();
       ОткрытьЗначение(НовДок.Ссылка);
   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;
вот как, только ругается на дату, что мол в сф она не проставляется
11 Cube
 
26.11.12
12:54
(10) Чукча не читатель?)))
Это

Форма = Документ.ПолучитьФорму();
Форма.Открыть();

ЛИШНЕЕ!! Я говорил написать вместо, а не после...
12 Cube
 
26.11.12
12:54
(10) "только ругается на дату"
Текст ошибки в студию.
13 Singenor
 
26.11.12
12:56
(11) там открывается Документ, а не СФ
14 Singenor
 
26.11.12
12:56
сначала точнее документ, и после СФ, то есть 2 окна получаесят
15 Cube
 
26.11.12
12:58
(13) (14) Ну, тогда, ты не просто "не читатель", ты и "не мыслитель" :)))
Ведь надо так:

ОткрытьЗначение(Документ.Ссылка);
ОткрытьЗначение(НовДок.Ссылка);
16 Singenor
 
26.11.12
13:03
(15)
Попробовал сделать как в типовом функционале вызов СФ:
Форма = Документ.ПолучитьФорму();
РаботаСДиалогами.ВвестиСчетФактуру(Документ, Форма, "СчетФактураВыданный");
написано формирует, но при октрытии документа можно нажать на ввести СФ, и он все равно создает новую(
17 Cube
 
26.11.12
13:07
(16) Хвастаешься?))
18 Singenor
 
26.11.12
13:07
и ОткрытьЗначение(НовДок.Ссылка); не открывает
19 Singenor
 
26.11.12
13:07
(17) спрашиваю, интересуюсь, чтобы создавался документи  к нему сразу сф
20 Singenor
 
26.11.12
13:09
а не, создается все в (16)
21 Cube
 
26.11.12
13:10
(19) Мне показалось, что после (5) проблема решена, а оказалось... Ты сам себя запутал и меня тоже. Задай вопрос правильно, полностью, чтоб тебя поняли.
22 Singenor
 
26.11.12
13:20
ок, тогда новый вопрос:
Как при создании нового документа создать валюты взаиморасчетов, и валюты? то есть, чтобы при нажатии на цены и валюта, там стояли данные соответствующие выбранному договору контрагенту?)
23 Cube
 
26.11.12
13:27
(22) Сам-то себя понял?
24 Singenor
 
26.11.12
13:29
(23) понял, не понимаю что не так)
При открытии документа у него сверху есть такая штука: валюта и цены, нажимаем на нее, открывается форма Цена и валюта, в левой части есть такая штука как:
Тип цен
Валюта
Валюта взаиморасчетов
вот они заполняются как по твоему?
25 Singenor
 
26.11.12
13:30
(24) на основании договора контрагента, так?
26 Singenor
 
26.11.12
13:31
и вот мне нужно чтобы программно на основании договора контрагента валюта и валюта взаиморасчетов заполнялись автоматически, при создании документа
27 Cube
 
26.11.12
13:32
(24) "Как при создании нового документа создать валюты взаиморасчетов, и валюты"
Конфа какая? У тебя есть справочники "валюты взаиморасчетов, и валюты"? Или где это надо создать?
28 Cube
 
26.11.12
13:33
(24) "вот они заполняются как по твоему?"
В конфигураторе все по-русски написано. В чем проблема?
29 Cube
 
26.11.12
13:35
(24) (25) (26) Не надо флудить. Посиди, подумай и напиши один ОСМЫСЛЕННЫЙ пост. Не надо постить кучу бессмысленных. Твой поток мыслей никому не интересен. Спрашивай по-существу.
30 Singenor
 
26.11.12
13:41
(29) пока хотел сформулировать вопрос вроде понял) шас попробую, если че напишу
31 Cube
 
26.11.12
13:43
(30) Вот видишь, правильно поставленный вопрос содержит в себе половину ответа (с) =))
32 Singenor
 
26.11.12
13:44
http://pikucha.ru/i9AtV
вот тут в валюту взаиморасчетов как передать валюту взаиморасчетов договора контрагента?
у документа нет реквизита валюта взаиморасчетов, только валюта документа, но это не то как я понимаю
33 Cube
 
26.11.12
13:47
(32) Валюта документа это и есть валюта взаиморасчетов.
34 Cube
 
26.11.12
13:52
+(33) Но в форму "Цены и валюта", походу, подставляется из договора контрагента...
35 Singenor
 
26.11.12
13:53
угу, спасибо, и еще вопрос по поводу Счетов дохода, как их тоже при создании документа в ТЧ сразу запихнуть? счета учета типовым функционалом лезут так:
Процедура ЗаполнитьСчета(СтрокаТЧ, ИмяТабЧасти, СчетаУчета, Заполнять, ЭтоКомиссия, МетаданныеДокумента) Экспорт

Для каждого строка ИЗ Документ.Товары  Цикл
               ЗаполнитьСчетаУчетаВСтрокеТабЧасти(Стр, "Товары", Истина);
   КонецЦикла;
36 Singenor
 
26.11.12
13:54
блин, тут можно сообщения править?) или всегда новые создавать только?)
Для счетов доходов просто нет такой типовой процедуры, как быть?)
37 Cube
 
26.11.12
13:55
(35) процедура экспортная. А это значит, что ты её вызвать можешь и из своего кода...
38 Cube
 
26.11.12
13:55
(36) Править посты нельзя - думай, что пишешь. Написал - отвечай за свои слова =))
39 Singenor
 
26.11.12
13:56
(37) я понимаю, что она экспортная, я ее вызываю, она срабатывает, НО, эта процедура заполняет счета учета, а счета доходов нет(
40 Cube
 
26.11.12
13:57
+(37) Но лучше вызывать "ЗаполнитьСчетаУчетаВСтрокеТабЧасти", а не "ЗаполнитьСчета". Если "ЗаполнитьСчетаУчетаВСтрокеТабЧасти" не экспортная, то её целиком можно скопировать в модуль, откуда создаешь документ.
41 Cube
 
26.11.12
13:58
(39) Поковыряйся ещё, значит. Отладчик украли?))
А у меня рабочий день закончился))
42 Singenor
 
26.11.12
14:01
точнее я ЗаполнитьСчетаУчетаВСтрокеТабЧасти и вызываю)
43 mikecool
 
26.11.12
14:02
а нафига открывать формы для ввода на основании?
44 Singenor
 
26.11.12
14:05
(43) с сф разобрались, теперь разбираемся со счетами доходов)
Закон Брукера: Даже маленькая практика стоит большой теории.