Ноутбуки та планшети 

Вираз детальних записів 1с 8.3. Простий приклад використання користувачів полів у звіті на СКД. Мова виразів системи компонування даних

Звіт отримує залишки товарів на складах у різних розрізах (характеристики, серії, одиниці виміру тощо). Щоб не ускладнювати приклад, залишимо лише угруповання за номенклатурою та виведення лише кінцевого залишку на дату звіту. Підсумкова таблиця показуватиме залишки за номенклатурою у зарізі складів.

Але тут користувач повідомив, що йому потрібно додати два додаткові поля:

  1. Оповіщення про кількість. Якщо кількість менша або дорівнює 5, то оповіщення "Недостатньо". Якщо кількість більше 5, то менша або дорівнює 10, то оповіщення "Нормально". Якщо кількість більше 10, то "надлишок".
  2. Формула розрахунку кінцевого залишку. У додатковій колонці користувач хоче бачити, які дії виконала програма, щоб отримати значення кінцевого залишку. Тобто формулу "Початковий залишок + Оборот = Кінцевий залишок", де буде підставлено відповідні значення.

Звичайно тут міг би втрутитися програміст, і змінити запит схеми компонування даних та налаштування звіту, але ми виконаємо завдання в режимі користувача без зміни звіту в режимі конфігуратора.

Додаткові поля

І так, приступимо. Зайдемо в налаштування варіанта звіту:

Перед нами відкриється конструктор налаштувань варіанта звіту СКД. Перейшовши на вкладку "Полі користувача" почнемо їх створення.

На скріншоті вже показані два створені поля користувача, функціонал яких був описаний вище. Розглянемо налаштування кожного. Почнемо з поля "Оповіщення".

У налаштування нам потрібно задати заголовок поля, який буде відображатися у звіті, а також задати вирази для формування значення у полі детальних записів та у підсумках для цього поля. Оскільки сповіщення показувати в підсумках немає потреби, напишемо вираз лише для детальних записів.

Синтаксис виразу схожий на мову запитів 1С:Підприємства. Є деякі відмінності, але докладно торкатися ми в цій статті ми їх не будемо. У виразі використовується оператор вибору:

"Коли тоді інакше кінець",

аналогічний оператору у мові запитів. Поля у виразах полів користувача задаються за їх уявленням. Для того, щоб платформа зрозуміла, що введене уявлення позначає деяке поле, ім'я уявлення обрамляється квадратними дужками "". Якщо уявлення поля має одне слово, квадратні дужки не обов'язкові. У прикладі вище ми звертаємось до поля "Кінцевий залишок".

Аналогічно задані параметри для поля "Формула розрахунку кінцевого залишку":


Тут потрібно сказати про деякі нюанси:

  1. Формулу в осередку ми можемо показати лише у вигляді рядка. Тому всі числові значення ми перетворимо до рядка за допомогою методу мови виразів СКД "Рядок()", що перетворює будь-яке значення в рядок. Після цього виконуємо конкатенацію рядків.
  2. Для того, щоб поле відображалось у підсумках звіту, додамо аналогічну формулу у вираз підсумкових записів. Потрібно лише додати агрегуючі функції "СУМА()" для кожного значення відповідно до підсумків.

Все готове до використання полів у звіті!

Налаштовуємо та формуємо звіт

Поле "Формула розрахунку кінцевого залишку" додамо у поля звіту, що виводяться:

Вираз "Оповіщення" додамо до детальних записів номенклатури. Для цього до угрупування "Номенклатура" додамо поле виразу "Оповіщення". Після цього структура звіту набуде наступного вигляду:

Налаштування звіту на цьому виконано. За потреби додані параметри можна зберегти для повторного використання. Сформуємо звіт:

Як бачимо, до звіту додані поля відповідно до умовами завдання. При цьому доопрацьовувати звіт у режимі конфігуратора не довелося. У цьому і полягає головна перевага полів користувача! Користувач, навчений ними користуватися, може використовувати їх для створення звіту за своїми вимогами власними силами без участі програміста.

Повірте мені, навчити його використовувати ці можливості можна, адже це набагато простіше, ніж писати формули в електронних таблицях Excel.

Будь-яка торгова організація для грамотного управління потребує оперативного отримання інформації про поточний стан товарів, продаж, прибуток. Однак, якщо врахувати, що організації часто працюють з широким переліком товарів і великою кількістю контрагентів, то інструмент налаштування аналітичного звіту відіграє важливу роль у отриманні потрібної інформації. Розглянемо докладніше порядок роботи з полями користувача у звітах типової програми (ред. 11).

Розвиток платформи 1С: Підприємство 8 пропонує користувачам більше можливостей. Так, наприклад, у версії 8.2 звіти стали гнучкішими, дозволивши налаштовувати їх під різні вимоги без допомоги кваліфікованих програмістів.

