Обновление нетиповых конфигураций, или как убрать надоевший //{{MRG

30.03.14

База данных - Инструменты администратора БД

Методика обновления нетиповых конфигураций позволяющая существенно сократить трудозатраты Или как убрать кучу лишних комментариев в коде (//{{MRG ... )

Скачать файл

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

Наименование По подписке [?] Купить один файл
ПомошникОбновления.epf
.epf 7,60Kb ver: 1.0
28
28 Скачать (1 SM) Купить за 1 850 руб.

Заранее извеняюсь за то что получилось много буковок.  Для тех кто в курсе вкрадце скажу  обработк позволяет удалять //{{MRG Комментарии из текста.   Далее идет пособие по обновление нетиповой конфигурации 1C 8.


Начну пожалуй с того как я учился обновлять нетиповые конфигурации и к чему меня все это привело. 

Начал обновлять 1с еще со времен 1с 77. 

Механизм обновления в 7-ке был предельно прост. Создаем 3 базы :  1 -рабочая база, 2ая  - копия рабочей базы, 3я - пустая типовая база того же релиза.

1ую сравниваем новым релизом. 2ую с типовым релизом. 3ю с новым релизом.   

Итого в о 2ом окне сравнения мы видим все "доработки" в 3ем видим все  изменения релиза , а в основной решаем что оставляем, а что берем из нового релиза. 

После обновления проверка:  рабочая, обновленная база сравнивается с типовым релизом. Список изменений должен быть идентичен второй базе.  Если это так, то обновление сделано верно. 

 

 


 

 

 

В 8ке же все кардинально изменилось.

Начиная с того что в одной базе храниться 3 и более конфигураций. 

1 - Основная конфигурация  - Та с которой непосредственно работает программист.

2 - Конфигурация базы данных - Эта та конфигурация, на которой работает в данный момент база данных.  (т.е если вы написали пару строк в конфигураторе, то  это означает что во первых основная конфигурация и конфигурация базы данных стали не идентичны,  во вторых ) 

3 - Конфигурация поставщика - это по сути типовой релиз.

4..n конфигураций поставщика может быть много, но это тема уже совсем другой статьи. 

Этот факт позволил разработчикам в одной базе реализовать кучу вкусностей. О них конкретнее: 

п.1. - При обновлении в одной базе можно увидеть все 3 различия как в 3ех базах 77, о которых говорилось выше. (Отличие типовой базы от нового релиза, "Доработки программистов" - отличия основной конфигурации от конфигурации поставщика,  и отличие основной конфигурации от нового релиза ).

п.2. - Чисто теоретически  при обновлении может возникнуть 3 случая 

1 случай - объект изменен только в базе, а в релизе не было изменений данного объекта 

2 случай - объект изменен только в релизе, а в базе он не отличается от конфигурации поставщика 

3 случай - объект изменен и там и там.

 так вот в 8 ке 1ый и 2ой случай платформа обрабатывает автоматически. (Принимает решение из какой конфигурации взять код)

 

 

Рассмотрим 3ий случай подробнее.  По каждому объекту программисту надо читать код, и принимать решение, оставлять свой код, или взять код разработчика.  Для этих целей созданы 2 механизма: 

1 объединение с приоритетом основной конфигурации - (важнее то что сделано программистами)

2 объединение с приоритетом новой конфигурации поставщика - (важнее то что сделано в релизе) 

 После обновление в режиме объединение в коде остается куча записей взятых в тег //{{MRG ..Код с которым возникли коллизии..//}}MRG   Вот пример куска кода из Авансового отчета.

	Если ЗначениеЗаполнено(Подразделение) Тогда
		
//{{MRG[  ]
			ПредставлениеПодразделения = СокрЛП(Подразделение.Наименование);
//}}MRG[  ]
//{{MRG[  ]
//			ПредставлениеПодразделения = Подразделение.Наименование;
//}}MRG[  ]
		ОбластьМакета.Параметры.ПредставлениеПодразделения         = ПредставлениеПодразделения;
		ОбластьМакета.Параметры.КодПодразделения                   = Подразделение.Код;
	КонецЕсли;
	ОбластьМакета.Параметры.ПредставлениеПодотчетногоЛица          = ПодотчетноеЛицо;
	ОбластьМакета.Параметры.ПредставлениеПодотчетногоЛицаОт        = ПодотчетноеЛицоОт;
	ОбластьМакета.Параметры.ТабельныйНомер                         = ТабельныйНомер;
//{{MRG[  ]
//	//Изм АФМ
//	ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Шапка.Должность;
//	ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
//	//Конец
//}}MRG[  ]
	ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Должность;
	ОбластьМакета.Параметры.НомерДокумента                         = ОбщегоНазначения.ПолучитьНомерНаПечать(ЭтотОбъект);
	ОбластьМакета.Параметры.ПолученоИзКассы                        = ПолученоИзКассы;
	ОбластьМакета.Параметры.ПолученоИзКассыПоКартам                = ПолученоИзКассыПоКартам;

 

Например в этом месте кода понятно что в релизе был добавлен метод СокрЛП();

//{{MRG[  ]
                        ПредставлениеПодразделения = СокрЛП(Подразделение.Наименование);
//}}MRG[  ]
//{{MRG[  ]
//			ПредставлениеПодразделения = Подразделение.Наименование;
//}}MRG[  ]

  А в этом месте кода  были доработки какого-то АФМ ( Андропова Федора Михалыча, или еще кого-то)

//{{MRG[  ]
//	//Изм АФМ
//	ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Шапка.Должность;
//	ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
//	//Конец
//}}MRG[  ]
 	 
 Подведем черту:

 
 
Итак задача сводиться к тому чтобы после объеденения вычистить код от ненужных коментариев, а доработки некого АФМ оставить.
Делаем глобальный поиск по конфигурации ищем АФМ - оставляем либо адаптируем весь его текс, а для того чтобы удалить остатки я придумаю обработку по очистке тегов MRG
Довели модуль до рабочего состояния Найдя все изменения программиста, который подписался как АФМ,
        //Изм АФМ
	  ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Шапка.Должность;
	  ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
	//Конец

         

проверили синтаксис помошником, выделили весь модуль скопировали текст в буфер и вставили его в мою обработку - нажали 
"Убрать MRG" - все ненужные комментарии ушли. осталось только то что надо :
 
    Если ЗначениеЗаполнено(Подразделение) Тогда
		
			ПредставлениеПодразделения = СокрЛП(Подразделение.Наименование);
		ОбластьМакета.Параметры.ПредставлениеПодразделения         = ПредставлениеПодразделения;
		ОбластьМакета.Параметры.КодПодразделения                   = Подразделение.Код;
	КонецЕсли;
	
	ОбластьМакета.Параметры.ПредставлениеПодотчетногоЛица          = ПодотчетноеЛицо;
	ОбластьМакета.Параметры.ПредставлениеПодотчетногоЛицаОт        = ПодотчетноеЛицоОт;
	ОбластьМакета.Параметры.ТабельныйНомер                         = ТабельныйНомер;
	//Изм АФМ
	ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Шапка.Должность;
	ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
	//Конец
	ОбластьМакета.Параметры.ДолжностьПодотчетногоЛицаПредставление = Должность;
	ОбластьМакета.Параметры.НомерДокумента                         = ОбщегоНазначения.ПолучитьНомерНаПечать(ЭтотОбъект);
	ОбластьМакета.Параметры.ПолученоИзКассы                        = ПолученоИзКассы;
	ОбластьМакета.Параметры.ПолученоИзКассыПоКартам                = ПолученоИзКассыПоКартам;
 
Все обновление нетиповых превратилось только в анализ кода и в Ctrl+С, Ctrl+V.

 

С вопросами милости прошу: www.1carhipov.ru

MRG помощник обновления нетиповые нетиповых конфигурации конфигураций

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14255    108    46    

108

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    11888    45    27    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10645    47    8    

78

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191159    1152    0    

920

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33815    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32613    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73733    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10163    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2853 30.03.14 21:21 Сейчас в теме
оформление статьи "поползло". Читать нельзя.
ivangrant; BlackStar; bashinsky; +3 Ответить
4. Maddy18 45 31.03.14 18:43 Сейчас в теме
(1) anig99, появиться время сделаю оформление читаемым.
2. bashinsky 148 31.03.14 09:29 Сейчас в теме
А почему бы не выгружать файлы конфигурации в определенную папку, а обработкой брать из этой папки файлы, анализировать их и потом грузить их обратно?
3. Maddy18 45 31.03.14 18:30 Сейчас в теме
(2) bashinsky,1) не знаю как файлы конфигурации выгружать. 2) не знаю как обработанные файлы загружать обратно.
11. ZhokhovM 761 02.07.14 17:52 Сейчас в теме
(3) легко! Нужно сделать следующее:
1.через меню Конфигурация - Выгрузить файлы конфигурации
2.через меню Конфигурация - Загрузить файлы конфигурации
Если их нет, то перетащить их самостоятельно из меню Сервис - Настройка, далее на закладке Команды выбираем слева категорию "Конфигурация", а справа выделить и перетащить их обратно в меню.
12. Maddy18 45 02.07.14 19:26 Сейчас в теме
(11) ZhokhovM,

