Обновление нетиповой конфигурации с приведением к типовой и выносом всех доработок в расширение. Часть/Способ №1

12.04.21

База данных - Обновление 1С

Думаю, многие сталкивались с тем, что срочно необходимо из-за законов, оборудования, функционала обновиться на последний релиз. Данная публикация будет полезна как опытным программистам - упростить свою жизнь и работу, так и начинающим - узнать, как работают механизмы расширения, накопительного обновления, получить примеры кода, упростить обновление нетиповых конфигураций.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ВыгрузкаЗагрузкаРеквизитов
.epf 16,02Kb
4
4 Скачать (1 SM) Купить за 1 850 руб.
ВыполнитьОтложенноеОбновление
.epf 5,64Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.
ЧисткаЛюбогоРегистраСведений
.epf 6,51Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.
ПроведениеВФоне (CFE - расширение)
.cfe 5,97Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.
ДопровестиПерепровести (обработка без расширения не проводит в фоне)
.epf 9,95Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.
Всё вместе + бонус
.zip 41,10Kb
14
14 Скачать (5 SM) Купить за 3 050 руб.

Прочитав заголовок, многие сразу скажут про то, что такого "Комбайна" не существует и существовать не может!

Соглашусь с ними, потому что полностью автоматизировать данный процесс не удаётся. Но это не совсем так!

Задача: имеем УТ версии 11.4.6.174, необходимо обновить до версии 11.4.12.75 с сохранением добавленных объектов, реквизитов и кода, привести её к полностью типовой и вынести все доработки в расширение.

Решение:

Сразу оговорюсь! - От конфигурации железа очень зависит скорость обновления, а так же от размера базы (имеется в виду не Вес, а количество времени учёта в ней и активности использования).

Решено было привести её к типовой версии 11.4.6.174 загрузкой конфигурации из файла CF типового релиза.

И вот тут появилась первая проблема: принять изменения в базе не удаётся - записи регистров сведений стали неуникальны (Регистры: РеестрДокументов и ДанныеПервичныхДокументов). Тут нам приходит на помощь обработка ЧисткаЛюбогоРегистраСведений, где мы и почистим эти регистры. Страшного тут ничего и при дальнейшем обновлении они заполнятся данными под новые версии (согласен с тем, что лучше так не делать и просто "прокатило" в данной ситуации).

Спросите вы: "А как же дальше? Обновлять по шагам до финала?" - отвечу что: "Нет, но в 2 шага!".

Делаем тестовое обновление на Финальную (11.4.12.75) и при запуске ловим ошибку, что до неё можно обновляться не менее чем с 11.4.7 ветки. Поэтому решено обновиться с 11.4.6.174 до 11.4.7.128.

И тут есть два подхода:

Первый: Обновиться файлом CF релиза 11.4.7.128.

Второй: Сделать накопительное обновление самостоятельно с 11.4.6.174 на 11.4.7.128.

Первый вариант итак всем понятен и рассматриваться не будет, а второй рассмотрим подробнее.

1. Разворачиваем пустую базу версии 11.4.7.128.

2. Заходим в конфигуратор: "Конфигурация" - "Поставка конфигурации" - "Создать файлы поставки и обновления конфигурации...".

3. На предупреждение отвечаем "Да", снимаем галку "Создать файл поставки" (он нам не нужен - получится типовой CF этой же версии), справа от пункта "Добавить из предыдущих версий" нажимаем "+" и выбираем CF релиза 11.4.6.174. Жмём "Выполнить".

Итак у нас готово накопительное обновление с 11.4.6.174 на 11.4.7.128 (CFU файл).

То же самое повторяем для создания обновления с релиза 11.4.7.128 на 11.4.12.75.

Обновляем нашу конфигурацию на релиз 11.4.7.128. Запускаем базу и проходят обработки применимые только для перехода на последний релиз!

Как же быть? - Ответ есть и это типовой механизм, предусмотренный в БСП!

Запускаем обработку ВыполнитьОтложенноеОбновлениеСейчас и нажимаем единственную кнопку, которая запускает обработчики обновления последовательно как в релизах, если бы мы обновлялись по каждому из обновлений последовательно.

Подмечу: да, можно было бы это выполнить в фоне, а не заставлять висеть несколько часов интерфейс "мёртвым", но так делать не нужно!

Объясню почему: нам нужно чтобы обработчики обновлений полностью отработали иначе дальнейшее обновление может быть невозможно! Поэтому запускаем и ждём до победного окончания (отвисания).

Теперь есть другой вопрос: "А как же перенести доработки? Мы же их полностью затёрли!".

Ответ очень прост, хоть и требует внимательности при выполнении данного шага.

Открываем 2 конфигуратора: типовую 11.4.6.174 и 11.4.6.174 текущую доработанную.

В текущей доработанной запускаем сравнение с конфигурацией поставщика.

Ставим фильтр на добавленные.

1. Создаём пустое расширение в типовой пустой релиза 11.4.6.174

2. Добавляем эти объекты в расширение.

3. Зажимаем кнопку мыши с добавленного и переносим в расширение (если Левая - происходит сразу копирование, если Правую - то "Скопировать" ещё нужно отдельно нажать.

Был бы признателен за комментарий как сделать проще: перенести Добавленную структуру в Расширение из Доработанной.

Предпринимал попытки выгрузить конфигурацию и расширение в файлы и потом "колдовать" с XML файлами которые хотел обратно загрузить в Расширение из файлов, но у меня это не получилось.

Итак - расширение по структуре полностью повторяет наши доработки. Не буду останавливаться на том что были Константы и их пока нет возможности вынести на расширение, но предлагаю подумать про их замену, например на Справочник или Регистр. Не буду рассматривать что и когда нужно. Нужно почитать "как и в каких случаях" делают другие или уже иметь базовые знания по всем объектам метаданных и их назначению.

Перенос осуществлялся двумя способами:

1. Типовой обработкой ВыгрузкаЗагрузкаДанныхXML для полностью новых и добавленных объектов.

2. Обработкой ВыгрузкаЗагрузкаРеквизитов.

Расскажу как ей пользоваться:

Когда структура перенесена в расширение, в этой базе запускаем обработку, переходим во вкладку "Набор" и нажимаем "Заполнить по расширению".

Заполняется список по всему добавленному теперь уже в Расширение.

Теперь сохраняем настройки в файл.

Открываем эту же обработку в Доработанной и загружаем настройки из файла на этой вкладке и нажимаем кнопку "Выгрузить".

Данную выгрузку загружаем уже в новой базе с реквизитами на расширении.

Внимание! Обработка переносит тип данных и ищет ссылочные по их Уникальному идентификатору. Позаботьтесь о переносе справочников и других ссылочных данных - заранее!

Но история на этом не заканчивается.

На обновление уходило больше двух суток и необходимо было реагировать на запуск следующих по плану пунктов!

Было решено сделать правила в Конвертации данных 2 для переноса оставшихся данных и изменения уже перенесённых. Выбор пал на автоматическое сопоставление, так как при тестировании были проблемы с тем что документы не проводятся автоматически и требуют дополнительных действий для проведения - быстрее было запилить обработку.

Расширение ПроведениеВФоне и обработка ДопровестиПерепровести позволяет это сделать.

Механизм прост. Пример документ "Заказ клиента". Ругается на то, что не заполнены Этапы графика оплат.

В столбце ищем "Имя" документа, а в "Действие" добавляем код необходимый для заполнения перед проведением.

Для Заказа клиента он таков:

ДокОбъект.ЗаполнитьЭтапыГрафикаОплаты();

ДокОбъект - эта переменная встроена в обработку и содержит экземпляр обрабатываемого объекта.

Но и это не конец истории!

Документы прошлых периодов тоже правились! И представьте в ноябре была правка в документ сентября!

Как быть? Переносить всё с сентября и перепроводить?

Нет, есть способ лучше!

Допишем в правила обмена следующее:

Добавим параметры:

ДатаНачала, ДатаОкончания и ТолькоИзмененныеВПериоде.

В обработчик "Перед выгрузкой данных" добавим код:

Если Параметры.ТолькоИзмененныеВПериоде И ЗначениеЗаполнено(Параметры.ДатаНачала) И ЗначениеЗаполнено(Параметры.ДатаОкончания) И Параметры.ДатаОкончания >= Параметры.ДатаНачала Тогда
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ВерсииОбъектов.Объект КАК Объект
    |ИЗ
    |    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
    |ГДЕ
    |    ВерсииОбъектов.ДатаВерсии МЕЖДУ &ДатаНачалаВерсии И &ДатаОкончанияВерсии
    |    И ВерсииОбъектов.Объект.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаОкончанияПериода
    |
    |УПОРЯДОЧИТЬ ПО
    |    Объект";
    
    //Параметры задают Период в который изменяли объекты
    Запрос.УстановитьПараметр("ДатаНачалаВерсии", НачалоДня(Параметры.ДатаНачала));
    Запрос.УстановитьПараметр("ДатаОкончанияВерсии", КонецДня(Параметры.ДатаОкончания));
    
    //Период с формы за который выгружаем объекты
    Запрос.УстановитьПараметр("ДатаНачалаПериода", НачалоДня(ДатаНачала));
    Запрос.УстановитьПараметр("ДатаОкончанияПериода", КонецДня(ДатаОкончания));
    
    Результат = Запрос.Выполнить().Выгрузить();
    
    Параметры.Вставить("ТаблицаДокументов",Результат);
    
КонецЕсли;

В обработчик "Перед выгрузкой объекта" такой:

Если Параметры.ТолькоИзмененныеВПериоде  Тогда
    
    МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(Объект));
    Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда //Это документ
        Если Параметры.ТаблицаДокументов.Найти(Объект.Ссылка) = Неопределено Тогда 
            Отказ = истина;
        КонецЕсли;
    КонецЕсли;
    
КонецЕсли;

Что нам это даёт:

Выгружая сентябрь, например, мы указываем, что изменения должны были произойти потом, в ноябре, например.

Указывая Период выгрузки - Сентябрь параметры быть должны например такими:

ДатаНачала = Начало Ноября

ДатаОкончания = Конец Ноября

ТолькоИзмененныеВПериоде = Истина

Так мы выгрузим документы за Сентябрь, изменённые в Ноябре, но это возможно лишь при включенной функциональности Версионирования объектов.

Так как мы отказались от проведения документов в конвертации, то так же их ищем по версиям объектов и ПереПроводим.

Итак. Вроде бы готово!..

Но пора идти и дальше!

Обновляем 11.4.12.75 до 11.4.13.103.

Тут нам говорят про сопоставление модулей только с помощью внешней программы!

Тут я был поражён... Оказывается таким инструментом можно было пользоваться очень давно!

Ставим KDiff3 и добавим ровно одну настройку: в настройках внешней программы в конце дописываем:

--cs "ShowInfoDialogs=0"

Если мало чего сравнивать/объединять/обновлять/сопоставлять, то окно что программа сама за нас справилась появится несколько раз что всё успешно, но когда таких объектов много...

Лично я писал Кликер по кнопке ОК, пока не узнал об этой настройке.

Добавлю: ИзменениеИКонтроль лучше делать "с нуля" ещё раз пробежавшись по коду.

Плохим примером служит вставка своего кода в Пустую строку! Обязательно делайте отступ на новую везде!

Проблема такого метода - запросы, их всё равно надо потом проверять! Так как Вставки в запрос плохи тем, что запрос мог сильно поменяться (новые или удалённые таблицы) и вставки добавятся к другой таблице! В отличии от кода которым просто не отработает или задублируется. В случае с запросом же - это будет ошибка на которой будет падать - всё!

В заключение добавлю:

Будет ещё статья где опишу: обновление конфигурации, где ещё не было НДС 20% и режим совместимости не позволял влезать в модули делать много нужного, а повышение версии совместимости - ломает полностью базу и делает невозможность работы в ней.

Часть 2

расширение обновление типовая перенос

См. также

Работа с интерфейсом Обновление 1С Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Бесплатно (free)

После обновления УНФ до 3.0.10.178 у ряда клиентов исчезла часть функционала: отчёт "Движение товаров", кнопка "Глаз" в Расходной накладной, часть документов складских перемещений. Для решения проблемы надо установить константы, чьё название подпадает под шаблон "Использовать подсистему NNN (Константы)" и соответствует "пропавшему" функционалу по смыслу.

16.01.2025    459    dime2    0    

3

Обновление 1С Программист Платформа 1С v8.3 1С:Управление торговлей 10 Россия Бухгалтерский учет Налоговый учет Управленческий учет ИП, ПБОЮЛ, КФХ НДС УСН Абонемент ($m)

Обновление, доработка для 1С: Управление торговлей 10.3 (УТ 10.3) организаций на упрощенной системе с 2025 года для использования ставок НДС 5 и 7 % в документах и печатных формах документов. Начиная с релиза 10.3.40.

4 стартмани

10.01.2025    1879    42    zhuravlev_as    37    

6

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

В статье рассматривается использование WinMerge для сравнения, объединения и обновления конфигураций 1С. Отдельно рассматривается методика трехстороннего сравнения при обновлении конфигурации

21.10.2024    3347    mixaeel    18    

17

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    671    7    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    1299    gull22    2    

9

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    4699    vatkir    15    

10
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user618912_redgad 14 10.03.21 13:32 Сейчас в теме
А зачем удалять добавленные в основную конфигурацию реквизиты и объекты.
Можно же вынести только программную часть.
В конце концов можно в два этапа сделать. На первом этапе добавить постфиксы в добавленные реквизиты и объекты.
Также добавить реквизиты и объекты в расширение и исходными именами. После принятия изменений перенести обработкой данные.
А потом можно и удалить из основной конфигурации реквизиты и объекты.
Denis211990; +1 Ответить
4. cloud666 28 10.03.21 16:33 Сейчас в теме
(1) и опять год ждать сравнения объединения при обновлении?
5. cloud666 28 10.03.21 16:34 Сейчас в теме
(1) Во второй части и будет вначале тяжелое обновление, а потом плавный вынос на расширение.
2. SerVer1C 839 10.03.21 15:18 Сейчас в теме
Сразу видно человека из торговли ) Сделайте скидку на оптовую скачку обработок )
3. akim2040 47 10.03.21 16:00 Сейчас в теме
(2) Ну шо Вы так, там же бонус приложен ))
6. iD1n 13 10.03.21 22:04 Сейчас в теме
Здравствуйте.
1. Что делает Ваша обработка "ВыполнитьОтложенноеОбновление"? Это аналог запуска предприятия с параметром "/C"ЗапуститьОбновлениеИнформационнойБазы""?
Где хранятся сведения о том, "что сделать" обработчикам с реквизитом на каждом релизе, что Вы пропускаете?
Как тестировался результат такого "тяжелого обновления" - база запускается и все ок?
2. Перенос данных по Вашей методике актуален только при условии, что в базе ранее включено версионирование объектов?
7. cloud666 28 10.03.21 23:29 Сейчас в теме
(6)
1. Нет. Этот ключ запускает Последнее, а обработка - Все Пропущенные. При накопительном обновлении: последовательно переходит от релиза к релизу как это было бы при обновлениями (множеством) CFU-файлами.
2. Писал что ушло 2 дня на выполнение отложенных обновлений. Магазины продолжали работать в старой и создавались как новые документы, так и правились старые. Если переход: "за выходные" или "за ночь", при небольшом объеме данных в базе - не требуется от слова - совсем!
8. kosmo0 111 11.03.21 10:32 Сейчас в теме
Нда. Возможно рабочий вариант если изменений относительно типовой конфигурации не очень много. Если изменений значительное количество и/или изменения существенно меняют логику некоторых процедур - готовьтесь следующие полгода вылавливать баги и прочие непонятки с данными.
Обновление без анализа алгоритмов работы изменений по сравнению с типовой и алгоритмов обновлений типовой конфигурации - верный путь к накоплению количества непонятной работы конфигурации в некоторых случаях.

Относительно безболезненно можно обновлять отчеты. Все остальное только с анализом.
Самое поганное если изменяется структура объектов (реквизит добавился или изменился, новая форма добавилась). А доработки под требования конторы не учитывают эти изменения - сиди, понимай что и как изменить.

Это две разные задачи:
- впихнуть изменения типовой как можно быстрее с меньшими трудозатратами
- обновить без потерь данных и с сохранением логики работы изменений.
9. cloud666 28 11.03.21 12:26 Сейчас в теме
(8)
Про обновление нетиповой ЕРП - в следующей части.
Отчёты безболезненно? Обновитесь как в статье - сколько доп отчётов останется работать?
Алгоритмы какие имеете в виду? Что Вы изменили типовое и потом не обнаружили что 1С наконец это придумали за Вас?
Данные все на месте!
10. kosmo0 111 19.03.21 00:10 Сейчас в теме
(9) Один вопрос - сколько времени конкретно Вы занимались обновлением сильно измененных конфигураций?
Если есть единственный опыт с УТ (описанный выше), то большими буквами в начале текста добавьте "ПРИМЕНЯЛОСЬ В КОНФИГУРАЦИИ УПРАВЛЕНИЕ ТОРГОВЛЕЙ версии .....". Найдутся балбесы которые словят вагон проблем, но кое-кого это убережет от оных.

Существуют очень старые конфигурации которые работают в режиме совместимости 8.2 и ниже (а они существуют (слышал что даже на 7.7 до сих пор работают)). И нередко именно эти давно не обновляемые конфигурации нужно довести до актуальных релизов.

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

"Данные все на месте!"
Типовой регистр. Под хотелки фирмы в него добавлен новый реквизит. В типовой конфигурации был изменен этот регистр. При обновлении "не глядя" регистр приводится к типовому. При обновлении конфигурации базы данных возникнет вопрос типа - "При обновлении будут потеряны данные. Продолжить?" Подтвердите - все данные из добавленного в регистр реквизита уйдут в никуда.

зы. Хотя что я тут распинаюсь. Умный учится на чужих ошибках, а дурак на своих. Это из серии - не бэкапятся те, кто еще не терял данные. Или, в свежей трактовке, - ковида нет и это все придумки (пока родных и знакомых не коснется). Тут людям надо своей родной башкой проверять наличие грабель на пути.
Aquashop; +1 Ответить
11. cloud666 28 20.03.21 16:22 Сейчас в теме
(10)
Добрый день!
Очень рад такому комментарию.
По вопросам:
Как давно? - Давно, больше 10 лет. И начинал с 7.7.

На 7.7 работают по двум причинам:
1. Сетевая версия без ограничений количества пользователей
2. Малые требования к рабочим станциям и серверам
И это означает лишь одно - у предприятий нет денег на усовершенствование или бы они давно разово всё бы перенесли в 8-ку.

Сколько ИП на Патенте работали в УТ? - Это типовое теперь.
Доставка есть у всех, но в современных она интегрирована с огромным количеством сторонних сервисов.
А есть ли "продающие" организации? Все они сейчас уходят торговать в сеть, а много интеграций есть только в последних версиях (или просто требуют обновления до "минимальных" для них). Есть и у Российского "гиганта" своё расширение для публикации товаров на "маркетплэйсе", но не спорю, что многим привычнее в Экселе, да ещё и в старом формате (XLS без X на конце).

Конечно данные на месте! Конвертацию Данных 2 никто не отменял. Перенесите только свой регистр, только вот дополните его в расширении. Для "точечного" переноса (даже между копиями базы) - эта обработка - самодостаточна.

Она может пригодиться и тем кто случайно почистил/"убил" реквизит, но в копии - он есть.
12. Evrepid 14.04.21 09:21 Сейчас в теме
Прочел сначала вторую часть, потом прочел первую и расстроился...

Имея опыт приведения конфигурации к типовому релизу, могу сказать, что ваш алгоритм на типовой бухгалтерии сработает максимум на 70%.
А вся проблема в оставшихся 30% и на текущий момент перенести все 100% изменений без потерь не получается.
Из инсайдерской информации от сотрудников 1С могу сказать, что приблизиться хотя бы к 90% можно будет только на релизе 8.3.19 и режима совместимости типовой конфигурации 8.3.17 (минимум).
Остальными 10% к сожалению все равно придется пожертвовать.
13. cloud666 28 14.04.21 10:30 Сейчас в теме
(12)
Добрый день! Про взаимозаменяемость знаете?
Нет - константам, например, Да - справочникам или регистрам сведений.
На 100% всё сделать без Программиста - у Бухгалтера никогда не получится.
Уже придумали Конвертацию Данных для Бухгалтеров - кто ей пользуется на самом деле?..
14. Evrepid 14.04.21 19:16 Сейчас в теме
(13) А Вы знаете с кем общаетесь? Что так заноситесь ?

Я Вам написал, что из своего опыта и их ИНСАЙДЕРСКОЙ информации 1С сделать в расширениях все, что можно в основной - Нельзя!

Вот Вам задачка:
- добавить Предопределенное субконто в ПВХ в расширении. Добавите, скажете что вы знаете взаимозаменяемость и т.д.
15. cloud666 28 14.04.21 20:12 Сейчас в теме
(14)
Нельзя, полностью согласен! Но всё же - заменить можно всё! Зависит от задачи. Как и писал ранее - никто не мешает использовать дублирование например, но с нужными данными.
16. Evrepid 16.04.21 07:01 Сейчас в теме
(15) Я так понимаю, что предопределенное субконто в ПВХ добавили?
И Вам помогла взаимозаменяемость?
17. cloud666 28 20.04.21 05:31 Сейчас в теме
(16)
Давайте поговорим про:
Нельзя определяемые типы в расширении!
Нельзя Регламентные задания в расширении (забыли про регламенты с помощью внешней/дополнительной обработки).
Список дополните?
Смысл не в том что Хотят, а как правильно с точки зрения хранения данных и скорости работы с ними.
18. Evrepid 27.04.21 12:05 Сейчас в теме
(17) Скажем так:
Предопределенное значение в ПВХ, я смог добавить, смог добавить предопределенный счет в ПланСчетов. Как? Не скажу. (это как я уже сказал ранее, Вам задачка для решения)

Я говорю о том, что если мы начинаем где то менять что то, что в типовой конфигурации делается просто и не возможно сделать в расширении, применить заменяемость объектов не представляется "целесообразным", по причине того что требует полного переписывания алгоритмов типовой.
19. cloud666 28 27.04.21 21:05 Сейчас в теме
(18)
Я целиком с Вами согласен.
Особенно я в восторге от ситуации измерение Объема в Килограммах или Веса в Квадратных Метрах.
Ну а что же делать, когда так хочет Заказчик? Всё делать как велено, а не как целесообразно и в будущем не навредит переходом к типовому функционалу, а вот реально Добавленное с нуля - это то, чего нет и возможно не будет. Вот это то что и надо перенести.
Про "Как" лишь отвечу одно: вынос на расширение модулей - возможен и можно уже выложить, но там не всё ещё Отлично, а только Хорошо (Часть вторая статьи).
Оставьте свое сообщение