Універсальне регламентне завдання. Універсальне регламентне завдання 1с запуск зовнішньої обробки розкладом

Часто при роботі з 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


створив додаткову обробку помістив в розділ зарплата. Користувач з правами старший кадровик розраховувач не може запустити, каже "недостатньо прав доступу". Як встановити права на запуск додаткової обробки?

Зарплата і управління персоналом, редакція 3.0 (3.0.24.115) ()
Copyright © ТОВ "1C", 2007-2014. Всі права захищені
()

відповідь:

Питання: Запуск додаткової обробки за розкладом


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

Код в модулі форми

Функція СведеніяОВнешнейОбработке () Експорт ПараметриРегістраціі \u003d Новий Структура; ПараметриРегістраціі.Вставіть ( "Вид", "ДополнітельнаяОбработка"); ПараметриРегістраціі.Вставіть ( "Найменування", "Завантаження залишків (PCService (C))"); ПараметриРегістраціі.Вставіть ( "Версія", "1.0"); ПараметриРегістраціі.Вставіть ( "БезопаснийРежім", Брехня); ПараметриРегістраціі.Вставіть ( "Інформація", "Завантаження Залишків"); ПараметриРегістраціі.Вставіть ( "ВерсіяБСП", "2.3.2.33"); ТабліцаКоманд \u003d ПолучітьТабліцуКоманд (); ДобавітьКоманду (ТабліцаКоманд, "Завантаження залишків (PCService (C))", "1", "ОткритіеФорми", Істина, ""); ДобавітьКоманду (ТабліцаКоманд, "Завантаження залишків (PCService (C))", "2", "ВизовСерверногоМетода", Істина, ""); ІдентіфікаторКоманди \u003d "2"; ПараметриРегістраціі.Вставіть ( "Команди", ТабліцаКоманд); Повернення ПараметриРегістраціі; КонецФункціі Функція ПолучітьТабліцуКоманд () Команди \u003d Новий ТабліцаЗначеній; Команди.Колонкі.Добавіть ( "Подання", Новий ОпісаніеТіпов ( "Рядок")); Команди.Колонкі.Добавіть ( "Ідентифікатор", Новий ОпісаніеТіпов ( "Рядок")); Команди.Колонкі.Добавіть ( "Використання", Новий ОпісаніеТіпов ( "Рядок")); Команди.Колонкі.Добавіть ( "ПоказиватьОповещеніе", Новий ОпісаніеТіпов ( "Булево")); Команди.Колонкі.Добавіть ( "Модифікатор", Новий ОпісаніеТіпов ( "Рядок")); Повернення Команди; КонецФункціі Процедура ДобавітьКоманду (ТабліцаКоманд, Подання, Ідентифікатор, Використання, ПоказиватьОповещеніе \u003d Брехня, Модифікатор \u003d "") НоваяКоманда \u003d ТабліцаКоманд.Добавіть (); НоваяКоманда.Представленіе \u003d Подання; НоваяКоманда.Ідентіфікатор \u003d Ідентифікатор; НоваяКоманда.Іспользованіе \u003d Використання; НоваяКоманда.ПоказиватьОповещеніе \u003d ПоказиватьОповещеніе; НоваяКоманда.Модіфікатор \u003d Модифікатор; КонецПроцедури & НаСервере Процедура ВиполнітьКоманду (ІдентіфікаторКоманди, Об'ектиНазначенія) Експорт КонецПроцедури

При натисканні на кнопку виконати з варіантом запуску "Відкриття форми" форма відкривається і відразу виконується програма (відразу виконується тому що на формі в подіях "ПріСозданііНаСервере" зазначено щоб виконала основний код програми)
При натисканні на кнопку виконати з варіантом запуску "ВизовСерверногоМетода" помилок не видає але і результату ніякого.
Що я роблю не так??

відповідь:

Все вкурил. Сюди і треба було скопіювати код який я хотів щоб виконувався без відкриття форми

Питання: Роздріб 2.2 запуск доп.обработкі за розкладом


Вітаю. Роздріб 2.2, підключена додаткова обробка і задано виконання за розкладом. Дивлюся виконання через - Підтримка і обслуговування - регламентні завдання, моє завдання то виконується то перестає виконуватися за розкладом, деякий час працює чітко за розкладом і сам по собі не запускається. Справа не в самій обробці бо помилку не видає а просто не стартує завдання. Потім саме по собі починає норм працювати. Що може впливати на старт регламентного завдання?
Пробував виставити різний розклад це нічого не дало

відповідь:

Проблема вирішилася з перевстановлення платформи на всіх компах

Питання: Додаткова обробка


Всім доброго часу доби.
Управління нашою фірмою, редакція 1.6 (1.6.12.4)

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

відповідь:

Створюєте звіт в розширенні, додаєте потрібну (існуючу) підсистему в розширення, робите посилання на створений звіт в "розширеній" підсистемі.

Питання: Використання Веб-Сервісів додаткової обробки з використанням БСП


Добридень!
У фреші необхідно вбудувати додаткову обробку, яка буде звертатися до веб-Сервісу іншої бази. Обробка звичайно ж в безпечному режимі, проте "допускається використання розширення безпечного режиму бібліотеки стандартних підсистем (можливість працювати з файлами, з ресурсами мережі Інтернет і т.д.) через спеціалізований програмний інтерфейс з реєстрацією дозволів, необхідних додатковому звіту / обробці." Однак не можу знайти в поточній версії БСП як налаштувати це. допоможіть, будь ласка Версія бази у фреші: Бухгалтерія підприємства, редакція 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-файл маніфесту, в якому знаходиться додаткова метаінформація, необхідна менеджеру сервісу для публікації додаткового звіту або обробки в сервісі.
Підготовка виконується в локально розгорнутої інформаційної базі тієї конфігурації, для якої призначається додатковий звіт або обробка. Використовуємо спеціальний помічник створення комплекту поставки, зовнішню обробку ПодготовкаДополнітельнихОтчетовІОбработокКПублікацііВМоделіСервіса.epf. Детальніше можна почитати в документації по Технології публікацій рішень 1С Fresh.

Установка додаткових звітів і обробок в моделі сервісу

Відмінною рисою технології 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 "Відкрити обробку»;
ДанниеДляРег.Вставіть ( «Команди», ТабЗнКоманди);

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

КонецФункціі

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

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

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

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

Поділитися