Як зареєструватися на форумі?
[Ділимося досвідом] Створення звітів в Конфігураторі своїми силами
Програми серії 1C для бухгалтерії Казахстану (1С: Підприємство, Бухгалтерський облік, Зарплата і Управління Персоналом, Управління Торгівлею, Торгівля і Склад, Зарплата і Kадри і т.д.).
[Ділимося досвідом] Створення звітів в Конфігураторі своїми силами
Схема компонування даних є основою для компонування звіту. У ній задається структура звіту - поля, набори даних, порядок і ін. Параметри.
Конструктор макета відкриє вікно конструктора схеми компонування даних. У ньому відбувається основна робота по візуальному конструювання звіту. Будь-який звіт ґрунтується на даних, які з будь-яких «джерел» за певними умовами та параметрами. Ми розглянемо простий випадок, коли використовується один набір даних. Він буде містити Запит до бази даних, сформульований на спеціальній мові - мові запитів.
Конструктор запиту - дозволяє візуально конструювати запит. Навіть користувач, який не знайомий з мовою запитів, може за допомогою конструктора створити синтаксично правильний запит.
Тепер поставимо формулу. Сума = Кількість * Ціна (щоб суму в приході автоматом вважала програма). Для цього: натиснути правою кнопкою миші на полі введення в колонці Кількість → Властивості → прокрутивши список до кінця, знайдіть подія ПріІзмененіі → лупа → система задасть заготовку процедури обробника цієї події в модулі форми.
Модуль - це сховище для тексту програми на вбудованій мові.
В процедуру МатеріалиКолічествоПріІзмененіі додамо текст:
Теж саме зробити зі стовпцем Ціна.
Щоб алгоритм, що виконується при обробці події, був доступний для різних документів, ми створимо загальний модуль і перенесемо в нього нашу процедуру розрахунку суми. А в документі просто залишимо виклики цієї процедури із загального модуля: Гілка Загальні → Загальні модулі → кнопка Додати → РаботаСДокументамі → ввести текст:
У модулі прибуткової накладної (гілка Форма документа) змінимо текст:
Процедура МатеріалиКолічествоПріІзмененіі (Елемент)
// Вставити вміст обробника.
СтрокаТаблічнойЧасті = ЕлементиФорми.Матеріали.ТекущіеДанние;
РаботаСДокументамі.РассчітатьСумму (СтрокаТаблічнойЧасті);
КонецПроцедури
І те ж саме зробити для колонки Ціна в модулі.
Результат. сума повинна автоматом перераховуватися як при зміні кількості, так і при зміні ціни.
Далі: Відкрити 2-м клацанням документ ПриходнаяНакладная → закладка Руху → відзначимо регістр накопичення ОстаткіМатеріалов → відразу після позначки стає доступною кнопка Конструктор рухів → у списку Реквізити повинна знаходитися вихідні дані для створення рухів → в таблиці Поле-Вираз д.б.н. задані формули, за якими будуть обчислюватися значення вимірювань і ресурсів регістра при записі рухів. Тип руху - прихід. → в полі Таблична частина вибрати Матеріали → кнопка Заповнити вираження → ОК → подивимося на текст в модулі об'єкта. Конструктор створив обробник події ОбработкаПроведенія і помістив його в модуль.
Процедура ОбработкаПроведенія (Відмова, Режим)
// // Даний фрагмент побудований конструктором.
// При повторному використанні конструктора, внесені вручну зміни будуть втрачені.
Для Кожного ТекСтрокаМатеріали З Матеріали Цикл
// регістр ОстаткіМатеріалов Прихід
Рух = Двіженія.ОстаткіМатеріалов.Добавіть ();
Двіженіе.ВідДвіженія = ВідДвіженіяНакопленія.Пріход;
Двіженіе.Період = Дата;
Двіженіе.Матеріал = ТекСтрокаМатеріали.Матеріал;
Двіженіе.Склад = Склад;
Двіженіе.Колічество = ТекСтрокаМатеріали.Колічество;
КонецЦікла;
// >> __ КОНСТРУКТОР_ДВІЖЕНІЙ_РЕГІСТРОВ
КонецПроцедури
F5- налагодження. Перевірити роботу 1С. Меню операції - Документи - Прибуткова Накладна - Insert - ввести дату вибрати склад - оприбуткувати 2 або 3 товара - ОК.
Меню Операції - Звіти - Залишки матеріалів - кнопка Сформувати.
ЗВІТ - прикладної об'єкт конфігурації, призначений для опису алгоритмів, за допомогою яких користувач може отримувати необхідні йому вихідні дані.