Как вывести в форму списка дополнительные реквизиты

       Формы списка внутренних, входящих и исходящих документов позволяют пользователю самому настроить перечень колонок, которые будут отображаться в форме. В том числе в отдельные колонки можно выводить и дополнительные свойства, и дополнительные сведения документов.

       Для настройки списка следует воспользоваться командой в форме списка: Все действия — Настройка — Изменить форму.

       Для добавления колонки с дополнительным свойством следует в дереве настроек формы, в элементе формы «Список», выбрать поле «Ссылка» и нажать кнопку «Добавить поля».

       При этом откроется окно со списком реквизитов документа для размещения в форме.

       После выбора вами необходимого реквизита он появится в окне «Настройка формы» в составе элемента формы «Список», и будет добавлен в качестве дополнительной колонки в списке документов.

       Так как не все документы (виды документов) в списке могут иметь данный дополнительный реквизит, то для документов, не имеющих его, в добавленной колонке будет выводиться значение по умолчанию для типа реквизита.


Добавление доп. реквизита в динамический список программно

Добавление доп. реквизита в динамический список программно

Некоторые пользователи хотят видеть дополнительную аналитику по определенным объектам конфигурации 1С, для реализации этой потребности существует функционал дополнительных реквизитов и сведений, который зачастую выводится в группу «Дополнительно» или «Дополнительные реквизиты».

Мы же разберем как отобразить дополнительные реквизиты в форме списка элементов. Практически всегда в этой форме используется «Динамический список», но данный способ не позволяет использовать это на обычной «Таблице значений».

Как добавить дополнительный реквизит в динамический список:

Получившейся код модуля:

&НаКлиенте
Процедура dev_ПриОткрытииПосле(Отказ)
	
	ОтображениеДополнительныхРеквизитов();
	
КонецПроцедуры

&НаСервере
Процедура ОтображениеДополнительныхРеквизитов()
		
	// Получаем набор свойств объекта по пустой ссылке объекта метаданных.
	НаборСвойств = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(Справочники.Номенклатура.ПустаяСсылка());
		
	// Инициализируем имя набора свойств. 
	ИмяНабора = НаборСвойств[0].Набор.Наименование;     
	Свойства  = НаборСвойств[0].Набор.ДополнительныеРеквизиты.Выгрузить().ВыгрузитьКолонку("Свойство");
	
	// Наполняем массив именами доп.реквизитов, которые мы хотим отобразить в списке формы. 
	// Можно создать отдельную настроку, например регистр где будем хранить выводимые поля,
	// для конкретных объектов метаданных или даже в зависимости от роли.
	МассивОтображаемыхСвойств = Новый Массив;
	МассивОтображаемыхСвойств.Добавить("Краткое описание");
	// и т.д.
	
	// Если например у нас полные права то выведем все доп.реквизиты.
	Если РольДоступна("ПолныеПрава") Тогда   
		МассивОтображаемыхСвойств = ПолучитьМассивНаименованийСвойств(Свойства);
	КонецЕсли;
	
	// Квадратные скобки обязательны.
	// Именно так платформа понимает что мы обращаемся к реквизиту ТЧ "ДополнительныеРеквизиты" 
	ШаблонПутьКДанным = "Список.Ссылка.[%1 (%2)]";	 
	
	// Обход циклом свойств для вывода в список.
	Для каждого ТекущееСвойство Из Свойства Цикл
		
		НаименованиеСвойства = ТекущееСвойство.Наименование; 
		ИмяЭлемента = ТекущееСвойство.ИдентификаторДляФормул; 
		
		Если  МассивОтображаемыхСвойств.Найти(НаименованиеСвойства) <> Неопределено Тогда
			СтрокаДанные = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПутьКДанным, НаименованиеСвойства, ИмяНабора); 					
			НовыйЭлемент = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.Список);
			НовыйЭлемент.Вид 			= ВидПоляФормы.ПолеВвода;
			НовыйЭлемент.ПутьКДанным 	= СтрокаДанные;
			НовыйЭлемент.Заголовок 		= НаименованиеСвойства;	  
		КонецЕсли;  
		
	КонецЦикла; 
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьМассивНаименованийСвойств(МассивСвойств) 

	МассивНаименований = Новый Массив;
	Для каждого Свойство Из МассивСвойств Цикл	
		МассивНаименований.Добавить(Свойство.Наименование);
	КонецЦикла;
	
	Возврат МассивНаименований;
	
