Додавання зовнішнього звіту до бази. Додавання зовнішнього звіту до бази Як додати додатковий звіт до 1с

💖 Подобається?Поділися з друзями посиланням

Увійдіть на сайт як учень

Система компонування даних 1С 8.3 для початківців: перший звіт на СКД

Якщо ви не читали вступ до цього модуля - будь ласка, прочитайте його: .

Для виконання уроків вам знадобиться 1С 8.3 (не нижче 8.3.13.1644 ) .

Якщо у вас є встановлена ​​1С версії 8.3 - використовуйте її. Якщо ні - скачайте та встановіть навчальну версію, яку фірма 1С випускає спеціально для освітніх цілей: .

На вашому робочому столі має з'явитися такий ярлик:

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

Якщо ви її видалили - завантажте заново по наступній , розпакуйте і до списку баз.

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

Ставимо мету

Мета цього уроку- створити звіт, який у режимі користувача виводить список клієнтів із наступними полями:

  • Ім'я
  • Підлога
  • Улюблений колір клієнта.

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

Щоб сформувати такий звіт у 1С користувачеві, потрібно буде запустити базу в режимі користувача, відкрити цей файл і натиснути кнопку "Сформувати".

Поїхали!

Створюємо звіт

Запускаємо конфігуратор для бази "Гастроном":

З головного меню вибираємо пункт "Файл"->"Новий...":

Вибираємо "Зовнішній звіт":

Створюємо схему компонування даних усередині звіту

Відкрилося вікно створення зовнішнього звіту. Як ім'я вводимо: " Урок1", а потім тиснемо кнопку " Відкрити схему компонування даних":

Запустився конструктор створення схеми. Погоджуємося з ім'ям за умовчанням " ОсновнаСхемаКомпонівкиДаних"і тиснемо кнопку" Готово":

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

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

Зараз ми знаходимося на закладці Набори данихНа ній і залишимося.

Пишемо запит через конструктор

Система компонування даних (скорочено СКД) вимагає від нас дані,які вона виводитиме користувачеві.

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

Натискаємо на зеленийплюсик і в списку, що розкрився, вибираємо пункт " Додати набір даних - запит":

Наше завдання – написати в це поле текст запиту. Ви ще не забули, як це робиться?

Я вам підкажу:

У цьому запиті ми вибрали три поля (" Найменування", "Підлога"і" УлюбленийКолір") із таблиці " Довідник.".

Але не поспішайте писати цей текст у полі "Запит" вручну.

Зараз ми створимо той самий запит візуально, тільки за допомогою мишки. Цей спосіб називається " Конструктор запиту".

Щоб викликати цей конструктор, натисніть кнопку " Конструктор запиту...у верхній правій частині поля "Запит":

У вікні, що перетягне таблицю " Клієнтиз першого стовпця до другого, щоб вказати, що саме з цієї таблиці ми будемо запитувати дані:

Вийшло ось так:

Далі розкриємо таблицю " Клієнти" у другому стовпці за знаком " Плюс", щоб побачити всі її поля і перетягнути поле" Найменування" з другого стовпця до третього, щоб вказати, що з цієї таблиці нам потрібно запитувати поле "Найменування":

Вийшло ось так:

Вчинимо так само з полями " Підлога"і" УлюбленийКолір". Результат буде таким:

Натисніть кнопку "ОК", щоб вийти з конструктора запиту та побачимо, що текст запиту автоматично додався у полі "Запит".

Більше того на підставі тексту запиту 1С сама витягла імена полів (область вище за запит), які будуть використовуватися схемою компонування даних:

Тепер, коли ми склали запит, СКД знає, яким чином отримувати дані для звіту.

Налаштовуємо представлення даних

Залишилось якось візуалізувати ці данідля користувача у вигляді друкованої форми. І ось тут СКД може творити чудеса!

Щоб створити таке диво, перейдемо на вкладку " Налаштуванняі натиснемо кнопку конструктора налаштувань ( чарівна паличка):

У вікні вкажемо тип звіту " Список"і натиснемо " Далі":

У наступному вікні виберемо (шляхом перетягування) поля, які потрібно буде відобразити в списку (перетягнемо всі доступні нам: " УлюбленийКолір", "Найменування"і" Підлога"):

Отримаємо такий результат і натиснемо кнопку " ОК":

Конструктор налаштувань закрився і з'явився пункт Детальні записи":

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

Зберігаємо звіт у вигляді файлу

Відкриємо пункт головного меню Файл"->"Зберегти":

Я збережу його на робочий стіл під ім'ям Урок1":

Перевіряємо звіт у режимі користувача

Нарешті закриємо конфігуратор і зайдемо в нашу базу в режимі користувача:

Ім'я користувача "Адміністратор", пароля немає:

Через меню виберемо пункт " Файл"->"Відкрити...":

І вкажемо файл звіту (я зберігав його на робочий стіл під ім'ям "Урок1.erf":

Відкрилася форма звіту, натисніть кнопку " Сформувати":

Готово! Ось вона наша друкована форма зі списком клієнтів, їх улюбленим кольором та підлогою:

Друковану форму можна легко роздрукувати. Для цього достатньо вибрати в меню пункт " Файл"->"Друк...":

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

учнів - відповідаю поштою, але спочатку загляньте в.

Увійдіть на сайт як учень

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

Розглянемо створення зовнішнього звіту 1с 8 без використання системи компонування даних. Для створення зовнішнього звіту будемо використовувати конфігурацію Бухгалтерія 2.0. Контрагентіві Договорів контрагентів.

1. Створення звіту

Насамперед створимо файл зовнішнього звіту, для цього зайдемо в 1с 8 в режимі Конфігуратор, перейдемо в меню Файл -> Новий, або натиснемо на піктограму Новий документ.

У списку оберемо пункт Зовнішній звіт. Після створення зовнішнього звіту задамо йому Ім'я (наприклад НайпростішийЗвіт) і збережемо його на диск. Також додамо два реквізити: ПочатокПеріодуі КінецьПеріодутипу Дата, вони знадобляться нам для обмеження часового інтервалу вибірки даних для формування звіту.

2. Створення макету зовнішнього звіту

p align="justify"> Для формування звіту в 1с 8 потрібен макет, це шаблон для виведення даних в якому задаються всі потрібні параметри, малюються таблиці і т.д. Додамо новий макет, для цього в дереві метаданих звіту виберемо пункт Макетита натиснемо кнопку Додати, при створенні оберемо для макета тип Табличний документ.

У нашому макеті буде 4 області:

  • Шапка - в цю область ми виводитимемо найменування звіту, період за який він сформований і шапку таблиці;
  • Дані Контрагент - в цю область ми виводимо в таблицю дані по контрагенту;
  • ДаніДоговірКонтрагенту - в цю область ми виводимо в таблицю дані за договором контрагента;
  • Підвал — в цю область ми виводитимемо підсумкові значення по всьому звіту для полів Прихід та Витрата.

Приступимо до створення областей макета. Для того щоб створити область в макеті виділіть потрібну кількість рядків і натисніть Меню Таблиця -> Імена -> Призначити ім'я(Або Ctrl+Shift+N). В область Шапканапишемо найменування звіту: Оберти 62 рахунки, намалюємо за допомогою інструмента Межішапку звіту, а також задаємо параметри ПочатокПеріодуі КінецьПеріоду. За допомогою параметрів у звіт можна виводити потрібні дані, ми будемо займатися цими на наступному етапі розробки, а саме при написанні програмного коду звіту. Щоб створити параметр у макеті виберіть потрібну комірку, напишіть у ній найменування параметра (без пробілів), клацніть по ній правою кнопкою миші, у меню виберіть пункт Властивості. У властивостях комірки на закладці Макетвиберіть заповнення Параметр.

Після цього, в комірці ім'я параметра буде поміщено у кутові дужки(”<>“). У результаті область Шапкамає виглядати так:

В області ДаніКонтрагентстворимо параметри для виведення найменування контрагента, а також для приходу та витрати за рахунком 62, за допомогою інструмента Межіоформимо область у вигляді рядка таблиці.

В області ДаніДоговірКонтрагентустворимо параметри для виведення найменування договору, а також для приходу та витрати за рахунком 62, за допомогою інструменту Кордони оформимо область у вигляді рядка таблиці. Зробимо невеликий відступ перед параметром ДоговірКонтрагенту(це можна зробити за допомогою розбиття та об'єднання осередків. Правою кнопкою миші по комірці -> Об'єднатиабо Розбити комірку), він необхідний щоб у звіті було видно, що рядок за договором знаходиться нижче за ієрархією ніж рядок за контрагентом.

В області Підвалстворимо параметри для підсумків по приходу та витраті.

У результаті ми маємо отримати такий макет:

3. Створення форми звіту

Для виведення даних, завдання періоду формування та кнопки Сформуватинашому звіту буде потрібно форма. Для створення форми знайдіть у дереві метаданих зовнішнього звіту пункт Формита натисніть кнопку Додати. На першій сторінці конструктора форми не потрібно вносити жодних змін, слід просто натиснути кнопку Далі.

На наступній сторінці конструктора оберемо обидва доступні реквізити( ПочатокПеріоду, КінецьПеріоду) для розташування на формі.

У результаті в нас вийде така форма:

Але в такому вигляді вона нас не влаштовує, внесемо до неї деякі зміни:

  • Перетягнемо кнопку Сформуватиз нижньої панелі звіту на верхню (так зручніше для користувача);
  • Розтягнемо форму по вертикалі та горизонталі;
  • Розташуємо поля ПочатокПеріодуі КінецьПеріодупо горизонталі;
  • Додамо на форму елемент управління Поле табличного документа (в нього і буде виводитись наш звіт), задамо йому ім'я ТабДок;
  • Створимо кнопку вибору періоду (при її натисканні виводитиметься діалог зі зручним вибором потрібного періоду). Програмний код для неї ми писати поки не будемо, тому просто розташуємо кнопку поряд із полями періоду.

У результаті наша форма матиме такий вигляд:

4. Програмування

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

Перемикатися між формою та її модулем можна за допомогою закладок внизу форми

Для виклику форми вибору періоду скористаємося типовою процедурою Бухгалтерії 2.0із загального модуля РоботаСДіалогами — ОбробникНалаштуванняПеріодуНатискання, до неї як параметри потрібно передати реквізити звіту ПочатокПеріодуі КінецьПеріоду.

Процедура Кнопка1Натискання(Елемент)Робота з Діалогами. КінецьПроцедури

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

ТабДок = ЕлементиФорми.ТабДок;

Отримаємо макет зовнішнього звіту, скориставшись функцією ОтриматиМакет(<ИмяМакета>) , параметр йому передамо ім'я макета, і якщо такий макет існує, то функція його знайде.

Макет = ОтриматиМакет("Макет");

Після того, як макет отримано, створимо змінні для кожної з його областей, скористаємося для цього методом макета ОтриматиОбласть(<ИмяОбласти>) .

ОбластьШапка = Макет.ОтриматиОбласть("Шапка"); ОбластьДаніКонтрагент = Макет.Отримати Область( "ДаніКонтрагент"); ОбластьДаніДоговір = Макет.ОтриматиОбласть("ДаніДоговір"); ОбластьПодвал = Макет.ОтриматиОбласть("Подвал");

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

ТабДок.Очистити();

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

ОбластьШапка.Параметри.ПочатокПеріоду = ПочатокПеріоду; ОбластьШапка.Параметри.КінецьПеріоду = КінецьПеріоду;

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

ТабДок.Вивести(ОбластьШапка);

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

Запит = новий Запит;

Перед тим як розпочати написання тексту запиту передамо в нього потрібні параметри. Оскільки ми пишемо запит по рахунку 62 бухгалтерського обліку, то насамперед створимо параметр для нього

Запит.ВстановитиПараметр("Рахунок62" ,ПланиРахунків.Госпрозрахунковий.ЗнайтиПоКоду("62" ));

Також у запит необхідно передати період формування звіту. Не забуваємо, що для періоду формування ми маємо спеціальні реквізити звіту, їх і передаємо як параметри.

Запит.ВстановитиПараметр("ПочатокПеріоду", ПочатокПеріоду); Запит.ВстановитиПараметр("КінецьПеріоду",КінецьПеріоду);

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

Запрос.Текст = "";

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

Тепер необхідно вибрати потрібну нам таблицю бази даних 1С 8. Нам потрібна віртуальна таблиця Оборотирегістра бухгалтерії Госпрозрахунковий. Знайдемо її у лівій частині вікна конструктора

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

Заповнимо параметри, періоду яких ми передали на запит. Щоб у тексті запиту використовувати параметр, слід перед його ім'ям писати символ. амперсанда(&)

Залишилося заповнити умову за рахунком бух. обліку. Для цього знайдемо у параметрах віртуальної таблиці рядок Умова Рахункуі напишемо там

Рахунок В ІЄРАРХІЇ (&Рахунок62)

Також можна скористатися конструктором складання умов, натиснувши на кнопку з трьома точками.

Більше ніяких умов на віртуальну таблицю не потрібно накладати, тому натиснемо кнопку ОКу вікні параметрів віртуальної таблиці. Далі необхідно вибрати потрібні поля з таблиці Госпрозрахунковий.(а саме: Контрагент, Договір контрагента, Прихід та Витрата). Щоб переглянути список полів доступних у вибраній нами таблиці натисне символ ”+“ біля її назви. Після цього перетягнемо потрібні поля в праву область конструктора запитів, яка так і називається: Поля. Якщо відкрити план рахунків бухгалтерського обліку, ми побачимо, що з рахунку 62 аналітика з Контрагенту - це Субконто1, а за ДоговоруКонтрагенту — Субконто2.

Тому з полів віртуальної таблиці вибираємо Субконто1і Субконто2. Оскільки нам необхідний прихід і витрата за сумою, то вибираємо також поля СумаОборотДті СумаОбігКт

Заповнимо псевдоніми обраних нами полів, для цього перейдемо на закладку Об'єднання/Псевдонімиі поставимо потрібні імена полів.

Так як в нашому звіті дані будуть виводитися ієрархічно (контрагент на першому рівні, а всі його договори на другому), то налаштуємо виведення даних в ієрархії за допомогою підсумків. Перейдемо у конструкторі на закладку Підсумки. У групувальні поля перетягнемо послідовно Контрагенті ДоговірКонтрагенту, а підсумкові Парафіяі Витрата.

На цьому робота в конструкторі запиту завершена, натискаємо кнопку ОКі бачимо, що текст нашого запиту з'явився у програмному коді.

Запит.Текст = "ВИБРАТИ | ГоспрозрахунковийОбороти.Субконто1 ЯК Контрагент, | ГоспрозрахунковийОбороти.Субконто2 ЯК ДоговірКонтрагенту, | ГоспрозрахунковийОбороти.СумаОборотДт ЯК Прихід, | ГоспрозрахунковийОбороти.СумаОборотКт ЯК Витрата| РеєстрБухгалтерії.Госпрозрахунковий.Обороти(&ПочатокПеріоду, &КінецьПеріоду, Рахунок В ІЄРАРХІЇ (&Рахунок62),) ЯК ГоспрозрахунковийОберти|ПІДСУМКИ | СУМА(Прихід), | СУМА (Витрата) | ПО | Контрагент, | ДоговірКонтрагенту";

Після того як ми закінчили написання запиту, приступимо до заповнення областей ДаніКонтрагент, ДаніДоговірКонтрагенті Підвал. Всі ці області ми заповнимо даними отриманими під час виконання запиту. Оскільки наш запит містить угруповання( Контрагенті ДоговірКонтрагенту) Виберемо з нього дані наступним чином:

Вибірка Контрагент = Запит.

Таким чином ми отримаємо записи з підсумками щодо всіх контрагентів.

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

Загальний Прихід = 0; Загальна витрата = 0;

Для того, щоб дані звіту виводилися з ієрархією (і розворотами по ”+“) задамо початок автоугруповання рядків табличного документа:

ТабДок.ПочатиАвтоугрупованняРядок();

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

Поки ВибіркаКонтрагент.Наступний() Цикл КінецьЦикл ;

На початку циклу обнулили параметри Парафіяі Витратаобласті ДаніКонтрагент. Навіщо це потрібно? Уявімо ситуацію, що за контрагентом Дядя Вася, прихід 10, а витрата 5, а за ним наступного контрагента Дядя Петянемає ні приходу ні витрати, якщо ми не обнулимо параметри Парафіяі Витрата, то в рядку по контрагенту Дядя Петяпотрапить прихід 5 та витрата 10.

ОбластьДаніКонтрагент.Параметри.Приход = 0; ОбластьДаніКонтрагент.Параметри.Витрата = 0;

Після цього заповнюємо область ДаніКонтрагентданими елемента вибірки

ЗаповнитиЗначенняВластивостей(ОбластьДаніКонтрагент.Параметри,ВибіркаКонтрагент);

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

ТабДок.Вивести(ОбластьДаніКонтрагент,1);

Тепер для цього контрагента зробимо вибірку за його договорами.

ВибіркаДоговірКонтрагенту = ВибіркаКонтрагент.Вибрати(ОбхідРезультатуЗапроса.Угрупуванням);

Обхід будемо здійснювати за допомогою циклу Поки що.

Поки ВибіркаДоговірКонтрагенту.Наступний() Цикл КінецьЦикл ;

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

ОбластьДаніДоговір.Параметри.Прихід = 0; ОбластьДаніДоговір.Параметри.Витрата = 0; ЗаповнитиЗначенняВластивостей(ОбластьДаніДоговір.Параметри,ВибіркаДоговірКонтрагенту); ТабДок.Вивести(ОбластьДаніДоговір,2);

Також у цьому циклі до змінних розрахунку підсумкових значень щодо приходу та витрати додамо поточні значення.

ПідсумокПрихід = ПідсумокПрихід + Вибір ДоговірКонтрагенту.Прихід; Підсумок Витрата = Підсумок Витрата + Вибір ДоговірКонтрагенту. Витрата;

На цьому виведення даних в області ДаніКонтрагент, ДаніДоговірКонтрагентзавершено, залишилося завершити автоугруповання рядків табличного документа.

ТабДок.ЗакінчитиАвтоугрупованняСторок();

Цілком цикли відповідають за виведення даних в області ДаніКонтрагенті ДаніДоговірКонтрагентвиглядають так:

ТабДок.ПочатиАвтоугрупованняРядок(); Поки ВибіркаКонтрагент.Наступний() Цикл ОбластьДаніКонтрагент.Параметри.Прихід = 0 ; ОбластьДаніКонтрагент.Параметри.Витрата = 0; ЗаповнитиЗначенняВластивостей(ОбластьДаніКонтрагент.Параметри,ВибіркаКонтрагент); ТабДок.Вивести(ОбластьДаніКонтрагент,1); ВибіркаДоговірКонтрагенту = ВибіркаКонтрагент.Вибрати(ОбхідРезультатуЗапроса.Угрупуванням); Поки ВибіркаДоговірКонтрагенту.Наступний() Цикл ОбластьДаніДоговір.Параметри.Прихід = 0 ; ОбластьДаніДоговір.Параметри.Витрата = 0; ЗаповнитиЗначенняВластивостей(ОбластьДаніДоговір.Параметри,ВибіркаДоговірКонтрагенту); ТабДок.Вивести(ОбластьДаніДоговір,2); ПідсумокПрихід = ПідсумокПрихід + Вибір ДоговірКонтрагенту.Прихід; ПідсумокВитрата =РезультатВитрата ВибіркаДоговірКонтрагенту.Витрата; Кінець циклу; Кінець циклу; ТабДок.ЗакінчитиАвтоугрупованняСторок();

Залишилося вивести підсумкові дані до області Підвалі вивести саму область у Табличний документ.

ОбластьПідвал.Параметри.РезультатПрихід = ВсьогоПрихід; ОбластьПідвал.Параметри.РезультатВитрата =РезультатВитрата; ТабДок.Вивести(ОбластьПодвал);

У цьому процес написання зовнішнього звіту для 1С 8 без використання СКД завершено. Тепер його можна сформувати в режимі 1С:Підприємство 8 та додати до довідника ЗовнішніОбробкиФайл звіту розглянутого у статті ви можете завантажити на .

Дивіться відео зі створення зовнішньої друкованої форми для керованої програми:

У верхньому меню заходимо в Сервіс->->.

Після цього з'явиться форма списку довідника. У верхньому меню натискаємо Додати.

З'явилося вікно додавання нового звіту. Натискаємо кнопку Відкрити.

Вибираємо файл з потрібним звітом та натискаємо Відкрити. Після додавання файлу при необхідності змінюємо найменування звіту (як він буде відображатися в списку). Натискаємо ОК.

У результаті новинець звіт з'являється у списку.

Після цього звітом можна скористатися, додавання завершено. Щоб потім відкрити цей звіт, також заходимо до Сервіс->Додаткові звіти та обробки->Додаткові зовнішні звіти.

Для БП 3.0 ЗУП 3.0 УТ 11 ERP 2.0.

Для додавання зовнішнього звіту до конфігурацій 1С:Підприємство 8.3 у керованому інтерфейсі (на прикладі Бухгалтерії 3.0) увійдемо у відповідний розділ програми:


Необхідно, щоб було включено ознаку використання додаткових звітів, переходимо за гіперпосиланням:

У списку натискаємо кнопку Створити:


Після цього відразу відкриється діалогове вікно вибору файлу зі звітом, у якому потрібно вибрати потрібний файл(У моєму випадку це файл з план-фактним аналізом витрат).

Тепер потрібно налаштувати розміщення(те місце програми, де буде доступний звіт):


Довільно вибираємо зі списку потрібний розділ програми:


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

Тепер відкриваємо звіт із інтерфейсу програми:


Список поки що порожній, натискаємо Налаштувати список:


У формі підбору відзначаємо галочкою наш звіт:


Тепер він з'явився у списку:


За кнопкою Виконативідкривається форма звіту:


Звичайно, 1С Бухгалтерія 8 має дуже широкими можливостями. За допомогою цієї програми можна виконувати безліч різних завдань. Але іноді все ж таки стандартних вбудованих засобів не вистачає. Що в такому разі робити?

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

Допустимо, вам потрібно виконати якусь операцію і ви починаєте шукати, як це зробити в стандартноюЗміни 1С Бухгалтерія. Залежно від того, щосаме ви хочете зробити, є кілька способів вирішення проблеми.

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

Якщо документ формує проводки близькідо тих, що вам потрібні, але все ж таки не зовсім такі, то можна провести документ, а потім виправити проводки вручну. На особливостях нестандартного використання звичайних документів я тут особливо зупинятись не буду — це входить до мого курсу 1С Бухгалтерії 8 . Найголовніше - виявити трохи творчого підходу та знання конфігурації, і тоді виявиться, що коло завдань, які можна виконувати за допомогою стандартної (незміненої) конфігурації 1С Бухгалтерія Підприємства, розшириться.

Інший спосібполягає в модифікації конфігурації. Наприклад, мені якось сказав один із моїх студентів - " я хочу, щоб у мене у програмі на видному місці була кнопка "Скільки у нас грошей?" ". Цілком виправдане бажання, однак! ( хоча взагалі такий звіт у програмі вже є)

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

Тут була важлива частина статті, але без JavaScript її не видно!

Відповідь дуже проста - розширити функціонал програми за допомогою. Зокрема, мова піде про зовнішніх звітах та обробках.

Робиться це досить легко. Знаходимо в інтернеті необхідний звіт (або обробку - дивлячись що потрібно) і підключаємо його до стандартної конфігурації 1С Бухгалтерія 8. Для 1С Бухгалтерії 8.2 слід зайти в меню "Файл / Відкрити...", або натиснути кнопку Відкритина панелі інструментів, після чого у вікні Провідника вказати файл зовнішнього звіту/обробки. Приклад малюнку нижче.


"А як підключити зовнішній звіт/обробку у версії 1С Бухгалтерія 8.3?"- Запитають власники нової версії 1С Підприємства. Майже так само. Нагадую вкотре, що різниця лише в інтерфейсі . Приклад для 1С Бухгалтерії 8.3 див.

сайт_

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

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

Порада: зберігайте зовнішні звіти та обробки, що використовуються вами, у спеціально створеній папці- Це зручно. Папку можна створити в папці з базою 1С Бухгалтерія (якщо у вас є файлова база); для зручності можна змінити піктограму папки .

Чому їх називають "зовнішніми"?

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

Безпека під час роботи з модулями, що підключаються.

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

Завантажуйте зовнішні обробки лише з перевірених джерел!Пам'ятайте, що пошкодження бази даних внаслідок помилки або навмисних дій автора обробки може призвести до серйозних проблем. Сумніваєтеся - зробіть резервну копію бази перед запуском невипробуваної особисто вами обробки!

Кажуть, що під назвою 1С спочатку малася на увазі фраза "одна секунда", тобто. програми повинні видавати звіти швидко, "в одну секунду". Швидкість роботи звітів дуже важлива, але ще важливіше, щоб звіти видавали правильну інформацію — розберемося з цим з прикладу створення простого звіту в 1С 8.3 з урахуванням конфігурації Управління торгівлею 10.3. Для створення коректних звітів бажано (навіть рекомендовано) вміти конфігурувати 1С і трохи вміти програмувати внутрішньою мовою та мовою запитів 1С, хоча, з іншого боку, створення звітів — чудова можливість почати освоювати ці навички.

Цей опис є навчальним для розуміння основних принципів створення звітів 1С

Як створити звіт у 1С 8.3

Щоб створити звіт, необхідно відкрити 1С у режимі конфігуратора, для цього у вікні запуску 1С вибираєте потрібну базу у списку та натискаєте кнопку Конфігуратор:

У самому конфігураторі заходьте в меню Файл і вибираєте пункт Новий:


У меню вибираєте пункт Зовнішній звіт і натискаєте кнопку ОК:


Після цього з'явиться вікно нового звіту. У полі Ім'я вводьте найменування звіту, воно має бути без пробілів та спеціальних символів:


Як зробити звіт за допомогою макету

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

У вікні звіту (яке відкривається при створенні звіту) в нижньому списку встановлюєте курсор на пункт Макети і, при натисканні правою кнопкою миші, в меню натискаєте Додати:


У конструкторі макета, що відкрився, можете задати ім'я макета, в якості типу макета повинен бути обраний Табличний документ, після чого натискаєте в конструкторі кнопку Готово:


Після цього відкриється вікно макета, що нагадує лист Excel:


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

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

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


Після цього йдемо в меню Таблиця головного меню, заходимо у підменю Імена та клацаємо на пункт Призначити ім'я:


Програма запропонує вказати Ім'я області, ім'я також не повинно містити пробілів та спецсимволів, після цього натискаємо ОК, має вийти так:


Тепер у створеній області потрібно ввести текст, який виводиться у звіті та відформатуватиме його. Для цього в першу комірку вводимо текст, наприклад, «Перелік номенклатури». Робота з осередками схожа на Excel.

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


У вікні, що відкрилося, в розділі Накреслення встановлюємо галочку Жирний і натискаємо кнопку ОК:


У макеті має вийти ось так:


Таким же чином створюємо область рядка номенклатури, тільки не виділяємо жирним:


У області рядка необхідно зазначити, що найменування — це параметр, тобто. що туди підставлятиметься реальне найменування номенклатури при виведенні звіту. Для цього відкриваємо властивості комірки з найменуванням та у властивостях у полі Заповнення вибираємо значення Параметр, на цьому налаштування макета завершено:


Повертаємося у головне вікно звіту та в нижньому списку клацаємо правою кнопкою на пункт Форми та натискаємо Додати:


У конструкторі форми звіту, що відкрився, натискаємо кнопку Готово, відкриється форма звіту, клацаємо двічі на кнопку Сформувати:


В результаті відкриється вікно властивостей кнопки у правій частині екрана, в полі Дія натискаємо на лупу:


Після цього відкриється модуль форми, у якому потрібно запрограмувати формування звіту:


Спочатку вставимо замість виділеного тексту наступний текст програмного коду:

//створюємо табличний документ, який наповнюватиметься частинами звіту та виводитиметься на екран
ТабДокумент = Новий Табличний Документ;
//Далі, отримуємо макет, який створювали при створенні звіту
Макет = ОтриматиМакет("Макет");
//тепер потрібно вивести шапку звіту, для цього отримуємо область шапки з макета і виводимо її в табличний документ
ОбластьШапка = Макет.ОтриматиОбласть("Шапка");
ТабДокумент.Вивести(ОбластьШапка);
//за допомогою запиту отримуємо вибірку найменувань номенклатури, які треба вивести у звіті
Запит = Новий Запит;
Запит.Текст = "
| ВИБРАТИ
| Найменування
| Довідник.Номенклатура
|";
//отримати з макета область рядка номенклатури — звертатимемося до неї в циклі для виведення кожного найменування
ОбластьРядок = Макет.ОтриматиОбласть("Рядок");
//обробляємо у циклі кожне найменування з отриманої вибірки
Вибірка = Запит.Виконати().Вибрати();
Поки Вибірка.Наступний() Цикл
//для виведення чергового рядка потрібно вказати чергове найменування параметрі області (сам параметр ми налаштовували під час створення макета)
ОбластьРядок.Параметри.Найменування = Вибірка.Найменування;
//параметр заповнили, тепер можна вивести рядок
ТабДокумент.Вивести(ОбластьРядка);
КінецьЦикл;
//табличний документ сформований, тепер виводимо його на екран
ТабДокумент.Показати("Перелік номенклатури");

Коли текст буде скопійовано в модуль форми, то рядки, що починаються з подвійного слеша "//", будуть виділені зеленим - це коментарі, в них описано, що виконує кожен рядок коду:


Резюмуємо, які рядки програмного коду потрібні для формування звіту:

  1. Необхідно створити табличний документ, який буде наповнюватись частинами звіту та виводиться на екран, робиться це рядком «ТабДокумент = Новий ТабличнийДокумент;»
  2. Потрібно отримати макет звіту, з нього отримуватимемо структуру звіту частинами (області), робиться це рядком "Макет = ОтриматиМакет("Макет")"
  3. Для виведення кожної з областей потрібно отримати її з макета і вивести в табличний документ, робиться це рядками "Область Шапка = Макет. Отримати Область ("Шапка")" та "ТабДокумент.
  4. Якщо потрібно заповнити параметри, які стають відомі лише під час виконання програми, перед виведенням області потрібно заповнити такі параметри, робиться це рядком «ОбластьРаска.Параметры.Наименование = Выборка.Наименование»
  5. І лише, коли табличний документ заповнений усіма потрібними частинами звіту, він виводиться на екран, робиться це рядком "ТабДокумент.Показать("Перечень номенклатуры")"

І зараз можна перевірити роботу звіту – відкриваємо 1С у режимі підприємства (кнопка 1С: Підприємство у вікні запуску 1С). У головному меню заходимо в меню файл, натискаємо Відкрити:


Знаходимо та відкриваємо збережений файл звіту. У формі, що відкрилася, натискаємо кнопку Сформувати:


та отримуємо перелік номенклатури:


Це лише один із способів створення звітів у 1С. У наступних статтях розберемо інші.

Розповісти друзям