Зміна налаштувань звіту

Щоб переглянути або змінити налаштування звіту, потрібно зайти в меню «Всі дії» та вибрати команду «Змінити варіант». Після цього перед користувачем відкривається вікно з налаштуваннями для відкритого звіту.

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

Внизу вікна налаштувань виводяться власне самі налаштування інформації та полів, що стосуються або звіту, або елементів його структури (колонок і угруповань рядків).

Користувальницькі поля

У програмі 1С: Управління торгівлею 8редакції 11 налаштування звітів надають користувачам більше можливостей щодо їх формування.

У вікні редагування налаштувань та структури звітів особливу увагу користувачів хотілося б звернути на закладку «Польські користувачі», яка дозволяє створювати власні поля та додавати їх до звіту. Слід нагадати, що користувач міг використовувати лише ті поля, які були реалізовані розробником.

Розглянемо використання цієї функції з прикладу.

Припустимо, керівник торгової компанії, яка здійснює реалізацією товарів біля Москви і регіонів, бажає підлаштувати під свої вимоги звіт «Історія продажів», бажаючи вивести у ньому дані з продажу номенклатури у Москві регіонах загалом, і навіть - партнерам. Зробити це з використанням полів користувача дуже легко.

Таким чином, на наочному прикладі видно, що гнучкі налаштування полів користувача в типовій програмі 1С: Управління торгівлею 8надають користувачеві широкі можливості у налаштуваннях звітів, дозволяючи оперативно отримувати необхідну інформацію у зручному вигляді.

Доповнення готових звітів своїми шпальтами.
До звіту зроблених за допомогою "Схеми компонування даних" з режиму користувача можна додавати свої Поля, які буде виводитися при формуванні.
У цих полях можна застосовувати арифметичні дії.

Давним давно мною був написаний звіт "Продажі товарів з відвантаження" http://infostart.ru/public/16477/. У цій публікації не обговорюватимемо його актуальність і гідності. Цей звіт візьметься як шаблон для експериментів, змін. Тим більше, у коментарях запитували, як додавати Поля.

Відкриваємо "Налаштування..." і переходимо на закладку "Налаштування користувача".

2. Додаємо "Нове поле Вираз"

Додавання полів є прописуванням арифметичних дій між Доступними полями, (це дозволено відмічених зеленим квадратиком). Також особливість, якщо назва такого поля складається з двох або більше слів, його необхідно укласти у квадратні дужки. Вийти ось так - [Сума продажу].

Після збереження це поле стане доступним для вибору:

Ось за допомогою нескладних маніпуляцій отримуєте потрібне собі значення. Дана можливість дозволити додавати потрібні поля. У таких варіантах розрахунку як вам потрібно. Рентабельність, Ефективність та інше значення будуть рахуватися у вашій логіці арифметичних розрахунків.

У цьому випадку ваша робота не буде втрачена і при наступному відкритті звіту можна буде скористатися.

Функції, що використовуються при написанні полів.

  • Арифметичні «+, -, *, /» з цим зрозуміло, думаю пояснити принцип їхньої дії не треба.
  • Логічні висловлювання використовуються для визначення відборів. « > ,< , = , >= , <= , <>, І, АБО, НЕ». Дані вирази використовують із операцією вибору.
  • Операції вибору. Застосовуватись для отримання одного з можливих значень відповідно до зазначених умов

ВИБІР
КОЛИ< Операция выбора >ТОДІ<Выражение>
Інакше<Выражение>
КІНЕЦЬ
Приклад:
ВИБІР
КОЛИ Кількість > 0 та Сума > 0 ТОДІ «Правильно»
Інакше «Помилка»
КІНЕЦЬ

Це розшифровується так: за умови коли кількість більша за нуль і сум більша за нуль, буде виводитися текст «Правильно», а якщо хоч одну з умов не дотримано виводитися «Помилка».

  • Вбудована функція дозволяє зробити певні перетворення з полями.

ПІДРЯДКУ («Вираз», «Початкова позиція», «Кінцева Позиція») - вибирається частина «Вирази», обмеженого рамками «Початковий…» та «Кінцевий…».
Як це відбувається за значення Номенклатура - «Паста шоколадна» формула Підрядок(Номенклатура,1,5) виведе значення «Паста»

Для роботи з датою використовуються функції

РІК(<Дата>), КВАРТАЛ(<Дата>), МІСЯЦЬ(<Дата>), ДЕНЬ РОКУ(<Дата>), ДЕНЬ(<Дата>), ТИЖДЕНЬ(<Дата>), ДЕНЬТИЖНІ(<Дата>),ГОДИНА(<Дата>), ХВИЛИНА(<Дата>), СЕКУНДА(<Дата>)

Виводиться відповідний назві функції значення.

ПОЧАТОК ПЕРІОДУ («Дата», «Період зсуву»), КОНЕЦПЕРІОДУ («Дата», «Період зсуву»). Для цих функцій, значення Виразу дати на початок або кінець заданої дати.

ДОДАТИКДАТЕ («Дата», «Період зсуву», «Величина, яку потрібно збільшити дату») - функція дозволяє збільшити чи зменшити дату певне значення.

Різноманітність («Дата1», «Дата2», «Період зсуву») - Функція призначена для отримання різниці між двома датами.

"Період зсуву" одне з "Хвилина, Година, День, Тиждень, Місяць, Квартал, Рік, Декада, Півріччя".

5. Агрегатні функції мови запитів використовуються при групуванні результатів підрахунку підсумків

СУМА (<>) арифметичну суму всіх значень, що потрапили у вибірку.
СЕРЕДНЕ (<>) обчислює середнє значення всіх, хто потрапив у вибірку
МІНІМУМ (<>) обчислює мінімальне значення з усіх значень, що потрапили у вибірку
МАКСИМУМ (<>) обчислює максимальне значення з усіх значень, що потрапили у вибірку
КІЛЬКІСТЬ (<>) підраховує кількість значень параметра, що потрапили у вибірку. Ця функціядозволяє мати варіанти використання. КІЛЬКІСТЬ(*) - дозволяє підрахувати кількість рядків в результаті. КІЛЬКІСТЬ (РІЗНІ «Вираз») - дозволяє підрахувати кількість різних значень зазначеного поля.

Сума (Вибір
Коли Підрядок(Номенклатура, 1, 5) = "Паста"
Тоді Кількість *0.2
Інакше Кількість *0.35
Кінець)

Вийде сума значень при цьому коли на початку найменування номенклатури присутня «Паста» у цьому випадку кількість збільшується на 0.2 якщо не присутня збільшується на 0.35.

Рік([Документ.Дата])

Виведеться Рік коли документ записано/проведено.

Складніший приклад, без розшифровки.

Вибір
Коли Квартал([Документ.Дата]) = 1 І Підрядок(Номенклатура, 1, 5) = "Паста"
Тоді Кількість * 0.2
Інакше Вибір
Коли Квартал([Документ.Дата]) = 2
Тоді Кількість * 0.3
Інакше Вибір
Коли Квартал([Документ.Дата]) = 3
Тоді Кількість * 0.4
Інакше Вибір
Коли Квартал([Документ.Дата]) = 4
Тоді Кількість * 0.5
Кінець
Кінець
Кінець
Кінець

Ми докладно розглянули налаштування звітів, реалізованих з урахуванням СКД. Тепер розберемо більш тонкі та детальні налаштування варіантів звіту. Вікно «просунутих» налаштувань варіанта звіту викликається за командою «Ще» – «Інше» – «Змінити варіант звіту».

Вікно зміни варіанта звіту поділено на дві частини:

1. Структура звіту.

2. Налаштування звіту.


Розділ структури варіанта звіту аналогічний вкладці "Структура" стандартних налаштувань звіту. Призначення та налаштування угруповань докладно розглянуто у ч. 1 статті.

Таблиця структури варіанта звіту, крім безпосередньо колонки з угрупованнями, містить кілька додаткових колонок:

Розділ параметрів варіанта звіту дає користувачеві широкі можливості конфігурування звіту під свої потреби. Вона практично повністю збігається зі стандартними налаштуваннями звіту, розглянутими у ч. 1. Розглянемо всі вкладки розділу та відзначимо відмінності.

Розділ налаштувань складається з наступних вкладок:

1. Параметри.Містить параметри СКД, доступні користувачеві.

Параметр СКД – деяке значення, що використовується для отримання даних звіту. Це може бути значення умов для відбору або перевірки даних, а також допоміжне значення.


Таблиця параметрів представлена ​​у форматі "Параметр"-"Значення". У разі потреби можна змінювати значення параметрів. Натискання на кнопку «Властивості елемента налаштувань користувача» відкриває налаштування користувача.


У цьому вікні можна вибрати, чи буде елемент включений в налаштування користувача (тобто, видно користувачеві при налаштуванні звіту), задати подання елемента і режим редагування (швидкий доступ в шапці звіту, звичайний в налаштуваннях звіту і недоступний).

Властивості елемента налаштувань користувача також мають груповані поля, поля, відбори та елементи умовного оформлення.

2. Користувальницькі поля.Містить поля, які формує сам користувач на підставі даних, які вибирає звіт.


Користувач може додати два види полів:

  • Нове поле вибір…
  • Нове поле вираз…

Поля вибору дозволяють обчислювати значення за заданою умовою. Вікно редагування поля вибору містить заголовок поле та таблицю в якій задається відбір, значення та подання поле. Відбір є умовою, залежно від якої підставлятиметься потрібне значення.


