Динамическое обновление. Отказ работы механизма сравнения/объединения файлов конфигурации.

11.11.14

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

Проблема некорректной работы механизма сравнения/объединения файлов конфигурации и ее решение.

Нетиповая конфигурация.

Платформа 8.2.17.169.

Часто пользовались динамическим обновлением.

Перешли на платформу 8.3.5.1068.

 

Проблемы:

- «Сравнить, объединить с конфигурацией из файла», «Сравнить конфигурации» платформа не видит отличий, либо видит, но не все.

- При объединении конфигураций объекты метаданных откатывались до версий, которые были несколько обновлений назад.

 

Поиск готовых решений проблемы:

http://forum.infostart.ru/forum26/topic72852/

http://www.forum.mista.ru/topic.php?id=408471

http://www.forum.mista.ru/topic.php?id=629968

 

Поиск источника проблемы:

После тестовых динамических обновлений и просмотра технологического журнала нашел таблицы в которые система делает записи с признаком динамического обновления.

 

Таблица Config.

Система оставила старую версию обновляемого модуля и добавила новую версию с признаком динамического обновления (dynupdate в наименовании).

Система оставила старую версию обновляемого модуля и добавила новую версию с признаком динамического обновления (dynupdate в наименовании).

 

Таблица Params.

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

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

 

После удаления записей из таблиц Config и Params, которые система сделала при динамическом обновлении, произошел откат сделанных обновлений.

 

Сделал копию проблемной рабочей базы и почистил таблицы Config и Params от лишних записей.

После чистки таблиц механизмы сравнения/объединения/загрузки конфигурации стали работать корректно и указанных проблем больше не возникало.

Данную процедуру провел на 22 базах.

 

Решение:

 

1. Создать копии таблиц Config, Params для случая если что-то пойдет не так.

 

USE [<имя_базы_данных>]

GO


SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO


CREATE TABLE [dbo].[<Имя_таблицы>Copy]

(

       [FileName] [nvarchar](128) NOT NULL,

       [Creation] [datetime] NOT NULL,

       [Modified] [datetime] NOT NULL,

       [Attributes] [smallint] NOT NULL,

       [DataSize] [int] NOT NULL,

       [BinaryData] [image] NOT NULL,

       PRIMARY KEY CLUSTERED

       (

             [FileName] ASC

       ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

 

INSERT INTO [<Имя_таблицы>Copy]

SELECT * FROM <Имя_таблицы>

GO

2. Удалить записи, которые система создает при динамическом обновлении.

 

DELETE

  FROM Config

WHERE

  FileName like '%dynupdate%'

;


DELETE

  FROM Config

WHERE

  FileName like 'DynamicallyUpdated'

;


DELETE

  FROM Params

WHERE

  FileName like '%dynupdate%'

;


DELETE

  FROM Params

WHERE

  FileName like 'DynamicallyUpdated'


3. Обновить конфигурацию файлом с последними изменениями т.к. после чистки произойдет откат модулей, которые обновлялись динамически.

См. также

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

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

8400 руб.

20.08.2024    13705    105    46    

107

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

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

15000 руб.

10.11.2023    11777    43    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    10482    47    5    

78

SALE! %

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

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

4800 3840 руб.

14.01.2013    190992    1152    0    

919

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

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

14400 руб.

29.04.2020    33758    108    152    

75

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

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

3600 руб.

06.02.2017    32580    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    73684    629    45    

88

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

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

3000 руб.

21.07.2022    10141    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. it@contlog.ru 2 12.11.14 04:28 Сейчас в теме
Мы просто отказались от динамического обновления. Этот механизм как не работал так и не работает у 1с.
maklyak; andry888; sashapere; SuhoffGV; omut; artbear; vladir; webester; cool.vlad4; tormozit; theshadowco; Stim213; Yashazz; Йожкин Кот; +14 Ответить
18. sashapere 159 23.09.16 20:11 Сейчас в теме
(1) it@contlog.ru, Как вы это реализовали?
2. TODD22 20 12.11.14 06:37 Сейчас в теме
Динамическое обновление это верный способ нажить себе проблем. А потом с ними героически сражаться.
За решение спасибо! Может пригодиться.... А то пару раз встречал базы кем то динамически обновленные.
aids-ice; Yashazz; +2 Ответить
3. Fox-trot 163 12.11.14 07:50 Сейчас в теме
DELETE

  FROM Config

WHERE

  FileName like '%dynupdate%' OR FileName like 'DynamicallyUpdated'

все ж таки один проход лучше, чем два =) тем паче что оба не оптимизируемы
крута было б ежели все это дело обернуть в ADO и сделать в виде родной обработки 1С с одной лишь кнопкой "Сделать все хорошо" =)
Ti_Gor1; CratosX; alexscamp; v.a.ryag; TIS_08; TerveRus; +6 Ответить
4. Yashazz 4804 12.11.14 09:38 Сейчас в теме
Хотите жить спокойно - никогда не пользуйтесь динамическим обновлением.
5. PVG_73 17 12.11.14 11:47 Сейчас в теме
Спасибо, за решение. Динамикой увы приходится пользоваться.... но вот таблиц таких слава богу оказалось не так много.....
6. DAnry 9 12.11.14 18:46 Сейчас в теме
Бывают случаи, что без динамического обновления никак. А за статью - спасибо.
8. cool.vlad4 2 13.11.14 00:53 Сейчас в теме
(6) DAnry, например? мое мнение, если без динамич. обновления никак, то что-то явно делается не так.
Для файловых баз, расшаренных по сети, это однозначно геморрой и проблемы.
7. recon 39 12.11.14 19:13 Сейчас в теме
Честно говоря не совсем понял чем автору не помогла очистка кэша. лезть в SQL ради удаления таблиц имхо последнее дело, когда базе уже ничего не поможет. Более того, платформа сама удаляет эти записи когда происходит монопольное обновление.
http://www.gilev.info/2010/02/1-81.html
https://partners.v8.1c.ru/forum/topic/448505

При динамическом обновлении основная проблема возникает не на сервере SQL, а на клиенте, у которого не обновляется кэш или кэш разрушается. В результате при следующем входе в систему пользователь получает не ту версию конфигурации, которая ожидается, или получает ее не полностью.
mip128; artbear; EmpireSer; RustIG; +4 Ответить
9. Valp 69 13.11.14 04:27 Сейчас в теме
(7) recon, проблема была в том, что при монопольном обновлении платформа с какого-то момента перестала удалять записи сделанные динамическим обновлением. В некоторых базах таблица Config хранила десятки версий одних и тех же объектов. Для таких баз при выполнении сравнения/объединения конфигураций платформа не видела различий в файлах, а при выполнении команды объединения/загрузки конфигурации из файла, считала последней версией объекта одну из старых неудаленных.
10. EmpireSer 13.11.14 09:56 Сейчас в теме
(9) Valp,
Я у десятка клиентов пользуюсь динамическим обновлением. Проблем не возникает.
Точнее... один раз возникла у клиента, у которого мы просто переставили 1С сервер с 8.2.16 на 8.3.4 без выгрузки/загрузки через DT. И то, проблема возникла у всех, у кого когда либо открывали конфигуратор и открывали в нём конфигурацию.

А так, как я сказал, проблем ни каких. Есть даже один клиент у которого я по 30 раз за день делаю динамическое обновление (клиент-сервер 8.2.19.106, MS SQL 2012).
Может Вы не умеете "готовить 1С"? :-)
kievanton; +1 1 Ответить
17. Just 3 25.11.14 12:08 Сейчас в теме
(10) EmpireSer,
Видимо ты знаешь что-то чего не знают другие, может тебе Борис какой-то секрет рассказал?
Сколько активных юзеров в базе, которую ты в день по 30 раз обновляешь? После таких изменений обычно база долго не живет. По теме, если выгонять всех юзеров после каждого динамического обновления (грубо говоря одно обновление в день), то скорее всего "пронесет", но с 30-кой в день, это не реально.
11. logarifm 1123 13.11.14 10:24 Сейчас в теме
Ну отказываться от динамического обновления не вижу смысла. А вот использовать хранилище конфигурации всецело устранит эти проблемы. Зачем разрабатывать какой-то кф-ник потом мучаться со сравнениями?
12. Valp 69 13.11.14 17:12 Сейчас в теме
(11) logarifm,
Для разработки используем хранилище, файл с нужными изменениями выгружаем и отправляем в живые базы,
они обновляются монопольно в пакетном режиме. Проблему получили при очередном таком обновлении, сразу после перехода на новую платформу. Отправили файл с изменениями, по логам все прошло успешно, но по факту в конфигурации БД получили откат некоторых объектов к версиям, которых не было ни в конфигурации которую обновляли, ни в конфигурации которой обновляли. При попытке ручной загрузки, получили то же результат. При сравнении конфигураций оказалось, что платформа не видит изменений. Проблема возникла почти на всех базах, для которых перешли на новую платформу.
13. Fox-trot 163 13.11.14 20:12 Сейчас в теме
(12) Valp, все эти пляски с бубном от того, что 1с вряд ли опубликует алгоритмы процесса обновления
такие дела
14. EmpireSer 14.11.14 00:45 Сейчас в теме
(13) Fox-trot,
Вообще-то он довольно понятный. Даже можно сделать сравнение до и после изменений распаковывая данные в "BinaryData".

(0),
Всё таки "костыль" исправления уже сделанного не правильного перехода описан хорошо.
Но в статье не хватает описания правильного перехода, где не возникнет таких проблем.
Так же Вы не описали как осуществлялся переход с 8.2.17 на 8.3.5, т.е. сами этапы.
15. Fox-trot 163 14.11.14 06:44 Сейчас в теме
(14) EmpireSer, то есть тебе еще не попадалиь случаи когда сравнение не показывало различие всего одного свойства, к примеру в макете, хотя ты точно его изменял
раз уж тебе известно больше чем окружающим, может поделишься кодом 1с сравнения конфигураций. для серверного варианта есесьно
16. webester 26 17.11.14 15:04 Сейчас в теме
Один раз произошло так, что факт того, что изменения откатились всплыл где то через пару месяцев. После этого стараюсь не трогать динамическое обновление, можно очень сильно потом об этом пожалеть.
19. Артано 795 28.07.20 03:29 Сейчас в теме
Если бы просто почистили кэш конфигурации, то не пришлось бы колдовать со скулем
Оставьте свое сообщение