РИБ и расширения конфигурации, меняющие метаданные
Разработка - Обмен данными 1С - Распределенная БД (УРИБ, УРБД)
Когда 1С предложили нам “Расширения конфигурации” в РИБ я был в восторге, но радость оказалась недолгая. Мне, как сопровождающему торговую сеть, нужно было как-то доставить их в подчиненные узлы. С этим были проблемы. Если простые расширения, которые изменяли только код или “картинку” можно было выгрузить-загрузить, то расширения изменяющие структуру метаданных никак. Расширения “сложные” можно было выгрузить только с Начальным образом. А что делать, если сеть уже стоит? С 8.3.12 я боролся с неадекватностью РИБ вырезанием из файла обмена информации об изменении расширения. Был такой глюк, когда измененная конфигурация уже разошлась по узлам, и они ее приняли. И ты ничего не менял, а РИБ все равно пытается ее загрузить как новую. И в узлах был ступор.
Пример для Розница 2.2
&После("ВыполнитьВыгрузкуДанных")
Процедура МоиРасш1_ВыполнитьВыгрузкуДанных(Отказ, СообщениеОбОшибке)
ПутьКФайлуЧтение = ИмяФайлаСообщенияОбмена();
Если ПутьКФайлуЧтение = "" Тогда возврат КонецЕсли;
ПутьКФайлуЗапись = ИмяФайлаСообщенияОбмена()+"S";
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайлЗапись = Новый ТекстовыйДокумент;
ТекстовыйФайл.Прочитать(
ПутьКФайлуЧтение,
КодировкаТекста.UTF8,
Символы.ВК + Символы.ПС
);
ПерваяСтрока = 0; ПоследняяСтрока = 0;
Для Индекс = 1 По ТекстовыйФайл.КоличествоСтрок() Цикл
Строка = ТекстовыйФайл.ПолучитьСтроку(Индекс);
Если СтрНайти(Строка, "v8de:ConfigurationExtensions",,1) > 0 и
СтрНайти(Строка, "/v8de:",,1) = 0 Тогда
Сообщить("Первая строка - " + Строка(Индекс));
ПерваяСтрока = Индекс;
КонецЕсли;
Если СтрНайти(Строка, "/v8de:ConfigurationExtensions",,1) > 0 Тогда
Сообщить("Последняя строка - " + Строка(Индекс));
ПоследняяСтрока = Индекс;
КонецЕсли;
КонецЦикла;
Если ПерваяСтрока = 0 Тогда возврат; КонецЕсли;
Для Индекс = 1 По ТекстовыйФайл.КоличествоСтрок() Цикл
Строка = ТекстовыйФайл.ПолучитьСтроку(Индекс);
Если Индекс < ПерваяСтрока или Индекс > ПоследняяСтрока Тогда
ТекстовыйФайлЗапись.ДобавитьСтроку(Строка);
КонецЕсли;
КонецЦикла;
ТекстовыйФайлЗапись.Записать(
ПутьКФайлуЗапись,
КодировкаТекста.UTF8,
Символы.ВК + Символы.ПС
);
ПереместитьФайл(ПутьКФайлуЗапись, ПутьКФайлуЧтение);
КонецПроцедуры
Главное, чтобы совпадали контрольные суммы конфигураций Центра и узлов.
Если они не совпадают, в эту процедуру можно добавить подмену контрольных сумм и заставить обмениваться базы. Но вы должны понимать, что структура метаданных у вас одинаковая, а изменены только мелочи.
Недавно обратился ко мне клиент с доделкой УНФ. Так как пришлось переходить на 8.3.15. , я решил попробовать и проверить , а как там дела с РИБ. Исходные данные:
Windows 7 64bit, 1С:Предприятие 8.3 (8.3.15.1747), Управление нашей фирмой, редакция 1.6 (1.6.19.137) , файловый режим. Надеюсь, на другой конфигурации тоже заработает.
Нужно было добавить РегистрСведений.ПроцентНаценки. Измерения: Номенклатура, ВидЦены, Характеристика. Ресурс: Процент.
Как я делал эксперимент:
- На центральной базе (пока без Изменений), создал начальный образ подчиненного узла. Установил его и сделал синхронизации до всех “сейчас”. У вас может уже стоять сеть узлов, с какими-то расширениями. УНФ (наценка) - расширение без изменений в метаданных.
- На центральной базе добавил расширение “РасширениеРегистрПроцентНаценки”, БЕЗ изменений метаданных. Например: вывел форму «Синхронизация данных» в рабочую область. Задолбало лазить постоянно хрен знает куда. Поставил признак “Используется в РИБ”.
- Загрузил в подчиненный узел. Он ругнулся, что пришло изменение в расширениях и нужно перезагрузиться.
- Перезагружаемся и делаем обмены до всех “сейчас”.
- На центральной базе, добавил в расширение РегистрСведений. Для быстрой проверки и для “порядка” установил “Ведущее” в измерении Номенклатура. Принимаем в центральной базе добавление регистра.
- На подчиненном узле, обработкой (ее полно в интернете) “Сбросил центральный узел”.
- Зашел в конфигуратор на подчиненном узле и удалил “РасширениеРегистрПроцентНаценки”. Удалять ее нужно потому, что на ней стоит признак РИБ, и с ней ничего сделать нельзя. Из конфигуратора запустил основную программу. Закрыл конфигуратор, иначе не даст установить основной узел.
- На вопрос о восстановлении главного узла – соглашаемся.
- Запускаем синхронизацию на Центральном затем на подчиненном узле. Загрузится расширение с добавленным регистром сведений ;-).
- Зашел в конфигуратор на подчиненном узле в Расширения конфигурации и что мы видим. Расширение появилось, но оно пустое.
- На центральном узле выгрузил расширение в РасширениеРегистрПроцентНаценки.cfe и загрузил его на подчиненном узле. Принял изменение конфигурации (регистр добавился). На изображении подчиненный узел без замков, значит можно загрузить расширение.
- Из конфигуратора (на подчиненном узле ) запустил основную программу. Закрыл конфигуратор.
- Выполнил обмен между узлами до всех “сейчас”.
- Можете зайти в конфигуратор на подчиненном узле и убедится, все что должно быть на замках, стоит на замках РИБ.
Проблемы которые могут появиться и сильно испугать, но на самом деле они не такие страшные.
Механизм обмена расширениями от нас скрыт, мы не можем его контролировать. Но исследовать этот “черный ящик” можно, и можно понять логику его действия. По крайней мере на момент 8.3.15.1747. Чего категорически нельзя делать, это пытаться в подчиненном узле загрузить расширение с изменениями метаданных без предварительной загрузки через РИБ. Так как признак использования расширения в РИБ проставляется только при штатной синхронизации. Программа проверяет загружаемое расширение и если оно ей “понравилось”, то она его проглотит. Именно проглотит, потому что она может сохранять их в себе "пачками". Несмотря на то, что по идее должна контролировать их хотя бы по имени. Далее даже если мы его удаляем, привязка расширения к РИБ сохраняется и восстанавливается при восстановлении «Центрального узла» на подчиненном узле .
При загрузке расширения (если уже ранее были попытки загрузки) можно словить ошибку – «Нарушение прав доступа» при входе в программу. Без описания в конфигураторе.
Для ликвидации этой ошибки, в подчиненном узле, нужно удалить ВСЕ версии нашего расширения “РасширениеРегистрПроцентНаценки”. Да да их будет несколько. Симптомы такие: вы удаляете в конфигураторе расширение, комп немного думает, потом «оба-на» и расширение снова стоит в окне Расширения конфигурации. Нужно опять повторить попытку его удаления, пока расширение не исчезнет из списка. Неизвестно, мы удаляем разные расширения или одно и тоже, но где-то стоит счетчик. И он минусуется. Нужно зайти –выйти из рабочей программы. После возвращаемся к шагу 7. У меня был случай когда в конфигураторе расширения не было, а в программе был. Убивал через Управление расширениями конфигурации. Один раз (в ходе одного из экспериментов) был «вылет» с ошибкой – “\что-то-там-тра-та-та.срр”, без последствий для базы.
Я не знаю, то что я описал – “баг” или “фича”. Бывают случаи, когда жизненно необходимо добавить хотя бы регистр сведений. Иначе потеря клиента и денег.
Если кто сделает, отпишитесь, как прошло.
p.s. Был еще один момент на уровне фантастики. Я экспериментировал с ручной модификацией файлов выгрузки - загрузки. И в ходе очередной загрузки на подчиненный узел. В правой части окна прогресса загрузки, на долю секунды, промелькнуло окно сообщения (открылось и закрылось). Текст разглядеть не удалось, слишком это было неожиданно. Далее как при повествовании удивительных историй. "Какого же было его (мое) удивление", когда я зашел во "Все функции" и в регистрах увидел свой новый регистр. Я все это время был в программе, в конфигуратор не заходил, изменения в метаданных не принимал.
Воспроизвести еще раз не удалось, списал на позднее время и усталость :-).
Специальные предложения
См. также
Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо
Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.
Альтернативное получение значения из хранилища значения. Свой ХранилищеЗначения.Получить(); 13
1 стартмани
22.04.2019 3241 2 markers 0
Новый раздел на Инфостарте - Electronic Software Distribution Промо
Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.
- Низкие цены, без скрытых платежей и наценок
- Оперативная отгрузка
- Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
- Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)
Настройка регламента обменов на магазинах (Клиент-серверный вариант) 0
1 стартмани
07.03.2019 2146 kvaleksandr 2
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Программы для исполнения 488-ФЗ: Маркировка товаров Промо
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Групповое изменение расписания Сценариев обменов данными (РИБ) 10
1 стартмани
18.01.2019 2292 3 KroVladS 0
ЗУП 3.1.7-3.1.8. Решаем проблему "неснимаемой" регистрации связанных регистров сведений 7
1 стартмани
15.01.2019 3826 6 tomvlad 14
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
R2-D2: журнал регистрации, монитор обменов, аварийные уведомления 14
2 стартмани
14.06.2018 8946 16 pbabincev 7
Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо
На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.
777 рублей
Скрипт подключения списка информационных баз 1С в зависимости от контролера домена авторизации 4
1 стартмани
29.03.2018 8159 1 Glebis 5
Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо
Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.
9000 рублей
Временное устранение ошибки при обмене с узлами РИБ. Данные принимаются от узла с другим набором расширений, меняющих структуру данных 8
1 стартмани
19.01.2018 13298 26 vgraz 7
Создаем начальный образ УПП с данными по одному юридическому лицу (РИБ) 5
1 стартмани
14.12.2017 9725 27 9093042 3
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Принудительная регистрация изменений РИБ для 1С: Розница 20
1 стартмани
10.12.2017 10019 20 independ 4
Отключение и подключение узла распределенной базы (РИБ) 24
1 стартмани
27.11.2017 14633 119 sapervodichka 0
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
Обмен по организациям в 1С:Управление торговлей 10.3 (РИБД) 3
7 стартмани
13.11.2017 8655 22 sanok 5
1С:Предприятие через Интернет. 1С:Fresh Промо
Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.
Обработки установки признака распределенности для РИБ 1С 8.Х 0
1 стартмани
22.06.2017 6571 7 Koshmario 1
Создание первоначального образа с файлами РИБ или быстрая очистка базы от документов и движений по регистрам 13
1 стартмани
06.06.2017 15762 46 Dima_ 6
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо
Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.
24700 руб.
Анализ зарегистрированных объектов плана обмена в УПП (обычное приложение) 1
1 стартмани
19.05.2017 7371 3 amyago 2
Автообновление нескольких распределенных удаленных баз, личный опыт 21
1 стартмани
12.04.2017 12561 8 Nehc 8