|
Заполнение документа из внешней обработки | ☑ | ||
---|---|---|---|---|
0
BayoNet
27.01.12
✎
13:27
|
Люди, подскажите возможно ли из внешней обработки, достучаться до процедур модуля формы документа? Или только до модуля объекта можно?
|
|||
1
le_
27.01.12
✎
13:31
|
Док.ПолучитьФорму().Процедура() не катит (процедура описана, как экспортная)?
|
|||
2
BayoNet
27.01.12
✎
13:36
|
(1) без экспорта не прокатит?
Да там много процедур, "нужно заполнить заказ покупателя" из XML-файла, так не хочется дублировать в обработке все эти процедуры, типа ПриВыбореКонтрагента(), ПриВбореДоговора(), ПриОткытии() и.т.д |
|||
3
BayoNet
27.01.12
✎
13:37
|
(1) По моему в модуле формы все процедуры не экспортные
|
|||
4
BayoNet
27.01.12
✎
13:38
|
(1) Ну да сейчас проверил, то что мне нужно все без экспорта
|
|||
5
Maxus43
27.01.12
✎
13:39
|
(2) Объект и заполняй
|
|||
6
hhhh
27.01.12
✎
13:39
|
(4) ПодключитьОбработчикОжидания кури
|
|||
7
BayoNet
27.01.12
✎
13:41
|
(5) не понял про объект, не все процедуры которые мне нужны лежат в модуле объекта,
(6) Можно чуть поподробнее хоть пару тройку строк кода накидать? |
|||
8
Maxus43
27.01.12
✎
13:43
|
(7) я к тому что заполняй Объект (реквизиты) сразу и правильно. например ПриВыбореКонтрагента() - смотрит чтоб юзер не косяцил, не выбрал договор другого контрагента и т.д. Ну программно то не накосячиш наверно?
|
|||
9
korefana
27.01.12
✎
13:44
|
(0) моменты по заполнению документа надо прописывать в "обработкаЗаполнения"
оттуда тянуть все необходимые процедуры они должны быть прописаны в модуле обьекта или в общих модулях так сделано в типовых и это правильно |
|||
10
le_
27.01.12
✎
13:44
|
(2) Заказ покупателя заполняется довольно просто, нет каких-то особенных заморочек. Просто последовательно заполняй реквизиты из XML-ки и не нужно никаких процедур ни из формы, ни из модуля вызывать.
|
|||
11
korefana
27.01.12
✎
13:46
|
(10) или так если изменений в документ не вносить
|
|||
12
BayoNet
27.01.12
✎
13:47
|
(9) Так речь и идет о заполнении типолвого документа УПП "Заказ покупателя".
|
|||
13
BayoNet
27.01.12
✎
13:52
|
(10) Я уже реализовал загрузку контрагента и номенклатуры и количества в документ, так вот надо бы еще и ставки НДС и Скидки и цены, и валюты, счета учета подтянуть. Просто не хочется изобретать велосипед, когда это уже все прописано, но прописано по большей мере в модуле формы. А там ведь еще есть и управление доступностью и Видомостью
|
|||
14
BayoNet
27.01.12
✎
13:53
|
(8) Юзер вобще делать ниче не будет, просто нажимать кнопку "Загрузить"
|
|||
15
Maxus43
27.01.12
✎
13:53
|
(13) дак когда уже записаный объект откроеш - там доступность-видимость отработает номрально, она же не записывается вместе с доком. заполняй обычно, реквизиты объекта
|
|||
16
Maxus43
27.01.12
✎
13:54
|
(14) и? нажал кнопку - там ты заполняеш обхект, если ещё и форму открыть надо - получай форму записанного объекта и открывай
|
|||
17
hhhh
27.01.12
✎
13:54
|
(7)
Форма.ПодключитьОбработчикОжидания("ПриОткрытии", 0.1); |
|||
18
BayoNet
27.01.12
✎
13:55
|
Документ не проведется, а может даже и не запишеться без НДС, без цены, Скидки и.т.д
|
|||
19
Maxus43
27.01.12
✎
13:56
|
(18) дак кто мешает их заполнить у объекта? я что-то не понимаю
|
|||
20
Maxus43
27.01.12
✎
13:56
|
(17) от 1 до 10 цифра только, или ("ПриОткрытии", 0.1, Истина);
|
|||
21
Maxus43
27.01.12
✎
13:58
|
(18) + на всякий случай включу КЭПа - Инфа с формы не храниться нигде в базе, всё в объекте, и если на форме что-то невидимо - значит при открытии формы это установилось. Абсолютно всё можно заполнить в объекте, форму заполнять - ересь. Если нет всей инфы для проведения - записывай а не проводи, а потом форму открывай
|
|||
22
BayoNet
27.01.12
✎
14:01
|
(19) Ну так по-любому получается дублировать уже написанные процедуры. Например тот же счет учет по регистру сведений выбирать надо.
Попробую ОбработчикОжидания, что это за зверь такой )) |
|||
23
BayoNet
27.01.12
✎
14:07
|
(21) Пля, я повторяю вопрос был можно ли обойти дублирование процедур в обработке, можно ли использовать уже существующие но только в модуле объекта, а и в модуле формы. В процедуре ПриОткрытии таже Организация устанавливаетя для каждого пользователя своя. А там есть рекизиты и по важнее Организации, для которых надо запросы писать что бы получить теже скидки и цены, а также счета учета и.т.д. Не ужели это не понятно
|
|||
24
Maxus43
27.01.12
✎
14:26
|
(23) Это понятно, так нельзя. В файле воще инфы нет чтоли? контрагент и номенклатура с количеством? при любой загрузке программной заполняется весь объект, независимо от того сколько строчек кода лень писать было разработчикам, ибо это и называется автоматизация ручного труда)
|
|||
25
pessok
27.01.12
✎
14:29
|
ПриВыбореКонтрагента(), ПриВбореДоговора(), ПриОткытии() и.т.д
это обработчики событий. какое, нафик, заполнение документа из xml? |
|||
26
pessok
27.01.12
✎
14:32
|
(0) раз УПП, то смотри общий модуль - ЗаполнениеДокументов. А свои данные уже подпихивай
|
|||
27
BayoNet
27.01.12
✎
14:33
|
(25) я вобще не понял что ты хотел сказать
|
|||
28
pessok
27.01.12
✎
14:34
|
(26) уже посмотри, и будет тебе счастье. И вообще, имеет смысл изучать типовые механизмы
|
|||
29
BayoNet
27.01.12
✎
14:35
|
(26) ну примерно так я сейчас и делаю только не через общий модуль, а через модуль объекта документа
|
|||
30
Mort
27.01.12
✎
14:36
|
На самом деле в типовых часто встречается косвенное заполнение одних реквизитов по другим в форме. Для чистоты кодирования нужно дублировать это в обработке. Собсно все важные вещи вытащены в общие модули. Но есть моменты. Т.е. надо копаться. Можно, конечно, наг*кодить с формой, но не стоит имхо?
|
|||
31
BayoNet
27.01.12
✎
14:38
|
(28) Ооооооой блин, че ж все такие умные, думаешь я этого не знаю, я так делал уже, но вопрос был в другом можно ли сделать по другому, и кроме hhhh мне ни кто нового ниче не сказал, только понты
|
|||
32
pessok
27.01.12
✎
14:39
|
(29) зачем? зачем тебе модуль документа? ты там процедуры делаешь экспортными чтоль? смысл в этом какой?
Док = Документы.ЗаказПокупателя.СоздатьДокумент(); ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док); Док.Контрагент = ВыборкаШапка.Контрагент; ВыборкаТовары = ВыборкаШапка.Выбрать() Пока ВыборкаТовары.Следубщий Цикл НСтр = Док.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НСтр, ВыборкаТовары); КонецЦикла Док.Записать(РежимЗаписиДокумента.Запись); Док.ПолучитьФорму("ФормаДокумента").Открыть(); всех дел... |
|||
33
BayoNet
27.01.12
✎
14:39
|
(30) Ты прав конечно есть моменты кто это делал знает, бывает так что глобальные переменные надо из обработки заново объявлять
|
|||
34
pessok
27.01.12
✎
14:40
|
(31) зачем делать по-другому, если ты не хочешь велосипедить?
|
|||
35
BayoNet
27.01.12
✎
14:42
|
(32) ну вобще согласен, лучше сразу в общий модуль залезть, чем в модуль объекта. Просто там такие процедуры как при выборе контрагента уже Экспортная
|
|||
36
pessok
27.01.12
✎
14:45
|
(25) такие вещи, как договор контрагента лучше устанавливать самому. Вообще я тоже го*нокод написал, потому что сначала надо заполнять договор, а потом договор.владелец :)
|
|||
37
pessok
27.01.12
✎
14:45
|
(36) 2 (35)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |