Имя: Пароль:
1C
 
Обращение к процедуре Записи из внешней обработки
, ,
0 Tanis
 
19.08.14
17:59
Вечер добрый!
Подскажите, пожалуйста, как можно из внешней обработки обратиться к процедуре ПередЗаписью?
Дело в том, что их 2, одна находится в Модуле объекта, а вторая в Модуле формы элемента.
При записи созданного объекта через обработку, обращение идет к процедуре из модуля объекта.
На процедуру в форме элемента он и не реагирует.
1 Wobland
 
19.08.14
18:00
что-то ты делаешь не так
2 Tanis
 
19.08.14
18:05
согласен, вот только где и как исправить...
при создании в базе, все нормально, при нажатии кнопки записать, проходит процедуру. а если из внешней обработки, то не хочет и все...
3 Wobland
 
19.08.14
18:10
предлагаю переосмыслить задачу
4 hhhh
 
19.08.14
18:11
(2) так и задумано.
5 vicof
 
20.08.14
01:25
(0) ты близок к разгадке тайны века
6 User_Agronom
 
20.08.14
07:13
(0) А слабо действия из процедура модуля формы перенести в процедуру в модуль формы обработки?
7 Tanis
 
20.08.14
10:47
День добрый!

(6) Это был не выход.
(5) тайну века разгадал.

Но теперь другой вопрос. (другая тайна века)
При записи выскакивает вопрос, как сделать чтоб ответ сам выбирался?
Запись() .....  Или как то Запись(....)
8 Tanis
 
20.08.14
11:12
Подскажите, плиз.
Как это можно сделать?
9 Dmitriy_76
 
20.08.14
11:14
(8) ДополнительныеСвойства ... о чем нибудь говорит?
10 Timon1405
 
20.08.14
11:15
Форма = Объект.ПолучитьФорму("ФормаДокумента");
    Форма.Открыть();
    Форма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный;
    Форма.ЗаписатьВФорме(РежимЗаписиДокумента.Проведение);
    Форма.Закрыть();
Только ты меня не слушай, это я плохому учу
11 ВРедная
 
20.08.14
11:16
(7) То, что происходит при записи в форме должно быть актуально только  при интерактивной записи. Т.е. когда пользователь смотрит на открытую форму и жмет кнопку "Записать".

Все остальное должно быть в модуле объекта.

Если у тебя не так - извращайся и переделывай.
12 User_Agronom
 
20.08.14
11:20
(7) Значит и первую не разгадал.
Или неправильно формулируешь ответ.
13 Tanis
 
20.08.14
11:23
Запись происходит, все нормально.
Просто при записи должен быть вопрос. Вот он и выходит.
Вот и надо сделать так чтоб этот вопрос не выходил, чтоб не нажимать (а то их много будет).
14 Tanis
 
20.08.14
11:24
т.е для создания одного элемента все как положено.
но обработку эту и делаю, чтоб множество этих элементов занеслось.
15 Timon1405
 
20.08.14
11:26
(6) (11) случаи разные бывают, вот дали вам базу, где уже (по своим причинам) вся логика на записи в форме сделана и у вас 2 варианта:
1)переносить все в МО, следовательно править конфу Заказчика и автоматом отвечать за все переделки и косяки которые при этом выползут, или
2)сделать проведение из формы и прикрыться, что логика проведения остается такая же, которая была(вам не важно, правильная она или нет!)
какой вариант выберете вы?
16 Timon1405
 
20.08.14
11:27
хотя скорее всего ТС банально записывает номенклатуру и ее единицу измерения...
17 ВРедная
 
20.08.14
11:34
(15) Если база просто попала ко мне и дорабатывать этот блок не надо - все оставлю как есть. Если встал такой вопрос, значит уже нужно что-то переделывать.

В этом случае буду переносить все в модуль, т.к. во втором случае переделывать тоже придется, и не факт что там не вылезут косяки.
18 barrgand
 
20.08.14
11:42
(13) При записи в модуле объекта не должно быть вопросов
19 Tanis
 
20.08.14
11:45
Это в модуле формы. В ПередЗаписью.
20 barrgand
 
20.08.14
11:47
(19) Это все неправильно, лучше исправь сразу, а то потом хуже будет.
А так, добавь реквизит форме ЗадаватьВопрос, и в обработке ставь Ложь
21 ВРедная
 
20.08.14
11:49
Да, обложи там все костылями, чтобы следующему поколению программистов было чем заняться после приема на работу.
22 User_Agronom
 
20.08.14
11:51
(20) Правильный совет: при написании внешней обработки обязательно нужно менять конфигурацию. А я-то всегда думал, что обработки делают внешними, чтобы конфу не менять. Как же я ошибался: рукалицо((
23 barrgand
 
20.08.14
11:57
(22) Если при записи объекта из обработки необходимо обращаться в процедуру модуля формы - то да, обязательно необходимо менять конфу
24 Tanis
 
20.08.14
12:06
Изменил бы, но обработка временная.
Отключить этот вопрос, а потом снова включать что-то не хочется. т.к наверняка можно что-то придумать, чтоб из обработки вставить ответ.
25 Tanis
 
20.08.14
12:10
хотя, наверно не придумать...
придется отключать...
26 User_Agronom
 
20.08.14
12:20
(25) Ну ты же советов не слушаешь. Тихо сам с собою ведёшь беседу.
27 Dmitriy_76
 
20.08.14
12:25
(24) а ты топик 9 читал ?


(25) именно так
28 Tanis
 
20.08.14
12:28
Сорри!
А доп свойства, чего смотреть? точнее даже найти?
29 Dmitriy_76
 
20.08.14
12:32
(28) доп свойства - это стуктура живущая вместе с объектом-документом (во время его обработчиков) . почитай СП
30 User_Agronom
 
20.08.14
12:35
(29) Непонятно, как её тут использовать.
Обработка внешняя. Запомнить параметр до, а потом проверить каким он стал после? В данной задаче это не нужно. По моему автор хочет "нажать" кнопочку "Заполнить и провести" программно. И что тут нужно запоминать до?
31 Crush
 
20.08.14
12:36
Скопировать процедуру формы во внешнюю временную обработку не предлагали?
32 Dmitriy_76
 
20.08.14
12:36
(31) ещо нет :)
33 Dmitriy_76
 
20.08.14
12:37
(30) запоминать что это программно..и "вопросы на форме" не нужны.. те что у него в модуле формы...
34 User_Agronom
 
20.08.14
12:38
(31) (32) Всю ветку нужно читать: (6)
Но это автору (7). Карма мешает.
35 User_Agronom
 
20.08.14
12:40
(33) Нужно не заниматься анонизмом в презервативе, а перенести код из формы во внешнюю обработку, отключив вызовы вопросов (они вызываются из формы, поэтому сделать легко).

Тогда и конфу менять не нужно, и обработка сделает что положено. Но до ТС это ещё не дошло.
36 Crush
 
20.08.14
12:45
+ скопировать форму элемента во внешнюю обработку и установить основной реквизит формы:)
37 Dmitriy_76
 
20.08.14
12:47
(35) вот так и рождаются "настоящие" кодеры ... :)
38 Tanis
 
20.08.14
12:51
В том то и дело, что переносом этой процедуры не обойтись, их там слишком много.
39 User_Agronom
 
20.08.14
12:52
(37) Зато быстро и работает ;)

нам нужен кусок кода, который делает тоже, что в типовой, но немного не так.

Переносим в обработку

Вносим изменения

Выставляем счет на 250 часов.

Вуаля.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.