КонецФункции;

Данный код проверялся на конфигурации «Бухгалтерия предприятия 3.0», но он подойдет для любой конфигурации.

Как результат работы нашего кода прикладываем скриншот и тестовое расширение конфигурации:

6.png - ITsale

Как видим все доп. реквизиты появились в нашем списке.

Для подключения расширения использовались такие надстройки:

7.png - ITsale

Скачать расширение

Оставить заявку на бесплатную консультацию прямо сейчас!


На чтение 5 мин Просмотров 2.8к. Опубликовано 02.11.2021

Содержание

  1. Остатки в списке документов
  2. Неверный путь
  3. Оптимальное решение
  4. Обращайте внимание

Рассмотрим задачу, когда нужно вывести дополнительные реквизиты и сведения в общем списке элементов. Рассмотрим на примере конфигурации УТ 11, в справочник Номенклатура добавлен дополнительный реквизит Артикул клиента.

Открываем список элементов справочника Номенклатура, выбираем меню Все действия – Изменить форму… (рис. 1):

Рис. 1. Все действия – Изменить форму…

В открывшемся окне Настройка формы у Списка номенклатуры находим поле Ссылка, выделяем его и нажимаем Добавить поля (рис. 2):

Рис. 2. Добавление полей

Далее в открывшемся окне Выберите поля для размещения в форме выбираем нужный дополнительный реквизит Артикул клиента и нажимаем ОК (рис. 3):

Рис. 3. Выбор дополнительного реквизита

Поле Артикул клиента появляется на форме Настройка формы, можно переместить его, нажимая на стрелочки Вверх, Вниз. После выбора позиции нажимаем ОК (рис. 4):

Рис. 4. Дополнительный реквизит в списке полей

В списке Номенклатуры появилась колонка с дополнительным реквизитом Артикул клиента (рис. 5):

Рис. 5. Новая колонка в списке

Можно выгрузить в файл получившийся список, меню Все действия – Вывести список… (рис. 6):

Остатки в списке документов

Решим следующую задачу: в списке документов «Заказы поставщику» нам необходимо добавить новую колонку «Остаток по заказу», которая будет отображать остаток для документа в регистре накопления «Заказы поставщику» на текущую дату.

Реализовать это нужно в конфигурации «Управление производственным предприятием» версии 1.3.

Неверный путь

Рассмотрим самый «очевидный» путь, он же самый простой. Большинство начинающих программистов делают именно так. У табличного поля формы, которое привязано к реквизиту формы с типом «ДокументСписок» есть событие «ПриВыводеСтроки». В нем напишем Запрос к остаткам по заказу для выводимой строки и полученный результат присвоим ячейке текущей строки в колонке «Остаток». Вот так будет выглядеть код обработчика события «ПриВыводеСтроки»:

Дело сделано! Задача решена! Но! Событие «ПриВыводеСтроки» вызывается для каждой строки отдельно. То есть, если в список выводится 30 строк, то запрос будет формироваться столько же раз! Может есть другой путь?

Оптимальное решение

Другой путь есть. Оптимальное решение кроется в использовании события «ПриПолученииДанных». Это событие вызывается один раз, когда происходит получение порции данных списком документов. В контексте этого события нам доступны данные, которые получила платформа. Поэтому мы можем их обработать одним запросом. Вот программный код обработчика «ПриПолученииДанных» для решения этой задачи:

Результат работы такой же, как и для варианта с использованием события «ПриВыводеСтроки», но есть одно НО.

Обращайте внимание

Самое главное отличие заключается в скорости работы. Вот сравнение времени выполнения для обоих вариантов решения задачи:

При использовании «ПриВыводеСтроки» время формирования списка выполняется дольше практически в четыре раза! Не смотря на это, не рекомендую добавлять подобные поля в список документов, поскольку, в любом случае, это потребует дополнительных ресурсов серверной машины. Лучше используйте отчеты.

Искала приемлемое решение для идентификации графика работы сотрудников при оформлении кадровых документов, в условиях когда одной позиции штатного расписания могут относиться несколько различных графиков работы.

Задача:
Производство. Вахтовый метод работы, сменные графики, когда вахтовый цикл составляет 1 месяц, 2 месяца и 3 месяца. Территория — местность приравненная к районам крайнего севера (МСК), со всеми вытекающими последствиями для учета. По спец. оценке условий труда (СОУТ) количество дней отпуска будет изменяться в зависимости от класса «вредности». Этот факт мы также обязаны предусмотреть при составлении графика. А именно будет изменяться количество дней оплачиваемого отдыха за работу сверх нормы. Итак, условий много. Было решено создавать графики с учетом всех условий, максимально приближено к реальным. Ежемесячные особенности, к примеру изменения дат и количества дней в пути, корректировать индивидуальными.
На выходе получили более 50 графиков работ. Встал вопрос как их идентифицировать при приеме и переводе сотрудников. Заказчик поставил задачу разработать внутренние нормативные документы для упрощения работы кадровой службы. Начали описывать. Договорились что для информативности унифицируем названия графиков. Но по факту этого оказалось недостаточно. Очень хотелось иметь ещё и номер. Структура элемента справочника Графики работы сотрудников к нашему разочарованию не имеет нумерации.

Я пошла искать подобные темы. Форумчане в голос твердили что без снятия конфигурации с поддержки не обойтись. Вот пример такой темы: https://buh.ru/forum/forum18375/topic80453/

Но на моем проекте жёсткое условие, конфигурацию с поддержки не снимать. Подумав пару часов, нашла решение. Применила дополнительные реквизиты и настройки списка.

Решение:

1. Создаем дополнительный реквизит к справочнику Графики работы сотрудников

Как видно на рисунке выше, дополнительный реквизит самый простой, тип строка.

2. Для удобства переместила доп. реквизит на форме элемента справочника вверх

3. В форме списка справочника — Все действия (или «Ещё», если работаете в режиме Такси) — Изменить форму. Добавим на форму поле «Ссылка»

4. Теперь идем в Настроить список (там же, во «Все действия») Условное оформление — Добавим текст, но выберем не Строка, а Поле компоновки данных — ДополнительныеРеквизиты.Значение

5. В качестве оформляемого поля выбираем Ссылка

6. Сохраняем настройки. При необходимости, передаем свои настройки другим пользователям. И радуемся обновленному списку справочника

Буду рада если кому-нибудь пригодится такое решение.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(0 голосов, среднее: 0 из 5)

Поделитесь с друзьями!

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников. Управляемые формы. Без снятия конфигурации с поддержки

24.02.2019

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников Подходит для ERP, ЗУП v. 3.0; 3.1

Искала приемлемое решение для идентификации графика работы сотрудников при оформлении кадровых документов, в условиях когда одной позиции штатного расписания могут относиться несколько различных графиков работы.

Задача:
Производство. Вахтовый метод работы, сменные графики, когда вахтовый цикл составляет 1 месяц, 2 месяца и 3 месяца. Территория — местность приравненная к районам крайнего севера (МСК), со всеми вытекающими последствиями для учета. По спец. оценке условий труда (СОУТ) количество дней отпуска будет изменяться в зависимости от класса «вредности». Этот факт мы также обязаны предусмотреть при составлении графика. А именно будет изменяться количество дней оплачиваемого отдыха за работу сверх нормы. Итак, условий много. Было решено создавать графики с учетом всех условий, максимально приближено к реальным. Ежемесячные особенности, к примеру изменения дат и количества дней в пути, корректировать индивидуальными.
На выходе получили более 50 графиков работ. Встал вопрос как их идентифицировать при приеме и переводе сотрудников. Заказчик поставил задачу разработать внутренние нормативные документы для упрощения работы кадровой службы. Начали описывать. Договорились что для информативности унифицируем названия графиков. Но по факту этого оказалось недостаточно. Очень хотелось иметь ещё и номер. Структура элемента справочника Графики работы сотрудников к нашему разочарованию не имеет нумерации. 

Я пошла искать подобные темы. Форумчане в голос твердили что без снятия конфигурации с поддержки не обойтись. Вот пример такой темы: https://buh.ru/forum/forum18375/topic80453/

Но на моем проекте жёсткое условие, конфигурацию с поддержки не снимать. Подумав пару часов, нашла решение. Применила дополнительные реквизиты и настройки списка. 

Решение:

1. Создаем дополнительный реквизит к справочнику Графики работы сотрудников

Как видно на рисунке выше, дополнительный реквизит самый простой, тип строка.

2. Для удобства переместила доп. реквизит на форме элемента справочника вверх

3. В форме списка справочника — Все действия (или «Ещё», если работаете в режиме Такси) — Изменить форму. Добавим на форму поле «Ссылка»

4. Теперь идем в Настроить список (там же, во «Все действия»)  Условное оформление — Добавим текст, но выберем не Строка, а Поле компоновки данных — ДополнительныеРеквизиты.Значение

5. В качестве оформляемого поля выбираем Ссылка

6. Сохраняем настройки. При необходимости, передаем свои настройки другим пользователям. И радуемся обновленному списку справочника

 Буду рада если кому-нибудь пригодится такое решение.

Дополнительные реквизиты добавить в форму списка

Я
   Seeker

05.02.15 — 14:18

Добрый день,

В УТ 11 не во все документы и справочники были добавлены дополнительные реквизиты и сведения, пришлось в конфигураторе самому покопаться и разобраться как же добавляется это дело.

Добавил табличную часть и обработки для заполнения ее, почти все хорошо и почти все работает, кроме: «В форме списка, через «изменить форму» не возможно добавить такой доп реквизит. Но если доп реквизиты уже были добавлены в документ, то тогда добавить можно.

Все уже перерыл не знаю добавить в настройку формы мои доп реквизиты.

кто сталкивался?

  

Партнерская программа EFSOL Oblako

   Heckfy

1 — 05.02.15 — 14:20

Динамический запрос, по моему, править надо….

   Seeker

2 — 05.02.15 — 14:32

(1) — вот найти бы его, это место где править запрос.

   Seeker

3 — 09.02.15 — 06:14

больше нет идей?

   RomaH

4 — 09.02.15 — 08:18

(2) т.е. запрос ты нашел? а сравнить два — работающий и не работающий — не можешь?

   Seeker

5 — 09.02.15 — 08:29

(4) — запросы я не нашел, если бы нашел вопросов бы не возникало.

   RomaH

6 — 09.02.15 — 08:52

где хоть искать работающий механизам?

   Seeker

7 — 09.02.15 — 10:43

(6) У нас УТ 11.0.6.9

Документ ЗаказПоставщику, табличная часть дополнительные реквизиты.

Добавить в любой другой документ где нет этой табличной части, я пробую в Документ.ВозвратТоваровПоставщику.

Краткая инструкция:

1.    Добавить новую табличную часть «ДополнительныеРеквизиты» (скопировать у имеющегося объекта)

2.    На форму элемента объекта добавить группу «ГруппаДополнительныеРеквизиты» с расчетом что в ней будут появляться дополнительные реквизиты.

3.    В модуле формы добавить в следующих процедурах:

a.    Процедура ПриСозданииНаСервере(…

УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, Объект, «ГруппаДополнительныеРеквизиты»);

b.    ПередЗаписьюНаСервере(…

УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);

4.    В справочник «НаборыДополнительныхРеквизитовИСведений» добавить предопределенный элемент для объекта по аналогии с имеющимися.

   RomaH

8 — 09.02.15 — 10:54

11.1

смотрю заказ поставщику

добавляю новый доп реквизит

открываю форму списка — изменить форму — не вижу возможности добавить этот рекивзит в список

   RomaH

9 — 09.02.15 — 10:54

(7) скрин — где видно возможность добавить новый реквизит в список

   Seeker

10 — 09.02.15 — 11:06

1. http://s017.radikal.ru/i418/1502/07/2f56dee18496.png — вот так добавляем поле

2. http://s020.radikal.ru/i707/1502/20/00157d1c3e01.png

  

Seeker

11 — 09.02.15 — 14:22

(0) в какой раз отвечаю сам себе, наконец-то нашли отгадку.

Ни каких запросов там нет, все как оказалось гораздо проще.

В конфигураторе открыть свойство объекта на закладке данные есть кнопка «Характеристика» вот там настраивается связь справочника «НаборыДополнительныхРеквизитовИСведений» и текущего документа.

Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.

Рассмотрим задачу, когда нужно вывести дополнительные реквизиты и сведения в общем списке элементов. Рассмотрим на примере конфигурации УТ 11, в справочник Номенклатура добавлен дополнительный реквизит Артикул клиента.

Открываем список элементов справочника Номенклатура, выбираем меню Все действия – Изменить форму… (рис. 1):

Рис. 1. Все действия – Изменить форму…

В открывшемся окне Настройка формы у Списка номенклатуры находим поле Ссылка, выделяем его и нажимаем Добавить поля (рис. 2):

Рис. 2. Добавление полей

Далее в открывшемся окне Выберите поля для размещения в форме выбираем нужный дополнительный реквизит Артикул клиента и нажимаем ОК (рис. 3):

Рис. 3. Выбор дополнительного реквизита

Поле Артикул клиента появляется на форме Настройка формы, можно переместить его, нажимая на стрелочки Вверх, Вниз. После выбора позиции нажимаем ОК (рис. 4):

Рис. 4. Дополнительный реквизит в списке полей

В списке Номенклатуры появилась колонка с дополнительным реквизитом Артикул клиента (рис. 5):

Рис. 5. Новая колонка в списке

Можно выгрузить в файл получившийся список, меню Все действия – Вывести список… (рис. 6):

Рис. 6. Вывод списка в файл

Автор: Дина Королева

Подписывайтесь на канал
«Полезный 1С»

В телеграм канале — наш практический опыт, бизнес-кейсы и способы повышения эффективности компании, которые мы опробовали внутри группы Neti.

.

Возврат к списку

Что ни день вижу обсуждения, где предлагают нещадно ломать типовую конфигурацию для решения задач, того вовсе не требующих. Если есть необходимость сохранения каких либо дополнительных данных, сохранение которых не предусмотрено не стоит сразу создавать свои справочники или регистры сведений, и уж тем более не нужно добавлять свои реквизиты в справочники и документы. Дополнительные реквизиты в типовых конфигурациях существуют давно, так что ничего нового я тут не открыл, просто увидел, что в БП 3.0 механизм несколько изменился, решил поделиться с сообществом. (Файл с текстом в word во вложении:-)
28.06.2014 — Для работы с ДРС предлагаю использовать инструмент, описанный http://infostart.ru/public/288722/

Использование дополнительных реквизитов и сведений в БП 3.0

Дополнительные реквизиты и сведения (далее ДРС) — механизм, позволяющий не изменяя конфигурацию расширить её функционал. Написать эту заметку сподвиг заказ на печать ТТН и Справки А и Б с сохранением реквизитов, с целью их дальнейшего использования в декларациях по алкогольной продукции, да и просто для того, что бы повторно посмотреть дополнительную информацию по реализации. Используют базовую БП 3.0 — менять конфигурацию соответственно нельзя, да для этой задачи вполне достаточно ДРС.

Для БП 2.0 в принципе решение у меня давно есть — так же использую дополнительные реквизиты, где сохраняются данные по автомобилю, водителю, перевозчику и т.д. Схема отработана — при печати записываются (при первой печати создаются не созданные) дополнительные реквизиты, при последующем выводе на печать реквизиты формы заполняются сохраненными значениями. Эти же данные использую при заполнении деклараций по алкоголю. Стал делать на УФ в БП 3.0 (3.0.20.18) и увидел, что механизм использования ДРС существенно изменился, причем ИМХО в лучшую сторону:

  1. Изменились объекты, «обслуживающие» ДРС:

БП 2.0

БП 3.0

Справочник ЗначенияСвойствОбъектов

Удален

План видов характеристик НазначенияСвойствКатегорийОбъектов

Удален

План видов характеристик

СвойстваОбъектов

Удален

Регистр сведений ЗначенияСвойствОбъектов

Удален

Нет

Справочник НаборыДополнительныхРеквизитовИСведений

Нет

План видов характеристик ДополнительныеРеквизитыИСведения

Нет

Регистр сведений ДополнительныеСведения

  1. В 2.0 название «Дополнительны реквизиты» не совсем точно отражает суть назначение эти данных — это всё-таки именно «дополнительные сведения», и хранятся они в объектах конфигурации, отличных от самого объекта этих сведений. В 3.0 можно задавать как сведения, сохраняемые регистре «Дополнительные сведения», так и именно реквизиты, сохраняемые в табличной части справочников «ДополнительныеРеквизиты» (в УТ 11 сейчас аналогичная табличная часть есть и у документов), причем эти реквизиты стали доступны в форме элемента справочника, а не вызываются по кнопке отдельным окном.

Как видим, объектов ДРС стало меньше, а работать с ними, как мне кажется, удобнее. Значительным отличием является хранение списка объектов конфигурации, для которых возможно хранение ДРС, не в плане видов характеристик «НазначенияСвойствКатегорийОбъектов», а в справочнике «НаборыДополнительныхРеквизитовИСведений», имеющем две табличные части:

  • — ДополнительныеРеквизиты — содержит список реквизитов, доступных в форме справочника для чтения/записи и флаг их обязательного заполнения. эти реквизиты хранятся в табличной части справочника;
  • — ДополнительныеСведения — список сведений, сохраняющихся в регистре «ДополнительныеСведения» и доступных по дополнительной кнопке.

Для документов сейчас доступен только выбор дополнительных сведений:

Для справочников можно установить и сведения и дополнительные реквизиты:

Причем редактируются дополнительные реквизиты справочника в форме элемента:

Зарегистрированные для справочника реквизиты выводятся на форму элемента, но записи в табличной части дополнительные реквизиты появляются только в случае их заполнения.

Изменился и состав объектов, имеющих ДРС:

  • — БП 2.0 это 15 справочников и список всех документов конфигурации в одной характеристике,
  • — БП 3.0 справочников стало 18, и 110 документов (не проверял все это документы или нет), на каждый из которых дополнительные сведения задаются в отдельном предопределенном элементе справочника «НаборыДополнительныхРеквизитовИСведений».

Для дополнительных реквизитов с типом «Значение свойства объекта» можно задавать произвольный список для выбора — фактически аналог справочника (с 2.0 это был справочник «ЗначенияСвойствОбъектов»):

Список может редактироваться.

Ещё один момент, из справки к ПВХ «ДополнительныеРеквизитыИСведения» — «Все дополнительные реквизиты и сведения объектов можно вывести в отчетах и списках.». Действительно, теперь зарегистрированные ДРС можно использовать не только для целей сохранения данных, но и, например, для отбора в списке документа и т.п.

Список РТиУ без отбора:

Записанные дополнительные сведения для документа:

Настройка отбора списка РТиУ по доп.сведениям:

Список РТиУ с установленным отбором по незаполненному водителю:

Вроде бы пустячки, а приятно……….

Понравилась статья? Поделить с друзьями:
  • Как посмотреть банковские реквизиты сотрудника в 1с
  • Как выглядит готовый бизнес план для малого бизнеса
  • Как посмотреть время работы компьютера на виндовс 7
  • Как посмотреть код клиента в сбербанк бизнес онлайн
  • Как посмотреть мои реквизиты в банк онлайн сбербанк