Имя: Пароль:
1C
1С v8
Создание документа из внешней обработки
0 withoutname
 
30.10.12
15:49
Человеки, подскажите, пожалуйста, как правильно создать элемент номенклатуры из внешней обработки?
Как программно инициализировать все происходящее при создание элемента интерактивно?
1 mikecool
 
30.10.12
15:50
вызывать процедуры
2 Fish
 
30.10.12
15:50
Напиши, что уже пробовал, и что не получилось.
3 withoutname
 
30.10.12
15:53
(1) как?
(2) все нормально получается, могу реквизиты заполнить и программно, но это же не правильно, и иногда противоречит тому, как это реализовано в конфигурации...
4 Fish
 
30.10.12
15:56
(3) Есть разные пути: можно вызывать процедуры из конфигурации (если они экспортные). Если они не экспортные, тогда два пути: либо сделать их таковыми, либо скопировать их в свою обработку. Выбирай, что тебе больше подходит.
5 Torquader
 
30.10.12
15:56
(3) А в чём, собственно, проблема ?
Можешь установить реквизиты неправильно, но не факт, что при этом будет выполнена запись.
А если она и выполнится, то на самом деле, ничего смертельного для базы не произойдёт.
Ведь присвоить реквизиту значение недопустимого типа всё равно не выйдет.
6 withoutname
 
30.10.12
16:01
(5) не, если установить неправильно это понятно, но когда вызываешь используемые процедуры, некоторые реквизиты заполняются автоматически...
7 withoutname
 
30.10.12
16:01
(4) как использовать первый путь?
8 Fish
 
30.10.12
16:04
(7) В смысле? Как вызвать экспортную процедуру?
9 withoutname
 
30.10.12
16:46
(8) да, т.е. я делаю

ЭлементНоменклатуры = Справочники.Номенклатура.СоздатьЭлемент();

как вызвать экспортную процедуру модуля формы?
10 ladyFox3
 
30.10.12
16:52
Модуль формы не имеет экспортных процедур. Надо скопировать ету процедуру.
11 withoutname
 
30.10.12
17:01
(10) для кого тогда в это модуле пишут экспорт?
12 hhhh
 
30.10.12
17:19
(11) для кого-то, но только не для данного случая. Потому что эти процедуры в форме сильно перепутаны и взаимосвязаны. Там одной процедурой не отделаешься. Скованные одной цепью, так сказать.
13 Torquader
 
30.10.12
17:20
Экспортные из модуля формы, вестимо, вызываются, когда открыта форма и к ней есть доступ из-вне.
14 withoutname
 
30.10.12
17:21
(12) вот вот, поэтому хочу только первую запустить и пусть сама разбирается дальше )))
15 Rovan
 
гуру
30.10.12
17:22
(13) можно форму не открывать....главное программно создать ее экземпляр
16 Rovan
 
гуру
30.10.12
17:23
(9) ТФорма = ЭлементНоменклатуры.ПолучитьФорму("ИмяФормы");
ТФорма.ТвояПроцедура();
17 Torquader
 
30.10.12
17:29
(15) Ну это понятно, что можно не открывать, но они же сказали, что "модуль формы не имеет экспортных процедур", что в корне неверно.
18 withoutname
 
30.10.12
17:41
(16) ТФорма. после точки не выводит список доступных процедур... (
19 Torquader
 
30.10.12
18:13
(18) Будто бы там в остальных местах всё точно и чётко выводится - иногда и реквизиты не видит.
20 withoutname
 
30.10.12
18:47
(19) проверил, ругается что не может найти...
если я интерактивно создаю элемент справочника, у меня один реквизит не доступен,
если я программно создаю, при открытии созданного элемента этот реквизит доступен, и является обязательным,
как сделать так, чтобы этот реквизит и после программного создания был не доступен?
21 Torquader
 
30.10.12
18:55
Видимость реквизитов проставляется в момент открытия формы - так что смотреть в при открытии и т.п.
Кроме того, проверять надо после сохранения элемента находить его в базе и открывать, а не вызывать открытие формы только что созданного элемента - в последнем случае велика вероятность, что что-то будет не так.