Имя: Пароль:
1C
1С v8
Как заполнить переменную объекта документа в упр форме?
0 shamannk
 
13.07.16
11:47
В модуле объекта есть: Перем Статус Экспорт; в обычных формах просто заполнял статус и в модуле объекта эта переменная была заполнена. В упр форма методом РеквизитФормыВЗначение получил объект заполнил статус но при проведении статус в модуле не заполняется. Как заполнить?
1 Nuobu
 
13.07.16
11:49
В управляемом приложении нужно эту переменную передавать параметром, а не искать в модуле.
2 shamannk
 
13.07.16
11:51
(1) Как?
3 Господин ПЖ
 
13.07.16
11:51
>В упр форма методом РеквизитФормыВЗначение получил объект заполнил статус но при проведении статус в модуле не заполняется

переменные объекта живут только на сервере
4 Nuobu
 
13.07.16
11:53
(2) Передать параметром. Если тебе в функции "ОбработкаПроведения" нужна какая-то переменная, которая есть на форме, но нету в реквизитах Объекта, то ты можешь её передать одним из параметров.
http://catalog.mista.ru/public/153748/
5 shamannk
 
13.07.16
12:16
(4) Не понял как в модуле объекта ее принять?
6 Numerus Mikhail
 
13.07.16
12:20
(5)
Например в ПередЗаписьюНаСервере
ТекущийОбъект.ДополнительныеСвойства.Вставить("НазваниеПараметра",Параметр);

И потом в модуле объекта где тебе надо
Если ДополнительныеСвойства.Свойство("НазваниеПараметра") Тогда

КонецЕсли;
7 shamannk
 
13.07.16
12:24
(6) А про параметры мне тут выше рассказывали не то что-ли?
8 Numerus Mikhail
 
13.07.16
12:26
(7) именно то
ты спросил как в модуле объекта ее принять, я тебе показал
9 Рэйв
 
13.07.16
12:34
(0)Вмест с РеквизитФормыВЗначение потом неплохо бы сделать
ЗначениеВРеквизитФормы если хочешь чтобы объект записался потом заполненными данными
10 shamannk
 
13.07.16
12:58
(8) Параметрами вы их сами обзываете? В коде это доп свойства.
11 DrZombi
 
гуру
13.07.16
13:01
(0) Лучше уйти от этого .

Если уж кровь из носу, то можно получить ПередЗаписьюНаСервере

Расширение управляемой формы для документа.ПередЗаписьюНаСервере (Managed form extension for documents.BeforeWriteAtServer)
Расширение управляемой формы для документа (Managed form extension for documents)
ПередЗаписьюНаСервере (BeforeWriteAtServer)
Синтаксис:

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

<Отказ>

Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись произведена не будет.
Значение по умолчанию: Ложь
<ТекущийОбъект>

Тип: ДокументОбъект.
Записываемый объект.
<ПараметрыЗаписи>

Тип: Структура.
Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра РежимЗаписи и РежимПроведения. Они добавляются автоматически при вызове команд "Провести", "Провести и закрыть", "Отмена проведения".
Описание:

Вызывается перед записью объекта на сервере.
Можно отменить запись. Выполняется вне транзакции.
12 shamannk
 
13.07.16
13:05
(11) Для чего вы СП выложили?
13 shamannk
 
13.07.16
13:10
(6) Не подходит ОбработкаПроверкиЗаполнения раньше возникает и переменная не заполнена еще.
14 Numerus Mikhail
 
13.07.16
13:24
(10) какая разница как я их называю?) Оно же идеально подходит для твоих целей
15 Nuobu
 
13.07.16
13:27
(12) Намёк на параметр "ПараметрыЗаписи". Это структура и туда можно дописать свой любой параметр.
16 shamannk
 
13.07.16
13:28
(15) И как их до модуля объекта дотянуть?
17 shamannk
 
13.07.16
13:28
(14) Не подходит (13)
18 Nuobu
 
13.07.16
13:30
(16) В форме пишешь "Записать(Новый Структура("ПараметрЧтобОтловитьНаСервере", ЗначениеПараметра));"

И отлавливаешь.
19 shamannk
 
13.07.16
13:31
(18) Не знаешь?
20 FIXXXL
 
13.07.16
13:35
(19) ОбработкаПроверкиЗаполнения у тебя переменные модуля объекта проверяет?
21 shamannk
 
13.07.16
13:38
(20) От переменной заполняются реквизиты объекта, получается да.
22 FIXXXL
 
13.07.16
13:41
(21) что мешает их заполнять ДО проведения?
задублируй заполнение на форме ПередЗаписью
РеквизитВЗначение - Вызов процедуры заполнения - ЗначениеВРеквизит и пусть дальше едет проводится
23 shamannk
 
13.07.16
13:44
(22) если честно то я подзаеб..ся все переделывать потому что упр. форма не может что то делать.
24 Nuobu
 
13.07.16
13:45
(23) Увольняйся, дай дорогу тем, кто еще не подзаебался.
25 shamannk
 
13.07.16
13:46
Это же элементарно заполнить переменную объекта. В упр приложении это проблема. Что за бред заполнение после проверки заполнения ааааааааа.....
26 Nuobu
 
13.07.16
13:47
(25) Ты читал статью из (4)?
27 shamannk
 
13.07.16
13:48
(24) Вы убедите сначала клиента за эту переделку заплатить, аргумент "упр форма это не магет" так себе.
28 Fish
 
гуру
13.07.16
13:48
(25) Привыкай. Для клиент-серверных приложений это нормально.
29 Fish
 
гуру
13.07.16
13:49
(27) Управляемые формы могут всё. Не могут некоторые программисты, которые не читают документацию. А это 2 большие разницы :)
30 shamannk
 
13.07.16
13:50
(29) Вот вы не некоторый наверно ответе на сабж.
31 Numerus Mikhail
 
13.07.16
13:52
(30) Опиши конкретно последовательность действий которую ты выполняешь
32 shamannk
 
13.07.16
13:53
(26) Прочитал как понял пробрасывают параметры на форме с клиента на сервер через параметр перед записью. Как это мне поможет не понял.
33 DrZombi
 
гуру
13.07.16
13:54
(16) Руками + голова, через (6), а именно "ДополнительныеСвойства"
34 DrZombi
 
гуру
13.07.16
13:54
(32) Уходите от переменных в модуле. На УФ это головная боль.
35 DrZombi
 
гуру
13.07.16
13:55
(27) Клиент платит за конечный результат. Как ты это выполнишь, его не должно касаться :)

Иначе бы клиент мог бы сам сесть и сделать :)
36 shamannk
 
13.07.16
13:56
(33) Не получается смотри (13)
37 Fish
 
гуру
13.07.16
13:56
(30) Ответ прост: не используй в УФ переменные объекта.
38 DrZombi
 
гуру
13.07.16
13:56
(31) Да там поди в модуле проведения по переменной устанавливается исключение из правил.
39 shamannk
 
13.07.16
13:58
(35) Это не клиент а лох так делает. Если продукт простой и секундный то сделай сам или не плати много.
40 Fish
 
гуру
13.07.16
13:58
Интересно, что автор скажет про асинхронные вызовы? :)
41 DrZombi
 
гуру
13.07.16
13:58
(36) Делай просто.
в УФ получай Объект на стороне сервера.
Дальше работаешь как обычно с объектом, как в толстом клиенте.
42 shamannk
 
13.07.16
13:59
(37) Как иначе? реквизит объекта не нужен.
43 DrZombi
 
гуру
13.07.16
13:59
(42) Реквизиты объекта и переменные, это две разные вещи :)
44 shamannk
 
13.07.16
14:00
(43) не спрашивали отвечаем)
45 shamannk
 
13.07.16
14:01
(41) Мне проводки нужно сформировать от него и реквизиты заполнить
46 Fish
 
гуру
13.07.16
14:03
(42) Уже ответили же: используй параметры.
47 shamannk
 
13.07.16
14:05
(46) В (13) неподходит.
48 Nuobu
 
13.07.16
14:11
(47) Значит, кривой код пишешь, раз тебе параметры не подходят. Читай статью из (4) и вот эту до просветления:
http://catalog.mista.ru/public/198766/
49 FIXXXL
 
13.07.16
14:11
(23) это не форма, а новый метод работы платформы
теперь так, привыкай
50 DrZombi
 
гуру
13.07.16
14:12
(45) Чито?
У 8.х вообще можно документ не проводить.
Выставить галочку "Проведен" в истину
А движения нарисовать из другого места :)
51 shamannk
 
13.07.16
14:16
(48) Со стороны 1С наверно, там же правильно сначала проверку заполнения проводить а патом параметры заполнять)
52 shamannk
 
13.07.16
14:16
(50) Я в курсе о работе 1С через одно место)
53 shamannk
 
13.07.16
14:26
Форма (не только в 1С) не должна заниматься созданием данных, он всего лишь служит инструментом ввода. Данные могут придти откуда угодно в этот объект: Другая форма, Обработка, внешнее соединение. Упр форма этого же объекта  получается не может передать параметры до их проверки объектом.
54 Nuobu
 
13.07.16
14:27
(53) Если не нравятся 1С-ные формы, пиши свою 1С. Тут тебе уже сказали, как нужно сделать, чтобы твоя задача решилась в среде разработки 1С. Прими это как данность.
55 DrZombi
 
гуру
13.07.16
14:30
(53) Все он может, просто проверка у вас не там где надо и не такая :)
56 shamannk
 
13.07.16
14:32
(55) А как надо вы не скажите)