Платформа 8.3.13.1809
Как сравнить расширение с расширяемой конфигурацией?
В основной конфигурации выбираю "Сравнить конфигурации", а там первая конфигурация "Основная конфигурация" и вторая конфигурация "Расширение конфигурации". Получаю сообщение "Сравнение конфигурации и расширения конфигурации не поддерживается".
(9) В 15-й платформе появилась точечная модификация метода (аннотация ИзменениеИКонтроль). Лучше использовать ее вместо (аннотация Вместо). Как только расширяемая конфигурация будет обновлена, расширение перестанет выполняться с диагностикой следующего вида: Текст модуля для метода "ИМЯ_МЕТОДА" изменился.
В расширении изменения только одного модуля. Хочется посмотреть внесено ли исправление в конфигурацию при очередном обновлении. Сравнить k3diff`ом как-то не очень удобно.
Зачем же в сравнении конфигураций есть вариант с расширением ?
Приветствую. Готовлюсь к Профессионалу, столкнулся с вопросом, где в подсказке указывается на различия между конфигурацией расширения и конфигурацией расширения базы данных. Подскажите пожалуйста где про это почитать?
По моему вопросу что-нибудь появилось?
Хотелось бы как-то получить отчет по изменениям, которые вносятся расширением. Для расширений есть "Сравнить, объединить с конфигурацией из файла", но там нет сравнения модулей. Есть "Отчет по конфигурации", но и там ничего нет о модулях. Может у меня платформа устаревшая (8.3.22.1709)?
Раньше работал с УТ 10.3 ( с открытыми замочками). Там при обновлении конфигурации все выводится: Отчет о сравнении объектов, различия в модулях и макетах и т.д. Как было бы хорошо получить такое с расширениями!
(18) Уже достаточно давно дорабатываю исключительно расширениями (кроме пары моментов типа структуры подчиненности и подобных, использующих типы ЛюбойОбъект). Никаких проблем со сравнениями и обновлениями нет.
Главное правило: по максимуму использовать "&ИзменениеИКонтроль". В этом режиме отлично работает "Проверка возможности применения", который указывает измененные модули и функции внутри них. Дальше подключаем внешнюю программу сравнения модулей и наслаждаемся полноценным трехсторонним сравнением (старая конфигурация/расширение/новая конфигурация) и, если вы не прыгали через много релизов, то и автоматическим обновлением расширения.
(19)А я не хочу танцы с бубнами, если 1С активно пиарит этот функционал, могли бы и сделать механизм сравнения. А еще мне нужны расширения, у меня не сеть ларьков. Просто досталось в наследство от рукоопых франчей ряд конфигурации, в которых они часть сделали в расширениях, часть в конфигурации, а еще свои дописки в конфигурации дорабатывали через раширение. Слабоумие и отвага)
зы Вообще не понимаю, чем расширения помогают при обновлении, если дорабатывать по нормальному, то даже гораздо удобнее. Ну если конечно не сеть ларьков.
(23) Прошу прощения, что через паузу - уезжал в отпуск.
Так вот, лично для меня странно выглядит в одном предложении "не понимаю, чем помогают расширения", "дорабатывать по-нормальному" и "не сеть ларьков". Как раз доработка "по-нормальному", то есть со снятием с поддержки (если я правильно понял) это и есть доработка "в стиле ларька".
Во-первых, при больших объемах доработок только расширения позволят нормально обновлять конфигурацию за вменяемое время. К примеру, в текущем проекте на ERP у меня 6 расширений. В самом большом порядка 150 модулей общим объемом более 40 тыс. строк кода. Остальные поменьше, но суммарно сопоставимо. И первый этап обновления, как раз правка кода под новую версию поставщика занимает в пределах 2-3 часов почти механической работы. Это если обновление за полгода или больше. Минорные обновления делаются вообще в пределах часа.
Для сравнения - обновление примитивной УТ10.3 в свое время занимало 2-3 дня, плюс после выкатывания на прод в половине случаев ещё пару раз приходилось всех выгонять, чтобы почистить баги.
Во-вторых, в случае обнаружения критичного бага на проде он спокойно правится в расширении онлайн, не мешая работе пользователей и с гарантией сохранности данных. В случае с правкой базовой конфигурации - привет, остановка базы или динамические обновления с мольбами "только бы не рухнуло".
Ну и в-третьих, использование подключаемых внешних инструментов типа merge или хранилища конфигурации это не "танцы с бубнами", а как раз естественная для "не ларька" вещь. Именно потому что использование голого IDE в проекте с несколькими кодерами как раз и превращается в танцы с бубнами с перезаписью изменений, несоответствием версий и прочими радостями.
(29) "Дважды измененные" это чисто косметика. Влияет только на высоту списка. Когда при переходе с 2.4 на 2.5 затрагивается 80% модулей - сильно вам поможет, что несколько строчек без пометки скрыты из списка?
Обновлению мешают не самодельные объекты, а измененный код типовых. Ну давайте на примере. Вы добавили реквизит и добавили его условием во все запросы в каком-нибудь "ТекстОтраженияВРеглУчете". В типовой тоже эти запросы поменялись. При использовании расширения привести в соответствие займет 1-2 минуты, в тяжелых случаях 5-10. А через стандартное сравнение модулей?
Ну я имел в виду в принципе редактирование кода поставщика.
- никаких проблем с редактированием кода поставщика я не вижу . ИМХО - если следовать стандарту "Конфигурация на поддержке нескольких конфигураций поставщиков".
Конечно же расширения в этом плане удобнее, но пока * не все расширение может решить ( та же структура подчиненности ).. но это пока! Так как платформа развивается , развивается и технология расширений.
(34) Кстати, начиная с 8.3.20 расширения уже поддерживают и определяемые типы и ЛюбаяСсылка и прочее. Осталось дождаться, чтобы БСП начала поддерживать 8.3.20)))
А пока что да, структура подчиненности, присоединенные файлы и прочая радость - через костыли.
(28)Обновить 150 переписанных типовых модулей и исправить ошибки совместимости своих доработок с обновлением нереально за 3-3 часа, хоть с расширениями, хоть без. Видимо, это просто новый функционал, практически не пересекающийся с типовой конфигурацией. Тогда, действительно, его удобнее держать в расширении. Расширения сами по себе не хороши, не плохи. Просто где то их использовать удобнее, где то нет. Например, делать доработки в механизмах расчета зарплаты или расчета себестоимости удобнее без расширений, т.к. при обновлении сразу видны изменения.
Обновить 150 переписанных типовых модулей и исправить ошибки совместимости своих доработок с обновлением нереально за 3-3 часа
Я же не просто так уточнил "первый этап обновления". Понятно, что потом идет второй - как раз тестирование и вычёсывание багов. Но эта часть примерно одинакова, каким способом не дорабатывай.
Ну и все 150 модулей не затрагиваются никогда, даже при мажорных обновлениях.
Например, делать доработки в механизмах расчета зарплаты или расчета себестоимости удобнее без расширений, т.к. при обновлении сразу видны изменения.
Вот честно, или я чего-то не понимаю, или вы как-то не так "готовите" расширения. Что значит "сразу видны изменения"? А в расширениях они не видны, что ли? Вот скрин, на котором изменения вынесены на блюдечке и надо нажать ссылочку, чтобы в полуавтоматическом режиме всё встало на места:
Вот честно, или я чего-то не понимаю, или вы как-то не так "готовите" расширения. Что значит "сразу видны изменения"? А в расширениях они не видны, что ли? Вот скрин, на котором изменения вынесены на блюдечке и надо нажать ссылочку, чтобы в полуавтоматическом режиме всё встало на места:
Например , берем запрос, где есть ваши изменения и изменения от 1С. При обновлении сразу можно поправить запрос с учетом изменений (конечно, если не поменялась вся логика запроса). С расширениями нужно потом делать какие то дополнительные действия.
(36) Если логика не менялась, то вообще никаких дополнительных действий. Нажал на ссылку "восстановить соответствие", пролистал окно сравнения, поправил порядок строк (а чаще и этого не надо), нажал сохранить.
(17) Сорри за некропостинг, но в сравнении конфигураций есть же сравнение модулей. Разворачиваете дерево до модуля, жмете правой кнопкой и там и "Показать различия в модулях" и "Отчет о сравнении объектов".
Или я как-то не так понял вопрос?
(32)
чисто косметика... ну да или вывалится 100 процедур или 10)) зато ты сразу видишь что поменялось, может логика стала совсем другая,, а так внешне все то же самое или сидеть просмотривать расширения, если их много, то надо найти это место, да и вообще помнить, что этот кусок изменен в расширении
реквизит просто добавить, на форму программно, а запрос перед выполением модифицировать как вариант, или же прямо в запросе вставки сделать, а так надо смотреть что за запрос и какие изменения
и самое главное нельзя сравнить и посмотреть что изменено в расширениях
и самое главное нельзя сравнить и посмотреть что изменено в расширениях
В общем, вы просто не в курсе, как пользоваться расширениями. Дарю:
В расширениях используете &ИзменениеИКонтроль. При обновлении:
1. Отключаете расширения.
2. Обновляете типовую в режиме далее-далее-далее;
3. В конфигураторе подключаете расширения;
4. В окне "расширения конфигурации" жмете "Конфигурация-Проверка возможности применения". Получаете список функций расширений, изменившихся в основной конфигурации (см. скрин из (35));
5. Либо правите их ручками, если вам нравится, либо подключаете внешнюю программу и сливаете код в полуавтоматическом режиме.
(43)
у меня сейчас возник интерес посмотреть определенный механизм и я должен прошерстить все расширения, а не изменили ли в них нужное мне
а особенно весело, когда некоторые разработчики конфигурации выкатывают под 100 патчей и вот ищи в каком из них изменилась нужная тебе процедура, а ведь эти 100 расширении надо открыть чтобы запустить поиск)) а еще порой бедный конфигуратор не выдерживает и падает на n-ом десятке))
(44) Я вам больше скажу - если какой-нибудь разработчик любит использовать &Вместо, а также делать каждую задачу в отдельном расширении, причем меняя модули одних и тех же объектов, то поддержка/доработка этого вообще превращается в ад.
И ещё можно придумать (или даже вспомнить из жизни) много разных сценариев. Точно так же я могу вспомнить переписанные конфигурации, их которых данные переносили в новые базы, потому что надо обновлять, а сделать это будет дороже, чем мигрировать.
Так что, думаю, можно подвести итог. Как расширения помогают при обновлении, я рассказал, а тема криворуких разработчиков, от которых не спасут никакие инструменты - это тема вечная.
[necroposting mode on]
1. Создаем пустое расширение-"скелет".
2. Затаскиваем в него все объекты, которые заимствованы в анализируемое расширение.
3. Сохраняем расширение-"скелет"
4. Сравниваем расширение-"скелет" с анализируемым используя стандартный функционал платформы - и видим-анализируем все отличия анализируемого расширения от конфигурации в стандартном междумордии сравнения-объединения.
прим.: сопряжено с выполнением п.2 "ручками" - но все-таки значительно менее затратно, нежели любое иное из предполагаемых (на текущий момент) способов
[necroposting mode off]
Тоже некропостинг. Большие разработчики гонят свои модули интеграции вслед за 1с, например Битрикс24.
А нормальные люди, которые в бизнесе лет 10 имеют кучу дополнительных модулей поверх 1с и сопровождение обновления занимает около 1-2х месяцев с отловом 95% багов и 5% еще месяца три вылезает. Стоимость обновления примерно в полмиллиона выходит.
Поэтому, обычно отсиживаются на стабильных по 2 года прежде чем припрет обновляться, потому-что работа в режиме постоянных отловов багов своих доработок и синхронизаций это просто потерять бизнес - то клиенту отгрузили без контроля, судимся, потеряли 2 млн, то поставщику наоплачиваали предоплат, он убежал, еще 2-3 млн. Т.е. обновление уже не поллимона а с учетом потерей контроля некоторых процессов до 3-4млн доходит.
Поэтому хочется чужой модуль интеграции, убежавший вперед сравнить со своей некроверсией и адаптировать. Потому что сам поставщик решения плюет на таких клиентов и гонит вперед вслед за обновлениями 1с.