Наприклад, обчислимо оцінку кількості продажів. Вважатимемо, що, якщо продано менше 10 одиниць товару, продали мало, а якщо більше 10 одиниць - багато. Для цього поставимо 2 значення поля, що обчислюється: перше буде з відбором «Кількість товарів Менше або дорівнює "10"», друге з відбором «Кількість товарів Більше "10"».

Поля виразу дозволяють обчислювати значення, використовуючи довільні алгоритми. Вони можуть використовуватися функції мови запитів і вбудованого мови програмування 1С. Вікно редагування поля виразу містить два поля для виразів детальних та підсумкових записів. Підсумкові записи - це угруповання, налаштовані в області "Структура звіту", в них необхідно використовувати агрегатні функції ("Сума", "Мінімум", "Максимум", "Кількість").

Наприклад, обчислимо середній відсоток знижки. Середній відсоток знижки розраховується за формулою: [Сума продажів без знижки] - [Сума продажів зі знижкою] / [Сума продажів без знижки]. Необхідно пам'ятати, що сума продажів без знижки може бути нульовою, тому використовуємо оператор ВИБІР для перевірки. Отримаємо такі вирази:

· Для детальних записів:

Вибір

Коли [Сума продажів без знижки] = 0

Тоді 0

Інакше [Сума продажів без знижки] - [Сума продажів зі знижкою] / [Сума продажів без знижки]

Кінець

· Для підсумкових записів:

Вибір

Коли Сума([Сума продажів без знижки]) = 0

Тоді 0

Інакше Сума([Сума продажів без знижки]) - Сума([Сума продажів зі знижкою]) / Сума([Сума продажів без знижки])

Кінець

Як було сказано раніше, у виразі підсумкових записів використовуємо агрегатну функцію «Сума».

3. Груповані поля.Містить поля, за якими групуватиметься результат варіанта звіту. Груповані поля налаштовуються окремо для кожного з угруповань, але можна задати загальні поля, що групуються для варіанта звіту, якщо вибрати в дереві структури корінь «Звіт». Можна додати поле з результату звіту, поле користувача або вибрати авто поле, тоді система підбере поля автоматично. Також дана вкладка дозволяє змінювати порядок проходження групованих полів.


4. Поля.Містить поля, які будуть виведені до результату варіанта звіту. Поля налаштовуються окремо для кожного з угруповань, але можна задати спільні поля для варіанта звіту, якщо вибрати корінь «Звіт» у дереві структури. Можна додати поле з результату звіту, поле користувача або вибрати авто поле, тоді система підбере поля автоматично. Також ця вкладка дозволяє змінювати порядок проходження полів.

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

  • Авто - система має поля автоматично;
  • Горизонтально – поля розташовуються горизонтально;
  • Вертикально – поля розташовуються вертикально;
  • В окремій колонці - поля розташовуються у різних колонках;
  • Разом – поля розташовуються в одній колонці.


5. Відбір.Містить добори, які використовуються у варіанті звіту. Налаштування відборів було детально розглянуто у частині 1 цієї статті. Відбори налаштовуються окремо для кожного з угруповань, але можна задати загальні відбори для варіанта звіту, якщо вибрати корінь «Звіт» у дереві структури.


6. Сортування.Містить поля сортування, які використовуються у варіанті звіту. Налаштування полів сортування було детально розглянуто у частині 1 цієї статті. Сортування налаштовуються окремо для кожного з угруповань, але можна задати загальні поля сортування для варіанта звіту, якщо вибрати корінь «Звіт» у дереві структури.


7. Умовне оформлення.Містить елементи умовного оформлення, які використовуються у варіанті звіту. Налаштування умовного оформлення було детально розглянуто у частині 1 цієї статті. Умовне оформлення налаштовується окремо для кожного з угруповань, але можна задати загальні елементи умовного оформлення варіанта звіту, якщо вибрати в дереві структури корінь «Звіт».


8. Додаткові параметри.Містить додаткові налаштуванняоформлення звіту Дозволяють вибрати загальний зовнішній виглядзвіту, розташування полів, угруповань, реквізитів, ресурсів, підсумків, задати налаштування діаграми, керувати висновком заголовка, параметрів та відбору, визначати позицію ресурсів та закріплювати шапку та колонки угруповань варіанта звіту.


Насамкінець хотілося б відзначити, що налаштування звіту можна не тільки зберігати як варіант звіту, але й вивантажувати у файл (меню «Ще» - «Зберегти налаштування»). Для завантаження необхідно вибрати «Завантажити налаштування» та вибрати збережений файл. Таким чином, ми можемо передавати параметри варіанта звіту між різними базами, які мають однакову конфігурацію.


Виходячи з цього, можемо резюмувати, що користувач може не лише самостійно налаштувати звіт під свої потреби, але й зберегти свої налаштування та використовувати їх у подальшому за потреби.