Вау! Сколько лет занимаю 1С, про этот способ не знал. Спасибо за наводку.
13. ZhokhovM 761 03.07.14 09:58 Сейчас в теме
5. for-elenak 11 02.04.14 07:38 Сейчас в теме
Так и не поняла, что делает сия обработка...С любым вариантом объединения требуется проанализировать, что изменить и что оставить. Не думаю, что можно обойтись без интеллектуального вмешательства программиста...ИМХО..
CratosX; Рамзес; +2 Ответить
6. DAnry 9 03.04.14 18:48 Сейчас в теме
Спасибо за статью. Обновлял я, конечно, нетиповые или "допиленные" конфигурации множество раз, а вот с //{{MRG сталкивался крайне редко (раза два наверное) и то в этих случаях конфигурации доставались мне "по наследству". Теперь буду знать причину появления сего странного кода. Хотя, по большому счету, ситуацию это существенно не меняет.
7. popro 25.04.14 13:11 Сейчас в теме
Можно заменить глобальной заменой во всей конфигурации после обновления, чем выигрывает ваш способ?
8. Maddy18 45 06.05.14 16:51 Сейчас в теме
(7) popro, Если заменить глобальный заменой, то останется закомментированный старый код, который нужен как коню пятая нога.
10. EvilDoc 178 06.05.14 17:16 Сейчас в теме
(8) нужен чаще всего. Или как на счет случаев когда в одной процедуре в одной строке нужно оставить изменения а в другой обновить) Или если необходимое изменение было добавлено как новые строки. Или в обновлении новые строки)
9. EvilDoc 178 06.05.14 17:14 Сейчас в теме
чаще всего нужно оставить и то и то. А обработка вычистит что-либо в зависимости от режима объединения. Тч проще записывать дважды измененные процедуры в тетрадку а потом ручками добавлять необходимое. Но чаще сталкиваюсь с изменениями в разных процедурах поэтому обновляю их выборочно. Тч за обновление среднедоработанной УПП таких вот "записей в тетрадке" и ручного внесения доработок +- 10 штук) Плюс подхода - видишь результат а не доверяешь тому как обновит платформа и что вычистит обработка
v.a.ryag; +1 Ответить
14. Dr_DelProg 55 11.10.14 20:10 Сейчас в теме
Задумка хорошая. Судя по тому, что написано в описании - как раз то, что искал. Жалко в закрытом доступе - скачать нельзя.
15. Dr_DelProg 55 11.10.14 21:41 Сейчас в теме
Написал такую же, короче.
Теперь можно сколько угодно большие изменения в обновлении делать без потери собственного кода. Мануалка на форме обработки. Сделано под УФ 8.3.
Прикрепленные файлы:
ОчисткаMRG.epf
22. nemec 26 02.02.21 11:06 Сейчас в теме
(15) доработал вашу обработку до автоматизированной чистки через выгрузку/загрузку в txt файлы https://infostart.ru/public/1373139/
16. Dr_DelProg 55 11.10.14 22:22 Сейчас в теме
Не даёт в личку ответить. Скинь на dr_delprog-цобакен-мэйл.ru.
Спасибо.
17. Dr_DelProg 55 11.10.14 23:00 Сейчас в теме
В платформу такое не встраивают, видимо потому, что объединение работает через... не всегда правильно работает. Строки путает местами, блоки по странному выделяет - натыкался многократно. Так что после всей нашей автоматизации всё же стоит сделать сравнение объединение с конфигурацией поставщика и проверить, что кроме наших доработок старого кода не осталось. Проверка синтаксиса не всегда такое видит.
18. TVA_11 10.01.18 14:45 Сейчас в теме
1С:Предприятие 8.2 (8.2.19.83)
Обновляю не типовую конфигурацию.

В результате, не дает править результат объединения. Ранее было 3 окна, старая, новая конфигурация и Результат.

Так, вот результат было можно править. А теперь не дает.
Подскажите, как победить?
19. Maddy18 45 10.01.18 21:42 Сейчас в теме
(18)Насколько я понял это стандартный механизм платформы.
Объедени как есть,затем правь то что получилось в модулях. Найти все объединения можно глобальным поиском "MRG"
20. fzt 16.02.18 07:42 Сейчас в теме
(18) Чтобы "дало". Поставить галочку на объекте (модуле) "взять из файла". В таблице объединения появится шестеренка. При нажатии на неё откроет те самые 3 окна.
user705522_constantin_h; +1 Ответить
21. TVA_11 16.02.18 13:42 Сейчас в теме
(20) это под 8.3.работает.
А под 8.2. нет.
Оставьте свое сообщение