1. Як створити розширення конфігурації.
1с розширення конфігурації як працювати? Все дуже просто, насамперед необхідно зрозуміти, який функціонал з розширення можна використовувати. Розділити можна на дві частини:
• Сумісність з 8.3.6 по 8.3.8 - 1с розширення конфігурації працюють тільки з модулями форм, звітів, обробок, ролями і підсистемами.
• Сумісність з 8.3.9 і вище - в розширення додається ще робота з модулями об'єктів, менеджерами об'єктів і загальні модулі (в повному обсязі).
Сумісність знаходиться у властивостях конфігурації
![Як працювати з розширенням конфігурації в 1с (розширенням) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-6c189e28.png)
Створюємо нове розширення в конфігураторі в вікні «Розширення конфігурації», меню Конфігурація -> Розширення конфігурації.
![Як працювати з розширенням конфігурації в 1с (працювати) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-ef0b5b83.png)
Для повноцінної роботи з розширенням відразу рекомендую зняти безпечний режим з розширення
2. Як перенести метадані для нашого розширення
Розширення конфігурації 1с 8.3 має функціонал перенесення метаданих з основної конфігурації в свою. Це необхідно, щоб розширення бачило ті об'єкти основний конфігурації, з якими буде працювати, і при необхідності буде перевіряти при підключенні.
Додавання метаданих відбувається наступним чином
![Як працювати з розширенням конфігурації в 1с (розширенням) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-160fc248.png)
У розширення конфігурації загальний модуль можна додати таким же самим способом і працювати з ним як з модулем об'єкта.
3. Додаємо код
1с робота з розширеннями конфігурації не може обійтися без строчки коду. Для цього ми поставимо два завдання, які будемо вирішувати за допомогою розширень.
Перша доопрацювання буде змінювати форму документа, а саме - буде відображати заборгованість за договором.
Додаємо в розширенні в формі документа виклики на процедури «ПріСозданііНаСервере» і «КонтрагентПріІзмененіі». Для обох випадків тип виклику вибираємо «після».
![Як працювати з розширенням конфігурації в 1с (розширенням) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-a57ff8a2.png)
![Як працювати з розширенням конфігурації в 1с ( «ОбработкаПроведенія» типом виклику) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-bd64d521.png)
Дописуємо код на отримання залишків і в підсумку отримуємо в формі наступні процедури.
Лістинг модуля форми:
![Як працювати з розширенням конфігурації в 1с (працювати) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-71d6a297.png)
![Як працювати з розширенням конфігурації в 1с (працювати) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-6e8936f5.png)
Результат роботи з і без розширення:
![Як працювати з розширенням конфігурації в 1с (розширенням) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-f96183d2.png)
![Як працювати з розширенням конфігурації в 1с (конфігурації) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-78cb1e17.png)
Друга доопрацювання вимагає якимсь чином модифікувати руху документа при проведенні. Для прикладу в регістрі накопичення «Розрахунки з контрагентом» поміняємо все суми на цифру 1.
Розширення конфігурації 8.3 може використовувати три типи виклику: перед, після, замість. У нашому випадку буде використовуватися модуль об'єкта документа. Для вирішення завдання досить було б додати виклик процедури «ОбработкаПроведенія» з типом виклику «після». Але в документі «Реалізація товарів і послуг» використовується примусова запис, що говорить нам про те, що подальші зміни з рухом документу не запишуться, якщо їх примусово чи не записати. Але виберемо інше рішення, повністю замінимо процедуру «ОбработкаПроведенія».
Створюємо виклик процедури «ОбработкаПроведенія» з типом виклику «замість».
![Як працювати з розширенням конфігурації в 1с (конфігурації) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-cc1a48fe.png)
Копіюємо повністю код основної процедури і перед примусової записом додаємо наші рядки коригування руху.
Лістинг модуля об'єкта:
![Як працювати з розширенням конфігурації в 1с (конфігурації) Як працювати з розширенням конфігурації в 1с](https://images-on-off.com/images/143/kakrabotatsrasshireniemkonfiguratsiiv1s-39e3bd58.png)
Результат роботи з і без розширення:
Як результат розширення непогано допомагають із завданням змінити функціонал, але не знімати конфігурацію з підтримки.
Приклад розширення конфігурації можна завантажити ТУТ.