Имя: Пароль:
1C
1C 7.7
v7: Как программно создать документ
0 gugolovski
 
07.08.17
09:45
Пытаюсь создать документ. Код:
//***************
Процедура Сформировать()
Док=СоздатьОбъект("Документ.СписаниеТМЦ");
фирмы=СоздатьОбъект("Справочник.Фирмы");
склад=СоздатьОбъект("Справочник.Склады");
Прод=СоздатьОбъект("Справочник.Номенклатура");
Док.Новый();    
фирмы.НайтиПоКоду("00003");          
склад.НайтиПоКоду("00004");
Прод.НайтиПоКоду("41835");
Док.фирма =фирмы.текущийэлемент();
Док.склад=склад.текущийэлемент();
Док.НоваяСтрока();
Док.Номенклатура=Прод.текущийэлемент();
Док.Количество=10;
Док.Записать();
КонецПроцедуры
//***************

В журнале документов появляется нечто похожее на списание. Но у документа в журнале нет названия. Когда открываешь документ, в поле заголовка системы написано: ...[.не проведен*]. А должно быть: ...[Списание ТМЦ(розница).не проведен*]. Этот документ не проводится: "Не заполнен реквизит "Валюта документа". Документ не проводится!". Что не так?
1 HawkEye
 
07.08.17
09:48
(0) написано же: ""Не заполнен реквизит "Валюта документа""

по названию - смотри ВидДокумента или КодОперации или ВидОперации...
2 Масянька
 
07.08.17
09:53
(0) Открой свое списание и посмотри, как реализовано в стандарте. Там много каких параметров по умолчанию заполняется. И, кстати, обязательны (параметры) для заполнения.
3 gugolovski
 
07.08.17
10:07
(1)  С реквизитом "Валюта документа" - все понятно. Исправил, документ проводится. А вот с названием не пойму куда смотреть
4 1dvd
 
07.08.17
10:07
(3) читай дальше пост (1)
5 gugolovski
 
07.08.17
10:09
А, это реквизит шапки)
6 1dvd
 
07.08.17
10:11
7 gugolovski
 
07.08.17
10:13
(6) Ну ладно-ладно не смейся). Спасибо, ребята
8 oslokot
 
07.08.17
10:21
как у вас тут все просто в клюхах
9 1dvd
 
07.08.17
10:48
(8) переходи
10 oslokot
 
07.08.17
10:49
нет уж, спасибо)
11 Масянька
 
07.08.17
10:51
(10) Мышки плакали, кололись, но продолжали жевать кактус (С)
:))))))))))))))
12 oslokot
 
07.08.17
10:53
Спокуха!
про кактус - это всё выдумки, восьмерка больше не сырая)
13 mishaPH
 
модератор
07.08.17
10:54
(0) посмотри в доке процедуру вводНового. и куда там обращается.

у тебя если это какая-то стандартная конфа не хватает глзаполнитьШапкуДокумента(конт) или как оно там.
14 Злопчинский
 
07.08.17
11:12
не надо изобретать велосипеды
типа так:

    ДокЗаявкаОсновная     = СоздатьОбъект("Документ.ЗаявкаПокупателя");
    ДокЗаявкаОсновная.Новый();
    глЗаполнитьШапку(ДокЗаявкаОсновная,);
    ДокЗаявкаОсновная.Фирма = парОсновнаяФирма;
    глПриИзмененииФирмы(ДокЗаявкаОсновная);
    ДокЗаявкаОсновная.Контрагент    = парКлиент;
    глПриИзмененииКонтрагента(ДокЗаявкаОсновная);
    ДокЗаявкаОсновная.Договор    = парДоговор;
    глПриИзмененииДоговора(ДокЗаявкаОсновная);
итд.
15 Базис
 
naïve
07.08.17
11:23
Опенконф поставь, введи "РТиУ = Созд", нажми ctrl+enter. Остальное машина сделает сама, только выбирай варианты.
16 Злопчинский
 
07.08.17
11:25
(15) не, не сделавет
17 Базис
 
naïve
07.08.17
11:27
(16) Сделает. Подскажет список документов, предложит заполнить и шапку, и ТЧ. Научить? :)
18 aka AMIGO
 
07.08.17
11:28
(17) А ну, давай :) Интересно
19 aka AMIGO
 
07.08.17
11:31
Какая-нибудь длл-ка и/или скрипт, которых у меня нет
20 Базис
 
naïve
07.08.17
11:34
openconf powerpack ставишь, какой-то из скриптов - наверное, intellisence - сразу знает, какой объект ты сейчас используешь, и подсказывает в основном по делу. Реально за пяток нажатий все поля шапки и табличной части документа попадают в код. Заполнение, само собой, уже на творце.
21 1dvd
 
07.08.17
11:35
(20) да, есть такое. Мне казалось, все этим пользовались
22 Злопчинский
 
07.08.17
11:36
(17) я умею, он просто тупо выкитывает шаблон заполнения реквизитов, без привязки к типовой конфе.. не все могут сообразить как правильно заполнить такой перечень
23 Злопчинский
 
07.08.17
11:37
(20) это и в лайтпаке есть
24 1dvd
 
07.08.17
11:39
(22) причем тут типовые? он вываливает все подряд реквизиты
25 Базис
 
naïve
07.08.17
11:46
(24) .. данного объекта конфигурации.
26 1dvd
 
07.08.17
11:48
(25) ну
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан