Имя: Пароль:
1C
1C 7.7
v7: Как ПриОткрытии активировать реквизит типа справочник
0 alex_reglament
 
28.09.12
13:52
привет всем!! помогите пожалуйста
на форме обработки имеется реквизит типа справочник.МойСправочник
нужно стобы ПриОткрытии этой отбработки сночало открывался этот самый справочник за тем выбирался нужный мне элемент справочника после выбора элемента форма должна закрыться и данный элемент должен отобразиться в реквизите что на форме обработке несколько ньюансов данный справочник подчинен справочнику номенклатура элемент номенклатуры уже известен каким оброзом все это воплотить в реальность помогите пожалуйста
делал следующие в процедуре обработки ПриОткрытии()
спрПартия = СоздатьОбъект("Справочник.Партии");
   спрПартия.ИспользоватьВладельца(ТМЦ1);
   Партия = ОткрытьФормуМодально("Справочник.Партии","ДляВыбора");
не помогает да и бред это я вродебы и использую владельца но для спрпартия а открываю то форму не использовав его пи этом форма открывается но при выборе элемента и нажатии на нем Enter он переходит в редактирование данного элемента и не выбирается
1 alex_reglament
 
28.09.12
13:53
+(0) Партия это и есть реквизит который должен запуститься при открытии
2 alex_reglament
 
28.09.12
13:57
ну что поможет мне кто?
3 Ёпрст
 
28.09.12
14:02
(0)

ну так, хотя бы

Процедура ПриОткрытии()
   спрПартия = СоздатьОбъект("Справочник.Партии");
   спрПартия.ИспользоватьВладельца(ТМЦ1);//тмц1 откуда хоть ? :))
   Если спрПартия.Выбрать("выбери меня")=1 Тогда
       Партия = спрПартия.ТекущийЭлемент();
   КонецЕсли;
   СтатусВозврата(0);
4 pofigos
 
28.09.12
14:07
(0) реализовано так:

в накладной функция:

СЗПараметры = СоздатьОбъект("СписокЗначений");
   СЗПараметры.ДобавитьЗначение(МОЛ,"МОЛ");
   СЗПараметры.ДобавитьЗначение(ВремВидТМЦ,"ВидТовара");
   СЗПараметры.ДобавитьЗначение(ДатаДок,"НаДату");
   СЗПараметры.ДобавитьЗначение(0,"СтатусВозврата");
   ОткрытьФормуМодально("Обработка.ПодборПартии",СЗПараметры);
   Если СЗПараметры.Получить("СтатусВозврата")=0 Тогда
       Возврат 0;
   КонецЕсли;
   
   Возврат СЗПараметры.Получить("Партия");
5 pofigos
 
28.09.12
14:07
(4) а в самой обработке возврат по выбранной строке
6 alex_reglament
 
28.09.12
14:11
(5) именно так у меня сделано в глобальнике а обработка на самом деле подбора количества
СЗПараметры = СоздатьОбъект("СписокЗначений");
   СЗПараметры.ДобавитьЗначение(МОЛ,"МОЛ");
   СЗПараметры.ДобавитьЗначение(ВремВидТМЦ,"ВидТовара");
   СЗПараметры.ДобавитьЗначение(ДатаДок,"НаДату");
   СЗПараметры.ДобавитьЗначение(0,"СтатусВозврата");
   ОткрытьФормуМодально("Обработка.ПодборПартии",СЗПараметры);
   Если СЗПараметры.Получить("СтатусВозврата")=0 Тогда
       Возврат 0;
   КонецЕсли;
   
   Возврат СЗПараметры.Получить("Партия");
7 pofigos
 
28.09.12
14:13
Создай в обработке процедуру ПриВыбореСтроки или как-то так. которая будет возвращать значение и закрывать форму. Это один из вариантов конечно.
8 pofigos
 
28.09.12
14:15
(6)
Процедура ПриВыбореСтроки()
  Форма.Параметр.Установить("СтатусВозврата",1);
  Форма.Параметр.Установить("Партия",ТЗ.Партия);
  Форма.Закрыть();
КонецПроцедуры

и смотри  СЗПараметры.Получить("Партия"); уже в модуле накладной. Примерно так
9 alex_reglament
 
28.09.12
14:17
из глобальника я получаю тмц но при открытии мне нужно чтобы открылась для выбора форма спр  партия и после выбора элемента закрылась а открытой осталась только форма обработки для заполнения оставшихся реквизитов
10 Ganiev
 
28.09.12
14:20
Сделай процедуру например по кнопке подбор там опиши парметры и фильтры списка который должен для подбора показатся, ну и в процедуре ПриОткрытии что то типо такого!!

Если ПустоеЗначение(Партия) = 1 Тогда
ПоКнопкеПодбор();  
КонецЕсли;
11 pofigos
 
28.09.12
14:21
(9) так и написано
При выборе ТМЦ функция подбора партии (4) а уже там возврат именно выбранной партии (6) к форме накладной, для продолжения заполнения.
12 alex_reglament
 
28.09.12
15:14
если делать как в (10) то так?
Функция ВыборП()
СпрПартий = СоздатьОбъект(Спр.Партии);
спрПартий.ИспользоватьВладельца(ТМЦ);
а открыть для выбора то как???

конецФункции;
13 alex_reglament
 
28.09.12
15:15
если как я понима открытьформу(СпрПартий);
так же не попрет???
14 Cthulhu
 
28.09.12
15:17
(12): ОткрытьПодбор(..)
+ ОбработкаПодбора(..) в модуле вызвавшей формы.
15 alex_reglament
 
28.09.12
15:48
использовал открыть подбор создал кнопочку в формуле новая функция Партия()
Партия = ОткрытьПодбор("Справочник.Партии","ДляВыбора");
конецФункции
и теперь при нажатии на кнопочку форма партий то появляется но активным остается форма обработки то есть из формы партий я нечего выбрать не могу обработка мешает и к тому же как спр партии показать владельца если я использую ОткрытьПодбор
16 alex_reglament
 
28.09.12
15:54
что делать подскажите пожалуйста
17 Ёпрст
 
28.09.12
15:56
либо смотреть на (3) либо смотреть типовой ТиС.. в табличную часть - там есть выбор партии
18 Ёпрст
 
28.09.12
15:57
только в типовом отчете, сделано маленько через ж..
проще заместо открытия формы списка справочника открывать подбором свою форму обработки с табличным полем (или тз на форме), которую заполнять прямым запросом.
19 Ёпрст
 
28.09.12
15:58
там и фильтр любой и останки какие надо.
20 Ёпрст
 
28.09.12
15:58
и быстро
21 alex_reglament
 
28.09.12
16:13
сделал (3) но вот еще вопрос как развернуть теперь эту форму что бы в нее все помещалось?