Доработка типового функционала через расширение

1. tigcorp 3 19.02.20 10:56 Сейчас в теме
У клиента в бухгалтерии есть небольшая доработка формирования типовой печатной формы. На данный момент она реализована через изменение модуля менеджера документа, из которого производится печать. Баз несколько, поэтому для экономии время на обновление решено реализовать доработку через расширение.
Изменена процедура наполнения табличного документа и решить ее через &Перед не удается. По крайней мере пока я не нашел решение.
Если использовать замену типовой функции, тогда при каждом обновлении есть риск, что стандартный функционал поменялся и часть данных не будет выводиться (без выдачи ошибки), например.

Так или иначе вопрос для меня актуален, когда есть маленькая доработка посередине процедуры или функции. Как через расширение встроить ее так, что бы потом не пришлось постоянно перепроверять.

Кто как выкручивается в подобной ситуации?
С расширениями пока мало работал. Может, есть некое сравнение\объединение между типовой функцией и доработанной, на манер процедуры при обновлении нетиповой конфигурации? Тогда можно было бы довольно быстро при обновлении сверяться, не поменялась ли типовая функция.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. dhurricane 19.02.20 11:05 Сейчас в теме
(1) Есть инструменты от сторонних разработчиков: скрипт diff3cf для OneScript. Он как раз составляет отчет по процедурам и функциям основной конфигурации, которые были доработаны в расширении (с любой директивой), и при этом изменены в новой конфигурации поставщика.

После небольшой доработки напильником инструментом остались довольны.
4. yurikmellon 6 19.02.20 11:17 Сейчас в теме
(1) в платформе 8.3.15 появилась новая аннотация ИзменениеИКонтроль с инструкциями препроцессора #Вставить - #КонецВставить и #Удалить - #КонецУдалить

Для того, чтобы основное «содержание» метода менялось бы вместе с изменениями конфигурации, и в то же время в нём сохранялись ваши небольшие изменения, добавили новую аннотацию &ИзменениеИКонтроль. Она позволяет вам добавить собственные изменения в метод, сохраняя, при этом, его исходный текст.

https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii-15/
vv2; tigcorp; +2 Ответить
7. tigcorp 3 19.02.20 11:23 Сейчас в теме
(4) Похоже, это именно то, чего я и хотел. Спасибо огромное! Пойду в бухгалтерию смотреть версию совместимости, скрестив пальцы =)
8. bad_wag 48 19.02.20 11:50 Сейчас в теме
(7) Вам все равно придется тратить время на адаптацию доработанных функций в случае их изменения поставщиком, так почему бы не оставить все как есть
9. yurikmellon 6 19.02.20 12:03 Сейчас в теме
(7) Пожалуйста. Кстати, обратите внимание, что в статье по ссылке https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii-15/ используются инструкции #Вставить - #КонецВставить и #Удалить - #КонецУдалить. Это была предварительная информация, потому что в релизе используется конструкция:

#Удаление

#КонецУдаления

#Вставка
// Здесь можно описать новое поведение.

#КонецВставки

И, про вопрос контроля изменений. Дело в том, что при использовании аннотации &ИзменениеИКонтроль метод, заимствованный в расширение должен абсолютно совпадать с методом в основной конфигурации. Если не совпадает, то при проверке возможности применения расширения будет выдана ошибка. По этой ошибке будет сразу понятно, что в этот модуль при обновлении были внесены изменения.
10. tigcorp 3 19.02.20 12:49 Сейчас в теме
(9) Учту! Еще подскажите, пожалуйста, как действовать, когда при замещении одной процедуры проверка начинает ругаться, что вызываются другие процедуры, которых нет в модуле расширения. я так по цепочке могу половину модуля типового перекопировать, пока перестанет ругаться...
11. tigcorp 3 19.02.20 13:21 Сейчас в теме
(10) и подобная ситуация при обращении к реквизитам объекта из модуля объекта. если самих реквизитов вместе с объектом нет в расширении, то ошибки. добавлять всё?
12. yurikmellon 6 19.02.20 13:54 Сейчас в теме
(10) так и действовать, переносить в расширение то, чего не хватает
6. yurikmellon 6 19.02.20 11:21 Сейчас в теме
(1) Сравнение расширения с конфигурацией базы данных пока не работает, хотя такой пункт в меню есть. Скорее всего этот функционал добавится в следующих версиях платформы.
Прикрепленные файлы:
2. OiSorry 19.02.20 10:58 Сейчас в теме
может лучше сделать внешнюю печатную форму?
Eillecho; +1 Ответить
5. tigcorp 3 19.02.20 11:20 Сейчас в теме
(2) Как вариант. По ним у меня подобные опасения, правда =)

А если забыть про данную конкретную задачу и принять за факт, что доработку можно сделать только вносом нескольких строк в середину модуля объекта? Например, для изменения процедуры создания на основании. Типовой функционал, ради которого делать внешнюю обработку странно.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)