Имя: Пароль:
1C
1С v8
Как управлять формой объекта из обработки?
,
0 Путник_М
 
20.02.12
09:50
Есть обработка АРМ из которой вызывается форма выбора документа Заказ, для создания новых документов и добавлении его в обработку АРМ! Как осуществить контроль записи новых документов? т. е. если  у документа например не заполнен определенный реквизит запретить его запись именно из обработки?
1 Путник_М
 
20.02.12
09:51
ФормаВыбора=документы.ВнутреннийЗаказ.ПолучитьФормуВыбора();    
   ФормаВыбора.ВладелецФормы = ЭтаФорма;
   ФОрмаВыбора.Открыть();
2 Путник_М
 
20.02.12
09:52
Как мне из обработки осуществить контроль записи документов?
3 Путник_М
 
20.02.12
09:53
Подскажите плиз, очень нужно!!!
4 Путник_М
 
20.02.12
09:55
подскажите хотя бы куда рыть?
5 Путник_М
 
20.02.12
09:57
Да самое главное версия 8.1
6 Путник_М
 
20.02.12
09:58
Подскажите коллеги...
7 Путник_М
 
20.02.12
09:59
век благодарен буду)
8 Путник_М
 
20.02.12
10:00
Людиии
9 Rusty Nail
 
20.02.12
10:02
(0) а в чем трудность?
ты же доки так записываешь: ФОрмаВыбора.Записать(Режимляляля); ?
Ну и контролируй себе Если ФОрмаВыбора.Реквизит = 1 Тогда ...
10 Rusty Nail
 
20.02.12
10:02
а нет, туплю ))
11 Путник_М
 
20.02.12
10:05
(9) неа запись осущ прям в форме
12 PVV65
 
20.02.12
10:09
Слишком все туманно... Подозреваю, что вопросы не о том. Если хочешь помощи - еще раз внятно задай вопрос.
13 Ненавижу 1С
 
гуру
20.02.12
10:10
а если юзвер потом изменит документ? уже без контроля, тогда зачем ТАКОЙ контроль?
14 Шапокляк
 
20.02.12
10:13
Простите меня за непонятливость. Вы из формы выбора хотите не только выбирать существующие документы, но и создавать новые? А вот когда вы создаете новые, что значит "добавление в обработку АРМ"? И почему для проверки заполненности документов надо как-то контролировать форму выбора?
Вообще-то, что касается контроля записи из обработки... не проще ли добавить в конфигурацию какие-то глобальные переменные, которые инициализируются при запуске обработки АРМ, и подписку на событие при записи, в котором контролируется соответствие документа именно этим параметрам?
15 Путник_М
 
20.02.12
10:17
Есть внешняя обработка содержащая в табличном поле документы ВнутреннийЗаказ! Из обработки осуществляется вызов формы выбора этого самого документа и добавление новых созданных документов

Процедура КоманднаяПанель2ДобавитьВнутреннийЗаказ(Кнопка)
   ФормаВыбора=документы.ВнутреннийЗаказ.ПолучитьФормуВыбора();    
   ФормаВыбора.ВладелецФормы = ЭтаФорма;
   ФОрмаВыбора.Открыть();    
КонецПроцедуры

Так вот мне нужно прервать создание документа если у него не заполнен опр. реквизит.
16 Путник_М
 
20.02.12
10:18
(13) документы они могут создавать только из обработки
17 Шапокляк
 
20.02.12
10:19
(15) Очень напоминает "перед прочтением сжечь". Не заполнен реквизит - не давайте записывать документ.
18 korefana
 
20.02.12
10:20
(17) либо так либо залезать в подписки на события
19 Путник_М
 
20.02.12
10:21
Я не могу в процедуре при записи документа прерывать база огромная много доков вводится автоматом при чем разработчиков было дофига, задачу нужно реализовывать быстро времени на разборы у кого как создается автомат нет
20 Путник_М
 
20.02.12
10:23
(18) Как залезть в подписки на события?
21 Путник_М
 
20.02.12
10:23
(18) может это то что нужно)
22 Путник_М
 
20.02.12
10:24
Я на 7 3 года программил в восьмерке много пока не понятно
23 Путник_М
 
20.02.12
10:25
(17) В процедуре ПриЗаписи() прописать не могу
24 Путник_М
 
20.02.12
10:27
Скажите пожалуйста Возможно вообще из обработки не влазяя в код документа прерывать его запись
25 PVV65
 
20.02.12
10:28
(24) Возможно ВСЕ.
Подожди пять минут. Не тарахти.
26 пипец
 
20.02.12
10:33
прерывать его запись (с) Оо
27 Путник_М
 
20.02.12
10:36
(26) спасибо за полезный совет
28 PVV65
 
20.02.12
10:39
1. У тебя есть внешняя обработка, одна из функций которой - создать документ "ВнутреннийЗаказ" и проконтролировать правильность его заполнения.

2. Уже есть табличное поле, имеющее тип "ДокументСписок.ВнутреннийЗаказ".

3. Есть командная панель, связанная с табличным полем, а на ней есть кнопка "Добавить".

Дальше много вариантов. Приведу один.

4. Скопируем из основной конфигурации в обработку "ФормуДокумента" "ВнутреннийЗаказ" (Ctrl+C,Ctrl+V).

5. В процедуре "КоманднаяПанель2ДобавитьВнутреннийЗаказ(Кнопка)" пишем

   НовыйДокумент = Документы.ВнутреннийЗаказ.СоздатьДокумент();
   ФормаДок = ПолучитьФорму("ФормуДокумента");
       ФормаДок.ДокументОбъект = НовыйДокумент;
   ФормаДок.Открыть();

6. Уже в своей форме документа "ВнутреннийЗаказ" ставим какие угодно контроли.
29 Путник_М
 
20.02.12
10:44
(28) Спасибо большое буду пробовать
30 Путник_М
 
20.02.12
11:22
PVV65 и все же - теперь у нас открывается форма документа, нажимаем кнопку ок срабатывают кишки документа! Я могу поставить контроль для реквизита полученной формы? Мне в кишки документа лезть нельзя
31 Путник_М
 
20.02.12
11:25
В данном случае Я так понимаю контроль все равно происходит при записи документа
32 Путник_М
 
20.02.12
11:28
(31) в самом документе
33 PVV65
 
20.02.12
12:18
В форме есть обработчики "ПередЗаписью", "ПриЗаписи" и т.д. Там и проверяй.
Программист всегда исправляет последнюю ошибку.