Имя: Пароль:
1C
1С v8
Обращение к реквизиту формы из обработки
0 Pasha12312
 
07.05.13
14:32
Здравствуйте!
Есть внешняя обработка , которая создает табеля(документ "Табель")
Подскажите , как  обратится к реквизиту формы документа (там есть 3 переключителя, реквизитами документа не являются) из этой обработки.
Пробовал:
//Форма = Документ.ПолучитьФорму("ФормаДокумента");
//Форма.ЭлементыФормы.     // -  не получилось(елементы не отображаются , только методы Получить, Очистить, Удалить ..........)
1 Defender aka LINN
 
07.05.13
14:33
Не нужно это тебе, юный падаван
2 Шапокляк
 
07.05.13
14:34
Если переключатели никак с данными не связаны, то никак, а если связаны - обращайся к данным.
3 palpetrovich
 
07.05.13
14:35
у реквизитов формы нет значения без формы, так что повторяй  в обработке алгоритм получения этих значений
4 drongo-god
 
07.05.13
14:42
(0) Если тебе нужно обратиться к реквизиту формы то при чем тут "ЭлементыФормы"
5 drongo-god
 
07.05.13
14:52
(0) Реквизиты формы должны быть доступны через Форма.Имя реквизита
6 Pasha12312
 
07.05.13
14:58
(5) через Форма.ИмяРек -  их там нет . (там встроенные процедуры, функции, методы.)
7 drongo-god
 
07.05.13
15:01
(6) если 8.2, управляемые формы, выполнять на клиенте то точно есть.
только форму получал как  ПолучитьФорму("Документ."Имя документа".Форма.ФормаДокумента")
8 Pasha12312
 
07.05.13
15:08
формы обычные. (7)
9 mikecool
 
07.05.13
15:13
(8) ищи данные ,связанные с реквизитом формы, как в (2) написано
10 Pasha12312
 
08.05.13
11:27
на панели свойств , есть группа Данные, ВыбираемоеЗначение. как программно установить это значение с обработки?
11 cw014
 
08.05.13
11:28
(10) Из формы
12 Pasha12312
 
08.05.13
11:29
(11) как ? объясните, пожалуйста.
13 Pasha12312
 
08.05.13
11:30
на форме обработки  тоже сделать переключатели?
14 cw014
 
08.05.13
11:33
Открываешь форму, и там проверяешь значение. Форму открывать руками (не кодом) :)
15 Pasha12312
 
08.05.13
11:38
(14) какие там значения мне известно. я хочу установить их программно и записать документ. не знаю как к ним обращаться из обработки.
16 Infsams654
 
08.05.13
11:44
(15) правильно (1) - объясни, зачем это нужно? Если из обработки записывать документ, то сразу все в документ-объект. Если из обработки создавать интеративно документ, то документ же все и запишет как надо.
17 mxs089
 
08.05.13
12:12
(15) я тебе поясню, юный падавн) создай объект: мойновыйдокумент = документы.документ.создатьдокумент();

и теперь заполняй его реквизиты:
мойновыйдокумент.поле_которое_я_хочу_заполнить

а после:
мойновыйдокумент.записать()
18 mxs089
 
08.05.13
12:13
*мойновыйдокумент.поле_которое_я_хочу_заполнить = значение:
19 Pasha12312
 
08.05.13
12:18
я  понял , сансеи)
20 BadTouch
 
08.05.13
12:27
Ржачный вопрос))))
А если по делу:
"Есть внешняя обработка , которая создает табеля" - на сколько понимаю обработка все же записывает эти документы в БД, а не просто открывает их формы для последующей интерактивной записи (если это не так, то можно не читать дальше)))).
"там есть 3 переключителя, реквизитами документа не являются", раз они не являются реквизитами документа, то при открытии (обновлении, изменеиии реквизитов) выставляются программно, соответственно тебе не нужно пытаться их поменять, тебе необходимо:
1. Найти алгоритм, который выставляет переключатели
2. Понять как он работает и от каких данных зависит, а может он зависеть только от данных в БД
3. Понять какое положение переключателей нужно тебе и сопоставить эти положения с данными которые надо записать в БД, чтобы при открытии формы переключатели выставлялись в нужное положение.
4. Записать необходимые данные в БД (это скорей всего будут реквизиты документа, либо реквизиты одного из ссылочных реквизитов реквизита документа, либо записи в регистр сведений), бывают конечно еще более тонкие извраты, но редко.
5. Ну собственно после этого можно наслаждаться результатом

P.S. Установка реквизитов через форму скорей всего ничего не даст, необходимо смотреть обработчик ПриИзменении. Извращенцев много, поэтому есть вероятность, что изменения обрабатываются ПередЗаписью или ПриЗаписи (для изменения регистров сведений).
21 Pasha12312
 
08.05.13
12:29
огромное спасибо !
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший