Пользовательские поля в СКД
-

Пользовательские поля в СКД

5
3089
09.11.2021 Дмитрий Доронов

Содержание:

1.       Что такое пользовательское поле в отчете?

2.       Доработка отчета "Ведомость расчетов с клиентами"

3.       Доработка поля "Валюта"


1.      Что такое пользовательское поле в отчете?

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

К слову, аналогичный функционал создан и для разработчиков, это – вычисляемые поля в отчете. Техническое отличие вычисляемых полей состоит только в том, что в их выражениях можно использовать собственные функции, написанные на языке программирования. Однако на них подробнее остановимся в будущих статьях, здесь же речь пойдет именно о пользовательских полях в 1С.



2.      Доработка отчета "Ведомость расчетов с клиентами"

Отработаем следующий кейс: директор требует в типовой отчет ERP «Ведомость расчетов с клиентами» добавить дополнительное поле, которое явно бы указывало, кто должник: мы или партнер. Директор – человек занятой и во все эти цифры вникать времени не имеет. Задачу поставили руководителю отдела продаж. Штатного программиста в организации нет, доступа в конфигуратор также нет, платные работы директор не согласует, а результат нужен через час.


Рис. 1 Пользовательское поле в отчете "Ведомость расчетов с клиентами"

На самом деле уложиться в срок вполне реально. Приступаем.

Проваливаемся в «Продвинутые настройки отчета»



Рис. 2 Продвинутые настройки отчета для добавления пользовательского поля в 1С

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

Поле выбор – специализированный механизм, работа с ним интуитивно понятна, но круг задач ограничивается выводом значения по заданному условию.

Поле выражение – универсальный механизм, как правило более трудоемкий и требующий больших знаний, однако способный решить гораздо больший круг задач.   



Рис. 3 Изменение варианта отчета "Ведомость расчета с клиентами"

Наше поле должно сравнить задолженности и вывести нужное значение. Поле "Выбор" отлично справится с данной задачей, используем его.

В заголовке поля можно использовать пробелы. Добавляем отбор, проваливаемся в выражение.

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


Рис. 4 Сравнение полей в отчете "Ведомость расчетов с клиентами"

В значении выбираем "Наш долг". Отбор готов – завершаем редактирование условия.



Рис. 5 Завершение редактирования пользовательского поля в отчете

Теперь, если заданное условие будет выполняться, значением поля будет единица (это тоже можно использовать, например, при подсчете должников). Представление – это строка. Если представление не заполнено, в отчет будет выводиться значение поля. Аналогично настроим ситуацию, где должен выводиться маячок о нашей задолженности, только с учебной целью: настроим вывод надписи "Наш" прямо в значении.


Рис. 6 Редактирование пользовательского поля в 1С

В отборе действия аналогичные, только долг клиента теперь будет меньше нашего. Теперь провалимся в значение и видим: типом может быть не только число, но и строка, дата, галочка, а если выбрать тип "поле компоновки", то значением пользовательского поля может быть любое другое поле отчета.  Нам нужна строка – выбираем, и теперь можем вписать слово "Наш" в значении.



Рис. 7 Редактирование пользовательского поля СКД

Пользовательское поле в СКД готово, нажимаем «Ок».


Рис. 8 Пользовательского поле в СКД готово

Теперь пользовательское поле в 1С СКД появилось в доступных полях, выводим его в отчет.



Рис. 9 Выводим пользовательское поле в отчет

Задача выполнена.

Сохраним полученный вариант. 



Рис. 10 Ведомость расчетов с клиентами с пользовательским полем

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



Рис. 11 Открытие доступа пользовательского поля в отчете всем пользователям



Рис. 12 Новая версия Ведомости расчетов с клиентами

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



3.      Доработка поля "Валюта"

Необходимо в поле валюта добавить код этой валюты в скобочках. Валют много, с кодами им работать удобнее, а скобочки – это красиво.

Казалось бы, что может быть проще. Идем в "Продвинутые настройки", проваливаемся в группировку с валютой, находим её код, добавляем реквизит. Согласно настроек по умолчанию реквизит поля будет вместе с владельцем.


Рис. 13 Редактирование поля "Валюта"



Рис. 14 Результат редактирования поля "Валюта"


Сдаем главбуху, но Марья Ивановна непреклонна. Без скобочек – некрасиво, запятую – убрать, и пусть написано будет по-русски. Переделать!

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

Вариант решения мы нашли, это – пользовательское поле в СКД. Начинаем с размышлений, какой вариант пользовательского поля в отчете взять? Тут мы ничего не сравниваем, и нам потребуется написать выражение, которые не умеет поле "Выбор", поэтому используем поле "Выражение".

Наберем следующее выражение:

[Валюта.Наименование валюты] + " ( " + [Валюта.Цифровой код] + " ) "

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

На ранних релизах платформы система не может перевести код валюты в строку и потребуется дополнить выражение командой СТРОКА — вот так :

 [Валюта.Наименование валюты] + " ( " + СТРОКА([Валюта.Цифровой код]) + " ) "

Нижнее окошко (Выражение итоговых записей) требуется заполнить, если хотим сделать поле реквизитом, в нашем кейсе этого не требуется, но имейте это ввиду – пригодится.


Рис. 15 Редактирование пользовательского поля "Выражение"

Поле мы создали и можем его вставить в группировку, получив такой результат:


Рис. 16 Результат редактирования пользовательского поля в СКД

Но нам же нужно подменить валюту на наше самописное поле.

Обращаю внимание, просто заменить поле "Валюта" нельзя, даже если при тестировании отчет будет работать, нет гарантий, что при работе обменов или переносе данных из другой программы отчет не сломается. Поле "Валюта2" – это ссылка, а в пользовательском поле используется наименование и код, что может привести к дублям или ошибке.

Надежнее не заменять ссылку на "Валюту", а заменить ее представление.  Я не зря упомянул функционал выражения-представления из конфигуратора. Фактически, в нашем кейсе мы движемся тем же путем. У нас есть ссылка – "Валюта", мы создали её представление –"Наименование валюты для бухгалтерии", осталось уговорить программу отображать данное представление валюты в отчете.

Для этого воспользуемся закладкой "Условное оформление". Найдите там параметр "Текст". Проваливаемся, выбираем "Поле компоновки данных", находим наше пользовательское поле для бухгалтерии.    



Рис. 17 Поле компоновки данных

Картинка получилась такая


Рис. 18 Результат замены поля "Валюта"

Переходим на закладку "Оформляемые поля" и указываем, что данное представление мы задали для поля "Валюта".



Рис. 19 Представление для поля "Валюта"

Завершаем редактирование. Проверяем отчет, сохраняем вариант.



Рис. 20 Конечный результат в отчете "Ведомость расчетов с клиентами"

Задача выполнена.


Специалист компании «Кодерлайн»

Дмитрий Доронов















Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Гость
Хорошая статья, на в самом деле. Не все помнят подменю Еще - Прочее, пытаются искать пользовательские поля в настройках, как я, например.
Имя Цитировать 0
0
Гость
Спасибо за статью. Особенно за Еще - Прочее - Изменение вариантов отчета. Прямо спасли.
Имя Цитировать 0
0
Администратор
Здравствуйте! Спасибо за Ваш комментарий!
Имя Цитировать 0
0
Аркадий
Спасибо за статью! Дай Бог здоровья автору и всем его близким за труды над этой статьей. Ясность изложения заслуживает отдельной благодарности.
Имя Цитировать 0
0
Администратор
Здравствуйте! Аркадий, спасибо!
Нам приятно)
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Работа с объектами в 1С #Расширение конфигурации #РСБУ #С # #СКД #Соединение COM в 1С платформе #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Хранилище настроек #Ценообразование #Экзамен 1С #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.