Как происходит вызов элемента справочника из отчета?

1. andrew87 07.07.08 06:14 Сейчас в теме
отчет СводнаяПлатежнаяВедомость - там при щелчке происзходит вызов формы элемента справочника сотрудники как это делается?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Abadonna 3960 07.07.08 07:12 Сейчас в теме
Можно просто в поле Расшифровка вставить то же значение, что стоит в поле Выражение
Например, выводится значение ТЗ.Элемент, его же прописываем в поле Расшифровка.
И обязательно должно быть Таб.ТолькоПросмотр(1) иначе не сработает
4. kitt 323 07.07.08 07:30 Сейчас в теме
Простейший пример:

Открываешь конфигуратор, в меню выбираешь "Файл->Новый->Внешний отчет, обработка"

появляется форма новой внешней обработки. Изначально на ней расположены только две кнопки "Сформировать" и "Закрыть",
а в модуле формы создана заготовка процедуры Сформировать
//*******************************************
Процедура Сформировать()

КонецПроцедуры

Также к форме по умолчанию прикреплена Таблица с именем "Таблица". Чтобы не было путаницы нажимаем на закладку таблицы правой кнопкой мыши и выбираем "Задать имя таблицы". В появившемся диалоге вводим "Печать".

В этой таблице выбираем ячейку на пересечении строчки №2 и столбца №2, нажимаем на эту ячейку правой кнопкой, выбираем "Свойства".
В появившемся диалоге на закладке "Текст" в выпадающем списке "Тип" выбираем "Выражение", ниже в самом большом поле ввода на этой же закладке пишем ПечСотр, в поле "Расшифровка" тоже вписываем ПечСотр.

Нажимем "Ок". Не убирая выделение с текущей ячейки идем в меню "Таблица->Включить в секцию". В появившемся диалоге выбираем "Горизонтальные", нажимаем "Ок". В появишвемся диалоге названия секции вводим "СтрокаСотр" и снова нажимаем "Ок". Приготовления таблицы на этом окончены.
Теперь нужно вписать немного кода который создаст эту таблицу, наполнит ее нужным содержимым и выведет на экран.

Идем на закладку "Модуль" и после строки "Процедура Сформировать()" дописываем следующее, чтобы получилось примерно так:

//*******************************************
Процедура Сформировать()

	Таб = СоздатьОбъект("Таблица"); 
	Таб.ИсходнаяТаблица("Печать");
	
	СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
	СпрСотр.ВыбратьЭлементы();
	
	Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
	    ПечСотр = СпрСотр.ТекущийЭлемент();
		Таб.ВывестиСекцию("СтрокаСотр");
	КонецЦикла;
	
	Таб.Опции(0,0,0,0); 
	Таб.ТолькоПросмотр(1);
	Таб.Показать();
	
КонецПроцедуры
Показать


Сохраняем обработку через "Файл->Сохранить"

Запускаемся в режиме 1С:Предприятие, идем "Файл->Открыть..." выбираем только что сохраненную обработку, жмем "Сформировать" и смотрим результат.


Ну это только надводная часть айсберга, есть еще предопределенные функции "ОбработкаЯчейкиТаблицы()" для модуля формы где расположена таблица и "ОбработкаЯчейкиТаблицы()" в глобальном модуле которые все эти действия и выполняют.
2. kitt 323 07.07.08 06:58 Сейчас в теме
в конфигураторе в таблице в ячейке которая должна будет что то выводить есть поле расшифровка, туда нужно вписать название переменной которая будет содержать элемент справочника Сотрудники, а перед вызовом метода ВывестиСекцию() или ПрисоединитьСекцию() в программном коде этой переменной присваиваешь значение агрегатного типа (справочник, документ и т.д.)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот