Часто при роботі з 1С буває потрібно провести якісь однотипні операції, які повторюються систематично за часом і просто відволікають від основної роботи. Це можуть бути різні завантаження-вивантаження, формування якихось даних для зовнішнього аналізу і т.д. Є досить простий спосіб ці операції автоматизувати і фактично забути про них, отримуючи періодично лог-файли на пошту для контролю.
Дуже добре, якщо ці операції у Вас вже написані зовнішніми обробками, не проблема, якщо це не так, створити і перенести все туди. Далі для перевірки працездатності рекомендую протестувати все це в ручному режимі і далі, якщо все працює як треба, переписати основний код обробки таким чином, щоб під час запуску зовнішньої обробки вона стартувала автоматично, без натискань на кнопку виконати тощо. Найпростіше, перенести код в процедуру При відкритті().
Наступний крок, робимо автоматичне закриття програми після виконання зовнішньої обробки, яку ми створили і вона у нас вже працює. Для цього в процедурі При відкритті() в самому кінці вставляємо наступну команду: ЗавершітьРаботуСістеми (Брехня); в даному випадку параметру ЗапрашіватьВозможность ми передаємо значення «Брехня», що б відсікти різні варіанти додаткових питань системи при закритті, тим самим ініціюємо безумовне завершення роботи 1С після виконання даної зовнішньої обробки. Для вірності знову запускаємо програму і виконуємо обробку і переконуємося, що вона відпрацювала і програма сама закрилася.
«C: \\ Program Files (x86) \\ 1cv8 \\ 8.3.5.хххх \\ bin \\ 1cv8.exe» ENTERPRISE / DisableStartupMessages / FС: \\ шлях до бази / N »ім'я користувача» / P »ПарольПользователя» / Execute з: \\ шлях до обробки \\ самаобработка.epf
розшифруємо:
1. «C: \\ Program Files (x86) \\ 1cv8 \\ 8.3.5.хххх \\ bin \\ 1cv8.exe» ENTERPRISE - сам движок 1С в даному випадку 8.3, перевірте шлях з себе самі, він відрізняється в залежності від версії і движка в тому числі і не забуваємо правити його після поновлення останнього.
2. / DisableStartupMessages - відключаємо всі повідомлення при старті системи.
4. / N »ім'я користувача» / P »ПарольПользователя» - відповідно / N ім'я користувача, також відразу без пробілу і / P пароль.
5. / Execute з: \\ шлях до обробки \\ самаобработка.epf - / Execute запускає нашу обробку, шлях і назву має слідувати після цього ключа.
Тепер все, залишається тільки додати в планувальник завдань наш cmd файл: avtozapusk1c.cmd, Вказавши розклад його запуску.
Для відстеження роботи зовнішньої обробки рекомендую під неї створити окремого користувача, ще оптимально, що б обробка сама створювала лог-файл, який також періодично падав до Вас на пошту.
Ось такі не хитра інструменти допомагають автоматизувати щоденні рутинні операції, успіхів Вам!
Зовнішні обробки - дуже зручний інструмент для компаній, що використовують типові конфігурації на 1С: Підприємство 8.3. Вони дозволяють не витрачати сили і кошти на оновлення 1С, даючи можливість оновлювати бази однією кнопкою в режимі простого користувача. Використовуючи механізм бібліотеки стандартних підсистем, можна додати різні кнопки в документи і довідники, не змінюючи типову конфігурацію. Розглянемо приклад створення і підключення зовнішньої обробки в одній з конфігурацій 1С.
Створюємо зовнішню обробку в 1С 8.3
Щоб створити нову зовнішню обробку, використовуємо конфигуратор. Через меню «Файл» вибираємо команду створення «Новий ...» і визначаємося, що ми будемо створювати зовнішню обробку. У вікні задаємо ім'я, і \u200b\u200bпри натисканні «Enter» воно заповнюється автоматично. Також це ім'я вам запропонує система в якості назви файлу при збереженні.
Додамо форму обробки, натиснувши на кнопку із зображенням лупи в відповідному вікні. Для прикладу створимо обробку, яка ніколи, в яких замовленнях клієнта використовується певна номенклатура. Для цього нам необхідно розмістити на формі:
- Реквізит - поле для установки номенклатури;
- Кнопку, яка виконає виклик коду.
Додаємо реквізит «Номенклатура» з типом даних «СправочнікСсилка.Номенклатура» у відповідному розділі і кнопку «Показати» в меню «Команди» -\u003e «Команди форми».
Щоб на формі відбилися додані дані, їх необхідно перетягнути в елементи форми, розташовані в лівій верхній частині. Є можливість поміняти місцями елементи за допомогою синіх стрілок. Щоб створена нами кнопка виконувала задумане, їй потрібно призначити процедуру. Через контекстне меню виберемо «Дія команди», і на питання, де потрібен обробник, відповімо: «Створити на клієнті і процедуру на сервері».
фрагмент 1
& НаКліенте Процедура Показати (Команда) ПоказатьНаСервере (); КонецПроцедури & НаСервере Процедура ПоказатьНаСервере () // Вставити вміст обробника. КонецПроцедуриМи вибрали створення процедури на сервері, так як хочемо в якості результату отримати вибірку з бази даних. На клієнті у нас немає такої можливості, тому потрібно підключення до сервера, який і обмінюється з БД даними. Тепер нам необхідно написати код, який реалізує задумане нами. Використовуватиметься запит і виведення всіх документів через функцію «Повідомити ()».
фрагмент 2
& НаКліенте Процедура Показати (Команда) ПоказатьНаСервере (Номенклатура); КонецПроцедури & НаСервере Процедура ПоказатьНаСервере (Номенклатура) Запит \u003d Новий Запит; Запрос.Текст \u003d "ВИБРАТИ РІЗНІ | ЗаказКліентаСостав.Ссилка ЯК Посилання | З | Документ.ЗаказКліента.Состав ЯК ЗаказКліентаСостав | ДЕ | ЗаказКліентаСостав.Номенклатура \u003d & Номенклатура"; Запрос.УстановітьПараметр ( "Номенклатура", Номенклатура); РезультатЗапроса \u003d Запрос.Виполніть (); ВиборкаДетальниеЗапісі \u003d РезультатЗапроса.Вибрать (); Поки ВиборкаДетальниеЗапісі.Следующій () Цикл Повідомити (ВиборкаДетальниеЗапісі.Ссилка); КонецЦікла; КонецПроцедуриНа поточному етапі ми можемо в запущеній базі 1С здійснити відкриття зовнішньої обробки як звичайного файлу, і вона вже буде працездатна. Але якщо у нас багато користувачів, нам доведеться розіслати їм всім цей файл, забезпечивши при цьому його інструкцією про те, як його, власне, відкривати в 1С, що вкрай незручно. Щоб цього уникнути, наша обробка повинна розташовуватися всередині одного з розділів 1С. Для цього нам необхідно ще трохи її доопрацювати через конфігуратор, вказавши певні настройки.
Щоб розмістити зовнішню обробку в розділі 1С, необхідно їй в модулі об'єкта прописати процедуру «СведеніяОВнешнейОбработке». В основному меню обробки натисніть «Дії» і виберіть «Модуль об'єкта». Тут необхідно прописати всі необхідні для 1С настройки, щоб система зрозуміла, що від неї вимагається і що за файл перед нею. На скріншоті зображений код функції «СведеніяОВнешнейОбработке».
Функція СведеніяОВнешнейОбработке () Експорт ДанниеДляРег \u003d Новий Структура (); ДанниеДляРег.Вставіть ( "Найменування", "Нова зовнішня обробка"); ДанниеДляРег.Вставіть ( "БезопаснийРежім", Істина); ДанниеДляРег.Вставіть ( "Версія", "ver .: 1.001"); ДанниеДляРег.Вставіть ( "Вид", "ДополнітельнаяОбработка"); ТабЗнКоманди \u003d Новий ТабліцаЗначеній; ТабЗнКоманди.Колонкі.Добавіть ( "Ідентифікатор"); ТабЗнКоманди.Колонкі.Добавіть ( "Використання"); ТабЗнКоманди.Колонкі.Добавіть ( "Подання"); НовСтрока \u003d ТабЗнКоманди.Добавіть (); НовСтрока.Ідентіфікатор \u003d "НоваяВнешняяОбработка"; НовСтрока.Іспользованіе \u003d "ОткритіеФорми"; НовСтрока.Представленіе \u003d "Нова зовнішня обробка"; ДанниеДляРег.Вставіть ( "Команди", ТабЗнКоманди); Повернення ДанниеДляРег; КонецФункцііфрагмент 3
Підключення зовнішньої обробки в 1С
Перед тим, як підключати зовнішню обробку до типової конфігурації, необхідно включити використання цього інструменту. У «Адмініструванні» в підпункті «Друковані форми, звіти і обробки» встановлюємо прапор навпроти потрібного нам механізму. Нам стає доступна кнопка переходу до довідника додаткових обробок і звітів.
При переході до списку створимо нову сходинку в ньому, і система запропонує вибрати файл. Вибираємо зроблену нами і збережену обробку, і конфігурація 1С самостійно заповнює більшість полів. Через кнопку «Виконати» ми вже можемо перевірити працездатність нашої обробки, але це не дуже зручно для інших користувачів. Щоб у користувачів з'явилася наша команда, і вони могли зробити виклик, нам необхідно:
- Вказати розміщення об'єкта. Натисканням на «Не визначено» ми відкриваємо вікно розділів і вкажемо, в яких розділах буде доступна операція;
- Вибрати користувачів, у яких дана команда з'явиться в меню «Додаткові обробки» обраних розділів без зайвих налаштувань. Для цього в табличній частині потрібно вибрати пункт «Швидкий доступ» і додати в праву половину відповідальних користувачів;
- На вкладці «Додаткова інформація» ви можете вказати папку, в якій буде перебувати завантажена обробка;
- Після натискання клавіші «Записати» в обраному розділі в меню «Додаткові обробки» користувачі виявлять нашу команду і зможуть нею скористатися.
Якщо ми хочемо внести зміни в нашу обробку, необхідно спочатку вивантажити її з бази. Для цього в довіднику «Додаткові обробки і звіти» знайдіть потрібну строчку і скористайтеся командою «вивантажити в файл ...». Внесіть зміни, збережіть обробку і через клавішу «Завантажити з файлу ...» знайдіть змінений файл epf, не змінюючи параметри. Після запису всі користувачі побачать внесені зміни.
Якщо ви використовуєте НЕ типову або зняту з підтримки базу 1С, то скористайтеся можливістю завантажити обробку через конфігуратор. У дереві об'єктів в розділі «Обробки» створіть нову обробку і через контекстне меню виберіть «Замінити на зовнішню обробку, звіт ...». Залишиться лише налаштувати запуск зовнішньої обробки з потрібного розділу, включивши додану обробку в потрібну підсистему.
Робота з зовнішніми обробками вельми зручна і дозволяє уникнути багатьох конфліктів. Єдиний їхній недолік - вони не оновлюються автоматично разом з конфігурацією. Тобто, якщо розробники поміняли назву документа або довідника в основний конфігурації, нам доведеться вручну налаштувати проектор обробки.
Питання: Проблема з доступом до додаткової обробки в зуп3
відповідь:
Питання: Запуск додаткової обробки за розкладом
відповідь:
Питання: Роздріб 2.2 запуск доп.обработкі за розкладом
відповідь:
Питання: Додаткова обробка
відповідь:
Питання: Використання Веб-Сервісів додаткової обробки з використанням БСП
Добридень!
У фреші необхідно вбудувати додаткову обробку, яка буде звертатися до веб-Сервісу іншої бази. Обробка звичайно ж в безпечному режимі, проте "допускається використання розширення безпечного режиму бібліотеки стандартних підсистем (можливість працювати з файлами, з ресурсами мережі Інтернет і т.д.) через спеціалізований програмний інтерфейс з реєстрацією дозволів, необхідних додатковому звіту / обробці." Однак не можу знайти в поточній версії БСП як налаштувати це. допоможіть, будь ласка Версія бази у фреші: Бухгалтерія підприємства, редакція 3 .0 (3 .0 .59 .45) БСП 2 .4 .5 .31
відповідь: oO
Питання: зуп вилітає при запуску певної обробки, що робити?
Є дописка, яка оновлює документи розрахунку, введені на підставі звільнення. При запуску цієї обробки програма тупо закривається без будь-яких повідомлень. У отладчике нічого не видно. На тестовій датою, для якої зробив 1 документ проходить. Що робити ще? Тестування запускав, начебто помилок немає.
відповідь: чудово, але цикл навіщо потрібен бил.Есть записи вже тоді пиши не знаю там в журнал або ще якось, немає тоді модифікуй або нічого не роби
Питання: Регламентне завдання дополнітелной обробки
Конфігурація Альфа-Авто: Автосалон + Автосервіс + Автозапчастини КОРП. Редакція 6.
Створив Зовнішню обробку. Підключив її як Додаткова обробка.
Налаштував виконання за розкладом. А вона не запускається з помилкою:
Регламентне завдання "Запуск додаткових обробок", не може бути виконано через відсутність налаштувань в процедурі РегламентниеЗаданіяПереопределяемий.ПріОпределенііНастроекРегламентнихЗаданій (). Зверніться до системного адміністратора!
Хто підкаже що не так з обробкою або Настройкою Бази.
відповідь: () Так Ви подивіться що там в РегламентниеЗаданіяПереопределяемий.ПріОпределенііНастроекРегламентнихЗаданій ()
У БСП ця процедура зазвичай порожня. В Альфі можливо що то допрацьовували.
Питання: Автоматичний запуск зовнішньої обробки
Всім доброго часу доби. Допоможіть будь ласка шановні розробники 1С вирішити задачку.
Є зовнішня обробка, в ній дві кнопки, "Виконати" і "Відправити". При натисканні на кнопку "Виконати", заповнюється таблична частина.
При натисканні на кнопку "Відправити", відправляється повідомлення електронної пошти з даними з табличній частині і прикріпленим файлом.
Питання: чи можливо зробити так, що б ця обробка автоматично виконувалася кожен день. Тобто наприклад: о 08:00 ранку кожного дня спрацьовувала процедура кнопки "Виконати" і "Відправити"? База серверна. Буду радий будь-якій допомозі і будь-яких варіантів.
відповідь: () А при такому варіанті запуску процес 1С закриється після виконання обробки? або його потрібно завершувати з обробки через ЗавершітьРаботуСістеми (Брехня)?
Доброго ранку підкажіть скрипт для запуску за розкладом обробки, вірніше проблема в тому що потрібен скрипт (батник) який стартавал б 1с 77 але по перевірці якщо не вдався звичайний запуск то монопольно з переиндексацией. І бажано з відкриттям зовнішньої обробки. Потрібно для автоматичних вивантажень а час відправки встановили скрізь різне. і в основному вночі.
відповідь: будь-планувальник nncron xstarter
Сьогодні ми хочемо вам розповісти про використання додаткових звітів і обробок, і особливо розширень конфігурації в моделі сервісу. Технології не стоять на місці, обслуговування баз 1С в хмарі стає все більш привабливим сервісом. Що потрібно знати, щоб необхідний для вашої компанії функціонал був реалізований в орендованій базі, і як цей процес виглядає з боку провайдера сервісу - про це можна буде дізнатися під катом.
Що таке зовнішні звіти та обробки
Обробки 1С бувають різні, але в будь-якому випадку вони розширюють функціонал конфігурації і дозволяють отримувати швидкий доступ до інформації, що зберігається в базі, без зміни конфігурації і без зняття з підтримки. Вони можуть бути вбудовані безпосередньо в конфігурацію, додані як розширення конфігурації або бути зовнішніми файлами. За функціональністю обробки діляться на ті, які можуть змінювати дані і ті, які просто аналізують інформацію і виводять результат у зручній для користувача формі (звіти). Щоб не міняти стандартні макети друку документів, розробляються зовнішні друковані форми. Також зовнішні обробки можуть виконуватися за розкладом на сервері додатків 1С - це регламентні завдання.
У Кнопці розроблено кілька десятків обробок, що дозволяють використовувати нашим бухгалтерам "практичну магію". Наприклад, для аналізу правильності бухгалтерського обліку в Кнопці використовується зовнішній звіт "автоаудіо баз". У зручних для сприйняття таблицях виводиться аналіз по 120 критеріям залишків і оборотів по рахунках, відповідність даних з податкових декларацій та інформації з бухгалтерського обліку, аналіз основних засобів та інше.
Приклад зовнішньої друкованої форми "договір позики" за формою, розробленою нашими юристами. Бувають випадки, коли підприємець бере безвідсоткову позику у своєї фірми як фізична особа, або навпаки, перераховує кошти фірмі, тоді є можливість відразу ж роздрукувати договір.
Відкривається форма для заповнення необхідних реквізитів:
І виводиться друкована форма договору:
Обробки за розкладом (регламентні завдання) використовуємо, наприклад, для виправлення виписки. У Кнопки налаштовані інтеграції з основними банками і спеціальні роботи завантажують виписку безпосередньо в 1С. Завдяки технології машинного навчання, відсоток помилок при проведенні виписки вдалося знизити до 3%. Але як завжди є винятки, наприклад клієнти, які використовують агентську схему реалізації товарів, у цьому випадку правила проведення банківської виписки індивідуальні. Щоб не перепрограмувати робота для окремого випадку, до появи розширень конфігурації використовували регламентне завдання, щоб раз в 10 хвилин виправляти виписку за роботом.
Що таке розширення конфігурації
Розширення - це міні конфігурація, яка успадковує об'єкти з основної конфігурації бази даних і містить код з доповненнями або виправленнями об'єктів і модулів. При цьому основна конфігурація залишається на підтримці, не треба включати можливість редагування, що значно полегшує процес оновлення. Механізм передбачає три типи використання, які, власне, і вказуються в полі "Призначення", при створенні розширення:
Центральним компонентом технології є Менеджер сервісу, Він зберігає всю інформацію про абонентів, користувачів, додатках, інформаційних базах і зв'язках між ними, з його допомогою і відбувається управління зовнішніми обробками і розширеннями конфігурацій.
Всі файли з обробками завантажуються в спеціальний каталог менеджера сервісу. Але перед тим, як завантажити файл в каталог, іншими словами "опублікувати в сервісі", його треба спеціальним чином підготувати.
Підготовка зовнішніх звітів і обробок до публікації в моделі сервісу
Додатковий звіт або обробка створюються в конфігураторі "1С: Підприємство 8" як стандартні зовнішні звіти та обробки і зберігаються в файл з розширенням - .epf (для додаткових обробок) ілі.erf (для додаткових звітів). У модулі об'єкта повинні бути процедури та функції для визначення параметрів реєстрації.
Зверніть увагу, що важливим параметром є "Версія". Якщо ви внесли зміни в обробку, яка вже була раніше завантажена в каталог менеджера сервісу, обов'язково змініть номер версії, інакше менеджер сервісу відмовиться завантажувати цей файл. При розробці звіту або обробки треба враховувати, що користувачі працюють в моделі сервісу через web-клієнт (хороша стаття в блозі 1С). Якщо обробка містить форми, то вони повинні працювати в web-клієнта під усіма web-браузерами, які підтримуються технологічною платформою «1С: Підприємство 8».
За стандартами сервісу 1cfresh.com, додатковий звіт або обробка повинні бути повністю працездатні при виконанні в безпечному режимі, тобто працювати без звернення до зовнішніх для конфігурації об'єктів.
Додатковий звіт або обробка повинні бути підготовлені для завантаження в сервіс у вигляді комплекту поставки. Комплект поставки є архівом (zip-файлом), що містить:
- файл додаткового звіту або обробки;
- xml-файл маніфесту, в якому знаходиться додаткова метаінформація, необхідна менеджеру сервісу для публікації додаткового звіту або обробки в сервісі.
Установка додаткових звітів і обробок в моделі сервісу
Відмінною рисою технології 1С Fresh є те, що зовнішній звіт або обробку можна завантажити безпосередньо у область даних. Додавання відбувається тільки адміністратором сервісу через менеджер сервісу. Після того, як zip-архів з файлом обробки підготовлений, його треба завантажити в каталог менеджера сервісу і встановити для конкретного абонента сервісу. Абонент сервісу - це група користувачів, об'єднаних за будь-якою принципом. Відповідно, інформаційні бази, доступні для певної групи користувачів, називаються додатками абонента.
Додатки можуть мати різні конфігурації 1С (Бухгалтерія підприємства, Зарплата і управління персоналом, Управління нашою фірмою і т.д.), для яких можливе використання в моделі сервісу. Додатковий звіт або обробка можуть бути встановлені тільки в додатки абонента, який вказаний при завантаженні файлу.
Ось так виглядає форма властивостей додаткового звіту з версіями. За гіперпосиланням "Установка / видалення", потрапляємо в список додатків і вибираємо потрібні бази.
Після того, як обробка завантажена і вибрано додаток, менеджер сервісу звертається за адресою додатки і дає команду встановити її в інформаційну базу.
Запускаємо обробки за розкладом
При роботі з великою кількістю бухгалтерських баз, деякі обробки потрібно виконувати періодично. Наприклад, раз на місяць або раз на кілька хвилин. Також важливо автоматизувати ручні і типові операції користувачів. Для цього активно використовуємо регламентні завдання.Обробки, які будуть виконуватися за розкладом не мають форми. Вся логіка прописується в модулі об'єкта і виглядає наступним чином.
При підготовці комплекту поставки, задаємо розклад. Тепер наша обробка буде виконуватися кожну годину.
Детальніше про розширення конфігурації
Паралельно з зовнішніми звітами і обробками, які потрібно готувати і адмініструвати "по-старому", ми почали активно використовувати механізм розширень конфігурації. Починаючи з платформи 1С Підприємства 8.3.10, цей механізм досить полегшив наше життя і дозволив спростити адаптацію конфігурацій під особливості Кнопки. Наприклад, ми писали вище про регламентні операції для виправлення документів за роботами, які запускалися раз в 10 хвилин. Тепер можна з допомогою розширення перевизначити роботу модулів. Таким чином, ми можемо відразу, під час запису або проведенні документа виконати необхідні дії. Це набагато оптимальніше, тому що черга завдань в базі не забивається виконанням дій кожні 10 хвилин, і оперативніше, так як зміни робляться відразу.
Нове розширення підготувати досить просто. Давайте розглянемо процес створення розширень на конкретних прикладах.
З досвіду роботи, лідером за запитами на внесення коригувань є друкована форма ТОРГ-12. Наприклад, нам треба зробити розширення для можливості друкувати товарну накладну в валюті (за замовчуванням вона може формуватися тільки в рублях).
Відкриваємо Меню → Конфігурація → Розширення конфігурації
Створюємо нове розширення з призначенням "Адаптація".
Розширення виглядає як звичне дерево конфігурації, але поки без об'єктів. Насамперед додамо новий макет ТОРГ-12, в який вставили колонки з сумами у валюті.
Оскільки товарна накладна роздруковується з документа "Реалізація товарів і послуг", додамо цей документ в наше розширення з основної конфігурації і внесемо потрібні нам зміни в модуль менеджера. Для цього в контекстному меню реалізації вибираємо «додати в розширення».
Тепер можна доопрацювати модуль менеджера реалізації. Нам потрібно додати нову форму в список друкованих форм і заповнити суми у валюті.
Для зміни типових процедур використовуємо анотацію & Після, також нам буде потрібно пара своїх функцій і процедура.
Давайте зупинимося докладніше на анотаціях. В розширеннях можна використовувати: & Перед, & Після, & Замість (дуже акуратно). Принцип дії простий: хочемо, щоб спочатку виконувалися наші алгоритми з розширення, ставимо анотацію & Перед і в дужках вказуємо ім'я процедури з типової конфігурації. Якщо спочатку відпрацьовує типовий модуль, а потім наш, використовуємо & Після.
Анотації & Перед і & Після можна застосовувати для функцій. Тому, якщо нам необхідно змінити алгоритм функції з основної конфігурації, використовуємо анотацію & Замість.
Анотацію & Замість треба застосовувати якомога рідше, оскільки вона повністю заміщає виконання процедури і функції з основної конфігурації на процедуру / функцію розширення. При цьому способі перехоплення процедура / функція з основної конфігурації взагалі перестануть виконуватися поки встановлено розширення, навіть оновлення версій не допоможе.
висновок
Існує багато різних думок про використання розширень і зовнішніх звітів / обробок. Спираючись на наш досвід, ми двома руками "за" розширення. Це сучасна і більш адаптивна технологія, у неї набагато більше можливостей, і їх публікація в рази простіше. У розширення поміщається тільки необхідна частина коду, також відсутня необхідність додатково прописувати процедури і функції для визначення параметрів реєстрації, стежити за версіями і створювати комплект поставки.Можна використовувати кілька розширень для однієї області даних.
Для специфіки роботи 1С Fresh в режимі поділу даних (одна конфігурація, багато незалежних областей), метод розширень відмінний вихід.
Розглянемо в даній статті покрокову інструкцію по створенню зовнішньої обробки в 1С 8.3 в режимі керованого застосування, відповідно, будемо використовувати керовані форми. А найголовніше - ми навчимося підключати її до механізму «зовнішніх обробок» конфігурацій 1С, побудованих на бібліотеці стандартних підсистем версії 2.0 і новіше.
Завдання буде наступна: створити найпростішу зовнішню обробку, яка буде виконувати групове дію над довідником «Номенклатура», а саме, встановлювати обраний відсоток ставки ПДВ для вказаної групи номенклатури.
Для цього відразу зробимо необхідну настройку в програмі (розглядається конфігурація 1С 8.3: «Бухгалтерія підприємства 3.0» на керованих формах).
Установка даного прапорця дає нам можливість використовувати зовнішні обробки.
Створення нової зовнішньої обробки в 1С 8.3 на прикладі
Тепер переходимо в конфігуратор. У меню «Файл» вибираємо «Новий ...». Відкриється вікно вибору виду створюваного файлу. Вибираємо «Зовнішня обробка»:
Відкриється вікно нової зовнішньої обробки. Відразу поставимо їй ім'я. Воно буде запропоновано при збереженні обробки на диск:
Додамо нову керовану форму обробки. Зазначаємо, що це форма обробки і вона є основною:
На формі у нас буде два реквізити:
- ГруппаНоменклатури - посилання на довідник «Номенклатура»;
- ВибСтавкаНДС - посилання на перерахування Ставки ПДВ.
Створюємо реквізити в колонці «Реквізит» у верхньому правому вікні. Перетягуємо мишкою їх в ліве верхнє вікно. Нові реквізити повинні відразу відобразитися на формі внизу.
Черговість реквізитів можна міняти стрілками «Вгору» - «Вниз»:
Отримайте 267 відеоуроків по 1С безкоштовно:
Залишилося додати кнопку «Встановити». У керованих формах не можна просто так додати кнопку на форму. Навіть якщо додати її в структуру елементів форми, на самій формі її видно не буде. Кнопку обов'язково потрібно зв'язати з командою, яку вона буде виконувати. Переходимо до закладки «Команди» і додаємо команду «УстановітьСтавкуНДС». У властивостях команди створюємо дію. Оброблювач команди вибираємо «На клієнті». Команду можна додати на форму також простим «перетягуванням» в розділ з елементами форми.
У модулі форми буде створена однойменна процедура. У ній викличемо процедуру на сервері:
& НаКліенте
Процедура УстановітьСтавкуНДС (Команда)
УстановітьСтавкуНДСНаСервере ();
КонецПроцедури
У процедурі на сервері напишемо невеликий запит і дії, пов'язані з установкою ставки ПДВ:
&На сервері
Процедура УстановітьСтавкуНДСНаСервере ()
Запит \u003d Новий запит;
Запрос.Текст \u003d
«ВИБРАТИ
| Номенклатура.Ссилка
| З
| Справочнік.Номенклатура ЯК Номенклатура
| ДЕ
| Номенклатура.Ссилка В ІЄРАРХІЇ (& ГруппаНоменклатури)
| І НЕ Номенклатура.ПометкаУдаленія
| І НЕ Номенклатура.ЕтоГруппа »;
Запрос.УстановітьПараметр ( «ГруппаНоменклатури», ГруппаНоменклатури);
РезЗапроса \u003d Запрос.Виполніть ();
ВибДетЗапісі \u003d РезЗапроса.Вибрать ();
Поки ВибДетЗапісі.Следующій () Цикл
спроба
СпрНомОб'ект.Запісать ();
виняток
Повідомити ( «Не можу записати об'єкта« »» + СпрНомОб'ект + «» »!
| » + ОпісаніеОшібкі ());
КонецПопиткі;
КонецЦікла;
КонецПроцедури
Повертаємося на закладку «Форма», додаємо на форму кнопку і пов'язуємо її з командою:
Як така наша обробка готова до використання. Щоб її викликати, в режимі «1С Підприємства» потрібно зайти в меню «Файл» - «Відкрити» і вибрати створений файл.
Однак робота в такому режимі зручна для налагодження обробки, а для роботи користувачу не зовсім підходить. Користувачі звикли, щоб у них все було «під рукою», тобто в самій базі даних.
Для цього і служить розділ «Додаткові звіти і обробки».
Але щоб додати туди нашу обробку, потрібно спочатку дати їй опис і повідомити програмі її властивості.
Опис функції «Відомості Про Зовнішньої Обробці»
Наведу приклад вмісту даної функції. Вона повинна бути експортної і, відповідно, розташовуватися в модулі обробки:
Функція СведеніяОВнешнейОбработке () Експорт
ДанниеДляРег \u003d Новий Структура ();
ДанниеДляРег.Вставіть ( «Найменування», «Установка ставки ПДВ»);
ДанниеДляРег.Вставіть ( «БезопаснийРежім», Істина);
ДанниеДляРег.Вставіть ( «Версія», «ver .: 1.001»);
ДанниеДляРег.Вставіть ( «Інформація», «Обробка для установки ставки ПДВ в довіднику Номенклатура»);
ДанниеДляРег.Вставіть ( «Вид», «ДополнітельнаяОбработка»);
ТабЗнКоманди \u003d Новий ТабліцаЗначеній;
ТабЗнКоманди.Колонкі.Добавіть ( «Ідентифікатор»);
ТабЗнКоманди.Колонкі.Добавіть ( «Використання»);
ТабЗнКоманди.Колонкі.Добавіть ( «Подання»);
НовСтрока \u003d ТабЗнКоманди.Добавіть ();
НовСтрока.Ідентіфікатор \u003d «ОткритьОбработку»;
НовСтрока.Іспользованіе \u003d «ОткритіеФорми»;
НовСтрока.Представленіе \u003d "Відкрити обробку»;
ДанниеДляРег.Вставіть ( «Команди», ТабЗнКоманди);
Повернення ДанниеДляРег;
КонецФункціі
Щоб краще зрозуміти, які поля структури реєстраційних даних потрібно використовувати, подивимося реквізити довідника «Додаткові звіти і обробки»:
Як бачимо, все досить просто. Чи не збігається лише один реквізит: «ВаріантЗапуска» - «Використання». Якщо подивитися код одного із загальних модулів, то ми побачимо, як виникає зв'язка цих полів:
Щоб визначити, які поля структури обов'язкові, можна спочатку не описувати її, просто створити порожню, а далі скористатися отладчиком. Якщо трассіровать модулі при реєстрації обробки, відразу стає ясно, які поля потрібні, а які ні.