Имя: Пароль:
1C
1С v8
Передача переменной из модуля формы, в модуль объекта
0 Kaban145
 
12.12.21
17:17
Здравствуйте, есть обработка, в модуле формы переменная НачДата, заполняется значением на форме, как можно передать это значение в модуль объекта?
1 ДенисЧ
 
12.12.21
17:19
Параметром функции, например.
2 acht
 
12.12.21
17:24
(1) Гении обычно передают через справочник дор_ЗПСлужебный
3 ДенисЧ
 
12.12.21
17:26
(2) Тут не геня, не надо плохого...
4 Kaban145
 
12.12.21
17:35
А можно пример кода?
5 Ненавижу 1С
 
гуру
12.12.21
17:41
(0) только не в модуль объекта, а в объект:

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

    ТекущийОбъект.ДополнительныеСвойства.Вставить("НеобходимаяНачДата",НачДата);
    
КонецПроцедуры
6 Ненавижу 1С
 
гуру
12.12.21
17:41
(5) естественно этот метод должен быть соответствующим событием формы
7 Kaban145
 
12.12.21
17:46
А без использования процедуры ПередЗаписью?
В обработке поле ввода типа Дата, вводится дата и выполняется запрос, который лежит в модуле объекта, вот туда нужно передать эту дату для фильтра запроса и всё
8 acht
 
12.12.21
17:56
(7) Где хранятся данные, которые вводятся через это @поле типа Дата"? В реквизитах объекта или реквизитах формы?
9 Kaban145
 
12.12.21
18:00
Реквизит объекта
10 acht
 
12.12.21
18:02
(9) > Реквизит объекта
В этом случае эта дата доступна в том же самом реквизите объекта при работе метода внутри контекста объекта.
11 Ненавижу 1С
 
гуру
12.12.21
18:10
(9) люди на пустом месте себе проблемы создают
12 Kaban145
 
12.12.21
18:28
Как это в коде написать?
13 Ненавижу 1С
 
гуру
12.12.21
19:40
(12) что это? Если это реквизит объекта, то вынеси его на форму. Всё будет сохраняться в объекте "само"
14 Kaban145
 
12.12.21
20:30
(13)  ты мне уже раз в 7 помогаешь, спасибо.)
15 acht
 
12.12.21
21:33
(14) Максим, а ты когда (9) писал, что в виду-то имел?
16 Kaban145
 
12.12.21
21:39
Нет, не помогло, он уже на форме, но запрос всё равно не выполняется по дате
17 Kaban145
 
12.12.21
21:41
Если указать дату строкой в модуле объекта, то всё работает, а перенести значение с формы не получается
18 hhhh
 
12.12.21
21:46
(17) в процедуре ПередЗаписью реквизит еще не записан. Поэтому запросом не вариант.
19 acht
 
12.12.21
21:50
(18) Откуда вы взяли, что это все происходит прт записи?
20 hhhh
 
12.12.21
22:34
(19) да, ошибся. Но если как в (7), то у него вообще ничего в базу не пишется, а он пробует запросом прочитать дату из базы.
21 Kaban145
 
12.12.21
22:43
Нет, у меня на форме реквизит Дата, и кнопка, кнопка выполняет запрос который в модуле объекта, в запросе есть фильтр по дате и мне нужно передать из формы реквизит Дата в модуль объекта
22 hhhh
 
12.12.21
23:30
(21) тогда (1)
23 Сергиус
 
13.12.21
04:36
(0)Завести реквизит объекта не предлагать?
24 Ryzeman
 
13.12.21
07:54
(0), (21)
Модуль формы:

&НаСервере
Процедура МояКнопкаНаСервере()
    ОбъектОбработки = РеквизитФормыВЗначение("Объект");
    ОбъектОбработки.ВыполнитьМоюОбработку(Объект.Дата);
КонецПроцедуры

&НаКлиенте
Процедура МояКнопка(Команда)
    МояКнопкаНаСервере();
КонецПроцедуры

Модуль объекта:

Процедура ВыполнитьМоюОбработку(Дата = Неопределено) Экспорт
    Сообщить(Дата);    
КонецПроцедуры


Это решение. Но судя по тому, что ты пишешь, это будет решением на неправильно поставленную задачу. Если ты что-то проверяешь запросом, то логичнее всего, что это должно происходить при записи, и скорее всего, в подписке на событие. Если же это проверка интерактивных действий пользователя, то вряд ли тут нужен модуль объекта вообще, и все проверки следует делать на форме.
25 crasler
 
13.12.21
15:45
(24) При таком раскладе параметр Дата вообще не нужен, т.к. судя Дата это реквизит объекта!
26 1Сергей
 
13.12.21
16:13
(25) Речь идёт не про модуль обработки как я пони
27 acht
 
13.12.21
16:18
(26) > не про модуль обработки

Каким органом вы все читаете?

В (0) прямым текстом же указано "есть обработка, в модуле формы переменная заполняется значением на форме, как можно передать это значение в модуль объекта"

Вы вот, т-щи 1Сники, и с ТЗ же так поступаете.
28 1Сергей
 
13.12.21
16:19
(27) :)
не сказано какого объекта
29 acht
 
13.12.21
16:22
(28) Тогда предлагаю модуль менеджера перечисления, как самый часто используемый =)
30 Kassern
 
13.12.21
16:24
Я так понимаю ТС не может в процедуру/функцию модуля объекта параметр передать из формы? Что мешает ВашаПроцедура(НужнаяДата) использовать?
31 Kassern
 
13.12.21
16:25
Так же есть ДополнительныеСвойства, для этого дела, а если еще и БСП есть в конфе и речь о внешней обработке встроенной, то можно воспользоваться хранилищем настроек
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший