РИБ и расширения конфигурации, меняющие метаданные
Разработка - Обмен данными 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. Был еще один момент на уровне фантастики. Я экспериментировал с ручной модификацией файлов выгрузки - загрузки. И в ходе очередной загрузки на подчиненный узел. В правой части окна прогресса загрузки, на долю секунды, промелькнуло окно сообщения (открылось и закрылось). Текст разглядеть не удалось, слишком это было неожиданно. Далее как при повествовании удивительных историй. "Какого же было его (мое) удивление", когда я зашел во "Все функции" и в регистрах увидел свой новый регистр. Я все это время был в программе, в конфигуратор не заходил, изменения в метаданных не принимал.
Воспроизвести еще раз не удалось, списал на позднее время и усталость :-).
Специальные предложения
См. также
Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.
4500/9500 рублей
Розница 2.2: Программная регистрация документов для обмена по РИБ. Восстановление документов базы центрального узла РИБ 1
1 стартмани
05.12.2019 312 vasilievil 0
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Альтернативное получение значения из хранилища значения. Свой ХранилищеЗначения.Получить(); 13
1 стартмани
22.04.2019 3329 2 markers 0
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Настройка регламента обменов на магазинах (Клиент-серверный вариант) 0
1 стартмани
07.03.2019 2258 kvaleksandr 2
Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо
Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.
9000 рублей
Новый раздел на Инфостарте - Electronic Software Distribution Промо
Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.
- Низкие цены, без скрытых платежей и наценок
- Оперативная отгрузка
- Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
- Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)
Групповое изменение расписания Сценариев обменов данными (РИБ) 10
1 стартмани
18.01.2019 2343 3 KroVladS 0
ЗУП 3.1.7-3.1.8. Решаем проблему "неснимаемой" регистрации связанных регистров сведений 8
1 стартмани
15.01.2019 3945 6 tomvlad 14
Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!
29700 руб.
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
R2-D2: журнал регистрации, монитор обменов, аварийные уведомления 14
2 стартмани
14.06.2018 9052 16 pbabincev 7
Перенос данных БП 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С в зависимости от контролера домена авторизации 4
1 стартмани
29.03.2018 8261 1 Glebis 5
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Временное устранение ошибки при обмене с узлами РИБ. Данные принимаются от узла с другим набором расширений, меняющих структуру данных 8
1 стартмани
19.01.2018 13369 26 vgraz 7
Создаем начальный образ УПП с данными по одному юридическому лицу (РИБ) 5
1 стартмани
14.12.2017 9798 27 9093042 3
Перенос данных КА 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С: Розница 20
1 стартмани
10.12.2017 10212 20 independ 4
Отключение и подключение узла распределенной базы (РИБ) 24
1 стартмани
27.11.2017 14771 119 sapervodichka 0
Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.
29700 руб.
Обмен по организациям в 1С:Управление торговлей 10.3 (РИБД) 3
7 стартмани
13.11.2017 8707 22 sanok 5
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Обработки установки признака распределенности для РИБ 1С 8.Х 0
1 стартмани
22.06.2017 6618 7 Koshmario 1
Создание первоначального образа с файлами РИБ или быстрая очистка базы от документов и движений по регистрам 13
1 стартмани
06.06.2017 15879 46 Dima_ 6