Можно ли узнать из какого пункта меню вывается документ-список? Есть Документ. У документа есть ФормаСписок.
Как узнать, из какого пункта меню открывается этот список?
Дело в том, что в зависимости от того, откуда открывается эта форма, должен устанавливаться разный фильтр:
Код 1C v 8.х Если < вызов из Пункта1 > Тогда
< Фильтр поле1 = 1 >
ИначеЕсли < вызов из Пункта2 > Тогда
< Фильтр поле1 = 2 >
ИначеЕсли < вызов из Пункта3 > Тогда
< Фильтр поле1 = 3 >
КонецЕсли ;
Ответ:
Возможности определить откуда было открыто - нет! *08
Как
варинат предлагаю создать несколько форм с разными фильтрами и в каждом пункте меню указать открытие своей формы списка (
В свойствах элемента панели - Основные свойства - Форма )!
Категория:
Список Справочника, Документов, Регистров Функция загружает весь табличный документ в таблицу значений Код 1C v 8.х
Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1) Экспорт
ТаблицаДанных = Новый ТаблицаЗначений;
НомерКолонки = 0 ;
Пока Истина Цикл
НомерКолонки = НомерКолонки + 1 ;
ИмяКолонки = ТабДок. Область( 1 , НомерКолонки) . Текст;
Если ПустаяСтрока( ИмяКолонки) Тогда
Прервать ;
КонецЕсли ;
ТаблицаДанных. Колонки. Добавить( ИмяКолонки) ;
КонецЦикла ;
СчетчикКолонок = НомерКолонки - 1 ;
НомерСтроки = 1 ; ФлагПрерывания = Ложь ;
Пока Истина Цикл
НомерСтроки = НомерСтроки + 1 ;
Стр = ТаблицаДанных. Добавить( ) ;
Для А = 1 ПО СчетчикКолонок Цикл
ТекстКолонки = ТабДок. Область( НомерСтроки, А) . Текст;
Если ПустаяСтрока( ТекстКолонки) Тогда
Если А = КолонкаИндекса Тогда
Флагпрерывания = Истина ;
ТаблицаДанных. Удалить( Стр) ;
КонецЕсли ;
Иначе
Стр[А - 1 ] = ТекстКолонки
КонецЕсли ;
Если Флагпрерывания Тогда
Прервать
КонецЕсли ;
КонецЦикла ;
Если Флагпрерывания Тогда
Прервать
КонецЕсли ;
КонецЦикла ;
Возврат ТаблицаДанных
КонецФункции
Функция обМакетВТаблицуЗначений(Макет) Экспорт
Перем ТЗ;
ТЗ= Новый ТаблицаЗначений( ) ;
#Если Клиент Тогда
Для Стр= 1 По Макет. ВысотаТаблицы Цикл
Если Стр> 1 Тогда
ТекСтр= ТЗ. Добавить( ) ;
КонецЕсли ;
ПустаяСтрока= истина ;
Для Кол= 1 По Макет. ШиринаТаблицы Цикл
Яч= Макет. Область( Стр, Кол) ;
Если Яч. СодержитЗначение Тогда
Зн= Яч. Значение;
Иначе
Зн= Яч. Текст;
КонецЕсли ;
Если ТипЗнч( Зн) = Тип( "Строка" ) И ПустаяСтрока( Зн) Тогда
Зн= Неопределено ;
КонецЕсли ;
Если Стр= 1 Тогда
ТЗ. Колонки. Добавить( Зн) ;
Иначе
ТекСтр[Кол- 1 ]= Зн;
КонецЕсли ;
КонецЦикла ;
КонецЦикла ;
#КонецЕсли
Возврат ТЗ;
КонецФункции
Категория:
Табличный документ