Имя: Пароль:
1C
1C 7.7
v7: Formex и поле табличной части документа
0 zenon46
 
24.08.20
16:46
Доброго дня!
Formex-ом не пользовался, а потому прошу помочь в решении следующей задачи, есть МНЧ документа при дабл клике по двум определенным колонкам должны запускаться два разных реестра, все работает на не проведенном документе, как только документ проводится, то он становиться ТолькоПросомтр(1) соответсвенно события стандартные события типа ПриНачалеРедактированияСтроки() уже не работаю, как можно с помощью и можно ли вообще это сделать formex-ом, два поля не являются реквизитами ТЧ это тексты с формулами которые заполняются значениями из регистров.
1 MWWRuza
 
гуру
24.08.20
18:44
А не лучше такое сделать из печатной формы документа, через обработку ячейки таблицы? Две разных колонки, две разных процедуры. Все можно штатными средствами сделать, даже без Formex.
2 zenon46
 
24.08.20
20:00
(1) а причем тут печатная форма, если речь идет о многострочной части документа
3 trdm
 
24.08.20
20:12
ПриДвойномНажатииЛевойКнопки(<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>)
+
Форма.ТекущаяКолонка()/НомерСтроки

так сойдет?
4 MWWRuza
 
гуру
24.08.20
21:29
(2) причем тут печатная форма,
Да не при чем... Просто: "должны запускаться два разных реестра", навело на мысль, что это тоже какие-то печатные формы. И соответственно, можно их вызывать не из табличной части документа, а как расшифровку печатной формы этого документа - логическое продолжение вывода информации. Я прекрасно понял Вашу постановку задачи, просто предложил ее немного изменить. Конечно, если эти "реестры" не просто печатные формы, а какие-то обработки, которые что-то в свою очередь делают(изменяют данные), тогда да, из печатной формы их не логично вызывать.
5 zenon46
 
25.08.20
09:50
(3) да сработало, даже без номера строки

Процедура ПриДвойномНажатииЛевойКнопки(Сост,КоординатаПоГоризонтали,КоординатаПоВертикали,ФСО)
    
    Если Форма.ТолькоПросмотр() = 1 Тогда
        Если Форма.ТекущаяКолонка() = "колЗаказ" Тогда
            ОткрытьФормуМодально("Отчет.РеестрНеЗакрытыхЗаказовПоставщику",Номенклатура);
        ИначеЕсли Форма.ТекущаяКолонка() = "колРезерв" Тогда
            ОткрытьФормуМодально("Отчет.РеестрНеЗакрытыхРезервов",Номенклатура);
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры //ПриДвойномНажатииЛевойКнопки