1с 8.3 зовнішнє оброблення форма звіту відкрити. Додавання зовнішнього звіту до бази

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

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

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

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

Створення нової зовнішньої обробки 1С 8.3 на прикладі

Тепер переходимо до конфігуратора. У меню "Файл" вибираємо "Новий ...". Відкриється вікно вибору виду створюваного файлу. Вибираємо «Зовнішня обробка»:

Відкриється вікно нової зовнішньої обробки. Відразу поставимо їй ім'я. Воно буде запропоновано за умови збереження обробки на диск:

Додамо нову керовану форму обробки. Вказуємо, що це форма обробки і є основною:

На формі у нас буде два реквізити:

  • Група Номенклатури – посилання на довідник "Номенклатура";
  • ВибСтавка ПДВ – посилання на перерахування Ставки ПДВ.

Створюємо реквізити у колонці «Реквізит» у верхньому правому вікні. Перетягуємо мишкою їх у верхнє ліве вікно. Нові реквізити повинні одразу відобразитись на формі внизу.

Черговість реквізитів можна міняти стрілками «Вгору» – «Вниз»:

Отримайте 267 відеоуроків з 1С безкоштовно:

Залишилося додати кнопку "Встановити". У керованих формах не можна просто додати кнопку на форму. Навіть якщо додати її до структури елементів форми, на самій формі її видно не буде. Кнопку обов'язково потрібно зв'язати з командою, яку виконуватиме. Переходимо до закладки «Команди» та додаємо команду «Встановити Ставку ПДВ». У властивості команди створюємо дію. Обробник команди вибираємо "На клієнті". Команду можна додати на форму також простим перетягуванням в розділ з елементами форми.

У модулі форми буде створено однойменну процедуру. У ній викличемо процедуру на сервері:

&На Клієнті

Процедура ВстановитиСтавку ПДВ(Команда)

ВстановитиСтавку ПДВСервері();

КінецьПроцедури

У процедурі на сервері напишемо невеликий запит та дії, пов'язані із встановленням ставки ПДВ:

&На Сервері

Процедура ВстановитиСтавку ПДВСервері()

Запит = Новий Запит;
Запит.Текст =
«ВИБРАТИ
| Номенклатура.

| Довідник Номенклатура ЯК Номенклатура
|ДЕ
| Номенклатура.Посилання В ІЄРАРХІЇ (&ГрупаНоменклатури)
| І НЕ Номенклатура.
| І НЕ Номенклатура. Це Група »;

Запит.ВстановитиПараметр(«Група номенклатури», група номенклатури);
РезЗапроса = Запрос.Выполнить();
ВибДетЗаписи = РезЗапроса.Вибрати();

Поки ВибДетЗаписи.Наступний() Цикл

Спроба
СпрНомОбъект.Записать();
Виняток
Повідомити(«Помилка запису об'єкта «»» + СпрНомОб'єкт + «»»!
|» + ОписПомилки());
КінецьСпроби;

КінецьЦикл;

КінецьПроцедури

Повертаємось на закладку «Форма», додаємо на форму кнопку та зв'язуємо її з командою:

Як така наша обробка готова до використання. Щоб її викликати, у режимі "1С Підприємства" потрібно зайти в меню "Файл" - "Відкрити" і вибрати створений файл.

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

Для цього служить розділ «Додаткові звіти та обробки».

Але щоб додати туди нашу обробку, потрібно спочатку дати їй опис та повідомити програму її властивості.

Опис функції «Відомості про зовнішню обробку»

Наведу приклад вмісту цієї функції. Вона має бути експортною і, відповідно, розташовуватися в модулі обробки:

Функція ВідомостіЗовнішнійОбробці() Експорт

ДаніДляРег = Новий Структура();
ДаніДляРег.Вставити(«Найменування», «Установка ставки ПДВ»);
ДаніДляРег.Вставити(«БезпечнийРежим», Істина);
ДаніДляРег.Вставити(«Версія», «ver.: 1.001»);
ДаніДляРег.Вставити(«Інформація», «Обробка для встановлення ставки ПДВ у довіднику Номенклатура»);
ДаніДляРег.Вставити(«Вигляд», «Додаткова Обробка»);

ТабЗнКоманда = Новий ТаблицяЗначень;
ТабЗнКоманди.Колонки.Додати(«Ідентифікатор»);
ТабЗнКоманди.Колонки.Додати(«Використання»);
ТабЗнКоманди.Колонки.Додати(«Подання»);

НовийРядок = ТабЗнКоманда.Додати();
НовСтрока.Ідентифікатор = «Відкрити Обробку»;
НовийРядок.Використання = «ВідкриттяФорми»;
НовСтрока.Представлення = «Відкрити обробку»;
ДаніДляРег.Вставити(«Команди», ТабЗнКоманди);

Повернення ДаніДляРег;

КінецьФункції

Щоб краще зрозуміти, які поля структури реєстраційних даних потрібно використовувати, переглянемо реквізити довідника «Додаткові звіти та обробки»:

Як бачимо, все досить просто. Не збігається лише один реквізит: "Варіант Запуску" - "Використання". Якщо подивитися код одного із загальних модулів, то ми побачимо, як виникає зв'язка цих полів:

Щоб визначити, які поля структури є обов'язковими, можна спочатку не описувати її, просто створити порожню, а далі скористатися відладчиком. Якщо трасувати модулі під час реєстрації обробки, відразу стає зрозуміло, які поля потрібні, а які ні.

Підключення зовнішньої обробки до 1С 8.3

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

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

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

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

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

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

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

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


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

У списку, що відкрився, натискаємо кнопку Створити:


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

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


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


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

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


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


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


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


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


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

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

Завантажити універсальну обробку об'єктів 1С 8.3.

У звичайному додатку версії платформи 1С 8.2 та 8.1 (на звичайних формах) була така чудова обробка, як «Універсальний підбір та обробка об'єктів». Вона значно спрощувала життя програмістам та адміністраторам програми.

З'явилася така сама обробка 1С для керованого додатка (8.3 та 8.2). До цього, в 1С 8.3, доводилося обходиться типовою обробкою групова зміна реквізитів, проте вона вирішує не всі завдання, які потрібні у повсякденній роботі користувача або програміста 1С.

Пошук та відбір об'єктів

Після завантаження обробки, ми можемо запустити її як зовнішню. Хто не знає, це робиться через меню "Файл" - "Відкрити". З'явиться вікно обробки:

На першій закладці ми маємо вибрати об'єкт, з яким збираємося працювати. Так, у полі «Об'єкт пошуку» вже вибрано документ «Реалізація (акти, накладні)». Це тому, що раніше вже вибирали даний об'єкт. Обробка вміє запам'ятовувати.

За кнопкою «Налаштування відбору» ми можемо встановити відбір практично по будь-якому полю об'єкта:

Якщо даних відборів замало, можна відібрати потрібні об'єкти з допомогою довільного запиту. Для цього переведіть перемикач "Режим відбору" у відповідне положення.

Після всіх налаштувань об'єкти потрібно відібрати. Натисніть кнопку «Знайти об'єкти» і дивимося результат відбору:

Обробка елементів

Перейдемо на закладку «Обробки»:

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

Довільний алгоритм

Обробка «Довільний алгоритм» дозволяє написати програму дій над об'єктами внутрішньою мовою 1С. Обробка вимагає навичок програмування та її опис гідно окремої статті. З її допомогою можна зробити практичні дії над об'єктами:

Встановлення реквізитів

Обробка «Встановлення реквізитів» дозволяє змінити реквізити відібраних документів або довідників, а також регістрів відомостей. Досить корисна, а іноді просто необхідна обробка. Наприклад, замінимо у відібраних документах валюту документа:

Відразу слід зауважити, що обробку можна виконати відразу, а можна зберегти налаштування. Ця установка відображатиметься у дереві обробки.

Перенумерація об'єктів

Обробка «Перенумерація об'єктів», відповідно, дозволяє перенумерувати документи, або змінити коди довідників. Обробка дає багатий набір дій. Наприклад, ви вирішили змінити префікс у документів, які відібрали:

Тепер подивимося, що ми можемо зробити зі збереженими налаштуваннями. Виявляється, ми можемо виконати одним пакетом, перенісши у вікно "Вибрані обробки":

Тепер ми можемо послідовно виконати вибрані налаштування, натиснувши кнопку "Виконати".

За матеріалами: programmist1s.ru