Зовнішні звіти обробки 1с підприємство. Додавання зовнішньої обробки до бази

Увага!
Всі обробки з дисків ІТС призначені для ознайомлювальних цілей і виключно для зареєстрованих користувачів ІТС.

Підбір та обробка об'єктів. (Універсальна)

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

Згортка інформаційної бази. (Універсальна)

Виготовляє згортку ІБ типових конфігурацій:

  • УВП 3.1.
  • БП 1.6.
  • УТ 10.3.

Реєстрація змін для обміну. (Універсальна)

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

Перетворення журналу дій користувача. (Універсальна)

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

Повнотекстовий пошук у даних. (Універсальна)

Індексування та пошук у даних.

Пошук та заміна значень. (Універсальна)

Шукає та здійснює заміну посилальних значень в об'єктах ІБ.

Налаштування технологічного журналу. (Універсальна)

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

Консоль завдань. (Універсальна)

Моніторить фонові та регламентні завдання. Видаляє, створює нові.

Конвертація зовнішніх обробок. (Універсальна)

Зміна конфіденційної інформації. (Універсальна)

Вибіркова зміна чи очищення ІБ від певної інформації.

Групова зміна реквізитів. (Універсальна)

Змінює реквізити та табличні частини у документах та довідниках.

Вивантаження та завантаження користувачів. (Універсальна)

Вивантажує та завантажує користувачів ІБ у файл XML.

Вивантаження даних у зовнішні бази даних. (Універсальна)

Вивантажує структури даних у зовнішні СУБД, за допомогою ADO у двох режимах:

  • Вивантажити все
  • Вивантажити зміни (використовується для синхронізації змін робочої ІБ, з ІБ – приймачем). Цей режим використовує механізми обміну.

Підтримує наступні СУБД:

  • Microsoft SQL
  • IBM DB2
  • Oracle
  • PostgreSQL
  • MySQL

Вивантаження та завантаження даних XML. (Універсальна)

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

Завантаження даних із табличного документа. (Універсальна)

Здійснює завантаження даних у довідники та табличні частини з табличних документів.

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

Консоль запитів. (Універсальна)

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

Розглянемо створення зовнішнього звіту 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.2 розроблено новий стандарт для роботи в керованому додатку (стандарт із підсистеми стандартних бібліотек 8.2). З'явилися «фішки», яких не було до цього, а саме:

    Розширено вид обробок: заповнення об'єкта, створення пов'язаних об'єктів. Тепер у документах можна додавати свої кнопки із заповнення всього документа, а також свої кнопки із введення на підставі.

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

    Можна вводити на підставі та заповнювати об'єкти відразу на основі кількох об'єктів, а не одного

    Можна задати розклад виконання серверних команд (на сервері).

    Можна встановити режим «Безпечний» або «Небезпечний», тобто. запускати обробку з урахуванням обмежень прав або ігнорувати їх (як під повними правами)

    Можна встановити режим використання: Не використовувати, налагодження, використовувати. "Не використовувати" - не в роботі, "Налагодження" - видно тільки адміністраторам, "Використовувати в роботі".

    Можна увімкнути використання у формах об'єкта та у форма списків

    Можна прив'язати відразу до всіх об'єктів обробку або звіт.

    Можна настроїти швидкий доступ до певних команд зовнішніх обробок.

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

Отже, що можна підключити до стандартних конфігурацій?

З точки зору платформи можна підключати:

  • зовнішні обробки (файли з розширенням "epf");
  • зовнішні звіти (файли з розширенням erf).

З точки зору прикладної області (конфігурації) можна підключати зовнішні обробки та звіти з виглядом*:

  • Додаткова обробка
    • Просто додаткова обробка. Є можливість налаштувати
  • Додатковий звіт
    • Просто додатковий звіт
  • Заповнення об'єкту
    • Свої кнопки із заповнення об'єктів (документа), раніше були лише кнопки із заповнення табличної частини.
  • Печатна форма
    • Додаткова друкована форма (додається кнопка «Додаткові друковані форми»)
  • Звіт
    • Звіт, що прикріплюється до об'єктів (до довідників та документів).
  • Створення зв'язаних об'єктів
    • Своє введення на підставі (до пункту меню «Введення на підставі» додається кнопка «Створення зв'язаних об'єктів…»)

*на прикладі редакції «Управління невеликою фірмою ред. 1.2»

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

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

Функція ВідомостіЗовнішнійОбробці() Експорт
РеєстраційніДані = Новий Структура;
РеєстраційніДані.Вставити("Найменування", "Приклад використання зовнішніх обробок 8.2.");
РеєстраційніДані.Вставити("БезпечнийРежим", Істина);
РеєстраційніДані.Вставити("Версія", "1.0");

//Додаткова обробка
//Додатковий Звіт
//Заповнення Об'єкта
//Звіт
//Печатна форма
//СтворенняПов'язанихОб'єктів
РеєстраційніДані.Вставити("Вигляд", "Додаткова Обробка");

РеєстраційніДані.Вставити("Інформація", "Обробка зроблена за новим стандартом підключення зовнішніх обробок 8.2. Приклад обробки ""Hello Word"" ");

////////////// команди //////////////////////////
тзКоманд = Новий ТаблицяЗначень;
тзКоманд.Колонки.Додати("Ідентифікатор");
тзКоманд.Колонки.Додати("Подання");
тзКоманд.Колонки.Додати("Модифікатор");
тзКоманд.Колонки.Додати("ПоказуватиОповідання");
тзКоманд.Колонки.Додати("Використання");


рядокКоманди.Ідентифікатор = "1";
рядокКоманди.Представлення = "команда ""Hello Word"" (ВідкриттяФорми)";

рядокКоманди.Використання = "ВідкриттяФорми";

РядокКоманди = тзКоманд.Додати();
рядокКоманди.Ідентифікатор = "2";
рядокКоманди.Представлення = "команда ""Hello Word"" (ВикликКлієнтського Методу)";
рядокКоманди.ПоказуватиОповідання = Істина;
рядокКоманди.Використання = "ВикликКлієнтськогоМетоду";

РядокКоманди = тзКоманд.Додати();
рядокКоманди.Ідентифікатор = "3";
рядокКоманди.Представлення = "команда ""Hello Word"" (ВикликСерверногоМетода)";
рядокКоманди.ПоказуватиОповідання = Істина;
рядок Команди. Використання = "Виклик Серверного Методу";

РеєстраційніДані.Вставити("Команди", тзКоманд);

/////////////// призначення (в яких об'єктах використовується) //////////////////////////
//для печ.форм, заповнення, введення свазаних об'єктів
//МасивПризначень = Новий Масив;
//МасивПризначень.Додати("Документ.*"); // Усі документи призначаються
//МасивПризначень.Додати("Документ.АвансовийЗвіт");
//МасивПризначень.Додати("Документ.Замовлення Покупця");
//РеєстраційніДані.Вставити("Призначення", МасивПризначень);

Повернення РеєстраційніДані;

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

Отже, як видно функція заповнює структуру Реєстраційні Дані, яка має такі елементи (параметри):

    Найменування – коротке найменування обробки

    Версія - інформація про версію обробки

    Безпечний режим – відповідає за те, чи обробка повинна виконуватися враховуючи права користувача. Якщо поставити значення «Брехня», обробка або звіт виконуватимуться без урахування обмежень прав (як під повними правами). Ця можливість з'явилася саме в 8.2, де під час створення зовнішніх обробок та звітів другим параметром вказується режим.

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

  • Команди – таблиця значень, у якій перераховуються використовувані команди. Колонки таблиці значень:
    • Ідентифікатор – будь-який рядок (ідентифікатор команди)
    • Подання – опис команди
    • Модифікатор – рядок (використовується для додаткових друкованих форм)
    • Показувати Оповіщення – вікно сповіщення буде з'являтися перед початком та після закінчення виконання (для команд клієнтських та серверних без форми)
    • Використання – режим запуску обробки:
      • ВідкриттяФорми – відкриється форма обробки
      • Виклик Клієнтського Методу – виклик клієнтського експортного методу форма
      • Виклик Серверного Методу – виклик експортного методу з модуля обробки

Залежно від виду обробки або звіту, а також від режиму запуску команди «Використання» викликаються методи, визначені в модулі форми, модулі об'єкта. Список параметрів, що передаються, теж відрізняється. Приклади викликів та використання всіх видів обробок додаю.

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

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

З'явиться форма додавання нового об'єкта. Натискаємо кнопку відкрити, і вибираємо файл з потрібною обробкою. Після того як ви вибрали потрібний файл, за потреби, задайте ім'я обробки (поле Найменування). Після цього потрібно натиснути ОК, щоб зберегти зміни.

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

На цьому все! Процес додавання обробки до конфігурації завершено. Щоб згодом відкривати цю обробку, заходьте старим шляхом: Сервіс->Додаткові звіти та обробки->Додаткові зовнішні обробки.

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

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

Для першого випадку додамо обробку із заповнення довідника номенклатури з Екселю.

Переходимо у відповідний розділ програми:


Необхідно, щоб була встановлена ​​ознака використання додаткових звітів та обробок, переходимо за посиланням до списку зовнішніх об'єктів:

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


У діалоговому вікні, що відкрилося, вибираємо потрібний файл з обробкою:


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


Як розміщення вибираємо довільний розділ (або кілька):


Записуємо та закриваємо картку зовнішнього об'єкта:


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


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


Вибираємо нашу обробку:


Тепер вона доступна для вибору. Щоб відкрити обробку, потрібно натиснути Виконати:


Тепер подивимося, як додається обробка із заповнення (модифікації) конкретних об'єктів. Наприклад візьмемо зовнішню обробку, яка прикріплює скани до обраних елементів довідників чи документів системи. Початок додавання такої обробки не відрізняється від попереднього варіанта. Відмінність у цьому, що у разі розміщення заповнюється автоматично (і розділом програми, а типами об'єктів бази):


За бажанням список розміщення можна скоригувати ( не додати додаткове розміщення, а забрати зайве):


Для ухвалення зміни картку зовнішнього об'єкта також потрібно записати.

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

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

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

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

  • Додаткові зовнішні обробки табличних елементів;
  • Додаткові зовнішні друкарські форми;
  • Додаткові зовнішні звіти;
  • Додаткові зовнішні обробки.

Що таке додаткові зовнішні обробки, звіти та друковані форми




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

І тут є два варіанти. Перший, ми можемо доопрацювати саму конфігурацію, саму програму. Після цього вона перестане бути типовою і оновлювати її тими досить простими способами, про які я писав, не вийде. Оновлення нетипової конфігурації - це процес більш тривалий і серйозний, тому при такому підході найімовірніше доведеться щомісяця платити фахівцю 1С за оновлення програми. Другийваріант – це розробити чи попросити розробити зовнішню обробку чи друковану форму (звіт). Це по суті зовнішній модуль, який також розробляється мовою програмування 1С в конфігураторі, але не вносить змін до типової конфігурації. Він існує незалежно від самої конфігурації. Для їх зберігання використовують спеціальні довідники: пункт головного меню «Сервіс» -> «Додаткові звіти та обробки».

Додаткові зовнішні обробки із заповнення табличних частин

Семінар «Лайфхакі з 1C ЗУП 3.1»
Розбір 15-ти лайфхаків з обліку в 1с ЗУП 3.1:

ЧЕК-ЛИСТ з перевірки розрахунку зарплати у 1С ЗУП 3.1
ВІДЕО - щомісячна самостійна перевірка обліку:

Нарахування зарплати у 1С ЗУП 3.1
Покрокова інструкція для початківців:

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

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

Бухгалтер попросив реалізувати можливість заповнення цього документа співробітниками, робочі дні яких за графіком припадали вихідні, тобто. «Ті, хто працював у вихідні».

Цей файл був завантажений у довідник "Зовнішні обробки табличних частин"(пункт меню "Сервіс" -> "Додаткові звіти та обробки" -> "Додаткові зовнішні обробки табличних частин"). При створенні елемента цього довідника було зазначено до якого документу належить обробка, що завантажується – «Оплата святкових і вихідних днів організації», а також до якої табличної частини – «Співробітники». У прикладі таблична частина в документа одна, але в інших документах їх може бути кілька, тому і потрібно конкретно вказати, до якої з них відноситься обробка.

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

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

Додаткові зовнішні друкарські форми

Семінар «Лайфхакі з 1C ЗУП 3.1»
Розбір 15-ти лайфхаків з обліку в 1с ЗУП 3.1:

ЧЕК-ЛИСТ з перевірки розрахунку зарплати у 1С ЗУП 3.1
ВІДЕО - щомісячна самостійна перевірка обліку:

Нарахування зарплати у 1С ЗУП 3.1
Покрокова інструкція для початківців:

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

До складу цих друкованих форм довідника можна додати свої власні. І тому створюється зовнішня друкована форма, має розширення “.epf”. Потім для неї створюється елемент довідника "Додаткові зовнішні друковані форми"(пункт меню «Сервіс» -> «Додаткові звіти та обробки») та файлик з розширенням “.epf” додається до цього елемента довідника. Також необхідно вказати, для якого документа чи довідника додається обробка.

В результаті у складі друкованих форм елементів довідника «Співробітники» з'явиться ще одна форма – «Трудовий договір (ТОВ Альфа)», якої раніше не було. А її зовнішній вигляд та заповнення даними визначає програміст у файлі “.epf”.

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

Додаткові зовнішні звіти

У цьому випадку можна розробити зовнішній звіт. Це файл формату ".erf". Саме цей файл визначатиме зовнішній вигляд звіту, те, які дані конфігурації він використовуватиме, а які запитувати у користувача (наприклад, період, відбір по співробітникам чи підрозділам). Файл створюється у конфігураторі 1С мовою програмування 1С.

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

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

Запустити зовнішній звіт можна за допомогою пункту меню «Файл» -> «Відкрити». Цей варіант можна використовувати, якщо Вам зручніше зберігати зовнішні звіти не в програмі, а просто в папках комп'ютера.

Додаткові зовнішні обробки

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

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

Наведу ще один прикладПросте, але досить затребуваної обробки. Якщо в 1С ЗУП протягом року не вести документ «Перерахування ПДФО до бюджету», то при формуванні 2-ПДФО за рік поле «Перераховано» у кожного співробітника буде нульовим, що, як правило, фактично невірно. Вводити документ «Перерахування ПДФО до бюджету» за весь рік буває досить стомлюючим, враховуючи особливості самого документа. Але можна зробити зовнішню обробку, яка у сформованому 2-ПДФО просто заповнить поле «Перераховано» у кожного співробітника на підставі значень у полі «Розраховано». Зазвичай бухгалтерам дуже подобається такий варіант.

Зовнішні обробки мають такі самі два варіанти зберігання і запуску: або використовувати довідник "Додаткові зовнішні обробки"(пункт меню "Сервіс" -> "Додаткові звіти та обробки"), або пункт головного меню "Файл" -> "Відкрити".

На цьому сьогодні все!

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



Подібні публікації