Додати звіт до 1с. Додавання зовнішнього звіту до бази. Створюємо схему компонування даних усередині звіту

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

Звіти та обробки: відмінності

При цьому від інших подібних об'єктів – обробок їх відрізняє:

  1. Можливість використання СКД (системи компанування даних);
  2. З допомогою обробки можна вводити інформацію, звіт служить висновку та організації даних;
  3. Різниця у форматі файлів: розширення epf говорить про те, що ми маємо справу з обробкою, erf є характерним для зовнішніх звітів.

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

Способи додавання звіту до бази

За допомогою спеціального довідника

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

  1. Для Повного та Адміністративного інтерфейсів, перейшовши за адресою: Операції->Довідники->Зовнішні обробки;
  2. Всі інші через: Сервіс->Додаткові звіти та обробки.
  3. Далі треба вибрати вид форми, яку потрібно отримати.

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

Рис.1 Форма реєстрації звіту чи обробки

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

  1. Друкована форма, що викликається за кнопкою Друк або іншою кнопкою у тих об'єктах, які вказані в табличній частині «Приналежність друкованої форми»;
  2. Заповнення табличних частин, для табличних частин документів та довідників, представлених у Табличній частині «Приналежність обробки до заповнення табличних частин»;
  3. Обробка;
  4. Звіт.

Мал. 2 Поле вибору виду звіту

На завершальному етапі необхідно вибрати файл, що містить оброблюваний код, із збережених на диску.

Рис.3 Напис, який говорить про необхідність вибору файлу звіту

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

Додавання до конфігурації

Наведені нижче дії вимагають монопольного доступу до бази.

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

Якщо конфігурація закрита для редагування, необхідно зайти в меню Конфігурація->Підтримка->Налаштування підтримки. Відкриється вікно, як на Рис.4

Мал. 4 Вікно редагування підтримки

  1. Натиснути кнопку "Включити можливість зміни";
  2. Позитивно відповісти питання системи.

Таким чином, Ви отримаєте можливість додавання власних елементів до метаданих баз даних.

Тепер клацнувши правою кнопкою мишки по рядку «Звіти» дерева конфігурації можна додати зовнішній компановщик даних конфігурацію Рис.5.

Мал. 5 Підменю додавання звіту до конфігурації

Особливості розміщення обробки на керованих формах

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

Перед тим, як в 1С додати звіт у керовану форму, необхідно переконатися, що він створений з використанням СКД, інакше форма відображатиметься некоректно.

Відкривши програму в режимі Адміністрації, необхідно в Панелі навігації знайти пункт «Друкарські форми, звіти та обробки»

Мал. 6 Панель навігації 1С 8.3

Встановивши у вікні прапорець «Додаткові звіти та обробки», ви отримаєте можливість додавати до бази ваші розробки для керованої форми.

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

Дуже часто в останніх версіяхпрограми, додавання вилітає з помилкою у тому: «Метод об'єкта не виявлено». Справа в тому, що після створення обробника за допомогою системи компанування даних, необхідно в його модулі прописати функцію Відомості Зовнішній Обробці () з позначкою Експорт, ця функція повинна повернути параметри реєстрації:

  1. Об'єкт, до якого підключатиметься обробник;
  2. Ім'я, з яким він буде зареєстрований у базі;
  3. Найменування команди.

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

Мал. 7 Розміщення

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

Додавання без розміщення

Перезаписувати елемент довідника щоразу, коли в код вносяться будь-які зміни, тим більше реєструвати цей обробник у конфігурації – досить нудна справа. Обійтись без цього можна. Досить легко відкривати файл, що містить обробку через меню Файл->Відкрити файл. Останні відкриті об'єкти зберігаються у списку в нижній частині підменю Файл.

Регламентовані звіти

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

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

Відкрити їх можна з меню Звіти->Регламентовані звіти. Після вибору варіанта звіту програма проведе його заповнення даними з бази. Якщо даних не вистачатиме, програма запропонує довнести відсутні дані вручну.

Не до кінця заповнені форми зберігаються із можливістю дозаповнення. Повністю заповнений та перевірений документ можна роздрукувати на папері або здати до податкового в електронному вигляді.

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

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

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

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

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

Для формування звіту в 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 та додати до довідника ЗовнішніОбробкиФайл звіту розглянутого у статті ви можете завантажити на .

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

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

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

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

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

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

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

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

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

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

Ставимо ціль

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

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

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

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

Поїхали!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вийшло так:

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

Вийшло так:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для БП 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С Бухгалтерія жодного відношення. Сам файл не вбудовуєтьсяу конфігурацію, а лише отримує доступ до даних бази.

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

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

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

2021 wisemotors.ru. Як це працює. Залізо. Майнінг. Криптовалюта.