|
Создание документа из внешней обработки | ☑ | ||
---|---|---|---|---|
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
|
Видимость реквизитов проставляется в момент открытия формы - так что смотреть в при открытии и т.п.
Кроме того, проверять надо после сохранения элемента находить его в базе и открывать, а не вызывать открытие формы только что созданного элемента - в последнем случае велика вероятность, что что-то будет не так. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |