Найденные решения
Держите. В обработке кнопка СБРОСИТЬ ГЛАВНЫЙ УЗЕЛ.
Прикрепленные файлы:
РаботаСУзламиПланаОбмена.epf
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Держите. В обработке кнопка СБРОСИТЬ ГЛАВНЫЙ УЗЕЛ.
Прикрепленные файлы:
РаботаСУзламиПланаОбмена.epf
(20) 1C-CHIP, В конфигураторе.
1. открываем конфигуратор.
2. нажимаем - новый - внешняя обработка.
3. в дереве данных обработки на ветке Формы - ПКМ - добавить
4. на форме создаём команду, в которой (в тексте модуля) рисуем вышеприведенную команду.
5. сохраняем.
6. Открываем эту обработку в торговле, нажимаем кнопку.
7. Шлём лучи благодарности и денежную помощь всем учавствующим в данной ветке.
8. Profit!
1. открываем конфигуратор.
2. нажимаем - новый - внешняя обработка.
3. в дереве данных обработки на ветке Формы - ПКМ - добавить
4. на форме создаём команду, в которой (в тексте модуля) рисуем вышеприведенную команду.
5. сохраняем.
6. Открываем эту обработку в торговле, нажимаем кнопку.
7. Шлём лучи благодарности и денежную помощь всем учавствующим в данной ветке.
8. Profit!
(21) DenisCh,
Добрый день, подскажите пожалуйста,
Я работаю сейчас по книжке Радченко, делаю 24 урок, раздел Изменение структуры узлов.
Создал Периферийную ИБ, теперь попытался ее сделать самостоятельной!
Попытался сделать обработку, как вы писали, но не получается при сохранении пишет переменная не определена (ПланыОбмена).
Создаю периферийную ИБ программно с помощью обработки, по книжке.
&НаСервереБезКонтекста
Функция ПредопределенныйУзел (Узел)
Возврат Узел = ПланыОбмена.Отделения.ЭтотУзел();
КонецФункции
&НаКлиенте
Процедура ПолеВводаОтделенияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ПредопределенныйУзел(ВыбранноеЗначение) Тогда
Элементы.СоздатьНачальныйОбраз.Доступность = Ложь;
Иначе
Элементы.СоздатьНачальныйОбраз.Доступность = Истина;
КонецЕСли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНачальныйОбраз(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.ВыборКаталога);
Диалог.Заголовок = "Укажите каталог информационной базы:";
Если Диалог.Выбрать()Тогда
СоздатьНачальныйОбразНаСервере (ПолеВводаОтделения,Диалог.Каталог);
Предупреждение("Создание начального образа узла завершено");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СоздатьНачальныйОбразНаСервере (Узел, КаталогСоединения)
ПланыОбмена.СоздатьНачальныйОбраз(Узел, "File =" + КаталогСоединения);
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьИзменения(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.Сохранение);
Диалог.Заголовок = "Укажите файл обмена:";
Если Диалог.Выбрать()Тогда
ЗаписатьИзмененияНаСервере (ПолеВводаОтделения,Диалог.ПолноеИмяФайла);
Предупреждение("Запись изменений завершена.");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаписатьИзмененияНаСервере (Узел,ИмяФайла)
//Создать и проанализировать обьект ЗаписьXML
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла);
//Создать обьект ЗаписьСообщенияОбмена и начать запись сообщения
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML,Узел);
//Записать содержимое тела сообщения обмена данными распределенной иб
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
//Закончить запись сообщения и запись XML
ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ПрочитатьИзменения(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Укажите файл обмена:";
Если Диалог.Выбрать()Тогда
ПрочитатьИзмененияНасервере (Диалог.ПолноеИмяФайла);
Предупреждение("Чтение изменений завершено");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПрочитатьИзмененияНаСервере (ИмяФайла)
//Создать и проанализировать обьект ЧтенияXML
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
//Создать обьект ЧтениеСообщенияОбмена и начать чтение сообщения.
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
//Прочитать содержимое тела сообщения.
ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
//Закончить чтение сообщения и чтение XML
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
КонецПроцедуры
Подскажите пожалуйста как правильно сделать. Я новичок в этом деле)
Спасибо Большое!
Добрый день, подскажите пожалуйста,
Я работаю сейчас по книжке Радченко, делаю 24 урок, раздел Изменение структуры узлов.
Создал Периферийную ИБ, теперь попытался ее сделать самостоятельной!
Попытался сделать обработку, как вы писали, но не получается при сохранении пишет переменная не определена (ПланыОбмена).
Создаю периферийную ИБ программно с помощью обработки, по книжке.
&НаСервереБезКонтекста
Функция ПредопределенныйУзел (Узел)
Возврат Узел = ПланыОбмена.Отделения.ЭтотУзел();
КонецФункции
&НаКлиенте
Процедура ПолеВводаОтделенияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ПредопределенныйУзел(ВыбранноеЗначение) Тогда
Элементы.СоздатьНачальныйОбраз.Доступность = Ложь;
Иначе
Элементы.СоздатьНачальныйОбраз.Доступность = Истина;
КонецЕСли;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьНачальныйОбраз(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.ВыборКаталога);
Диалог.Заголовок = "Укажите каталог информационной базы:";
Если Диалог.Выбрать()Тогда
СоздатьНачальныйОбразНаСервере (ПолеВводаОтделения,Диалог.Каталог);
Предупреждение("Создание начального образа узла завершено");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СоздатьНачальныйОбразНаСервере (Узел, КаталогСоединения)
ПланыОбмена.СоздатьНачальныйОбраз(Узел, "File =" + КаталогСоединения);
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьИзменения(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.Сохранение);
Диалог.Заголовок = "Укажите файл обмена:";
Если Диалог.Выбрать()Тогда
ЗаписатьИзмененияНаСервере (ПолеВводаОтделения,Диалог.ПолноеИмяФайла);
Предупреждение("Запись изменений завершена.");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаписатьИзмененияНаСервере (Узел,ИмяФайла)
//Создать и проанализировать обьект ЗаписьXML
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла);
//Создать обьект ЗаписьСообщенияОбмена и начать запись сообщения
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML,Узел);
//Записать содержимое тела сообщения обмена данными распределенной иб
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
//Закончить запись сообщения и запись XML
ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ПрочитатьИзменения(Команда)
Диалог = Новый ДиалогВыбораФайла (РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Укажите файл обмена:";
Если Диалог.Выбрать()Тогда
ПрочитатьИзмененияНасервере (Диалог.ПолноеИмяФайла);
Предупреждение("Чтение изменений завершено");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПрочитатьИзмененияНаСервере (ИмяФайла)
//Создать и проанализировать обьект ЧтенияXML
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
//Создать обьект ЧтениеСообщенияОбмена и начать чтение сообщения.
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
//Прочитать содержимое тела сообщения.
ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
//Закончить чтение сообщения и чтение XML
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
КонецПроцедуры
Подскажите пожалуйста как правильно сделать. Я новичок в этом деле)
Спасибо Большое!
Вставлю актуальное обновление для конфигураций на 2020-2021 годов:
Процедуру отключения информационной базы подчиненного узла можно разделить на несколько этапов:
Шаг 1. Отключение режима распределенной информационной базы
Выполнить отключение информационной базы с помощью параметра запуска конфигуратора /ResetMasterNode или /RunModeOrdinaryApplication и запустить вышеуказанную обработку в ветке.
Шаг 2. Подтверждение отключения связи с главным узлом
Шаг 3. Действия над служебными данными
В этом шаге описаны действия по обходу ошибки, связанной с тем, что после отключения от главного узла не очищается ряд настроек, что в дальнейшем может создавать трудности при работе с информационной базой.
Через меню Все функции - Константы выполнить установку служебных констант:
Настройка подчиненного узла РИБ завершена - флаг должен быть снят;
Это автономное рабочее место -флаг должен быть снят.
Так же, через меню Все функции - Планы обмена, необходимо удалить запись плана обмена, соответствующий главному узлу распределенной информационной базы.
В режиме "1С:Предприятие" выполнить вход в подчиненный узел и отказаться от предложения на восстановление связи с главным узлом.
Здесь фишка в том чтобы было у БД было как минимум два пользователя с полными правами и снята галочка "Защита от опасных действий". После нажатия на кнопку отключить права - напрочь слетают права у текущего пользователя. Но потом все работает.
Удачи!
Процедуру отключения информационной базы подчиненного узла можно разделить на несколько этапов:
Шаг 1. Отключение режима распределенной информационной базы
Выполнить отключение информационной базы с помощью параметра запуска конфигуратора /ResetMasterNode или /RunModeOrdinaryApplication и запустить вышеуказанную обработку в ветке.
Шаг 2. Подтверждение отключения связи с главным узлом
Шаг 3. Действия над служебными данными
В этом шаге описаны действия по обходу ошибки, связанной с тем, что после отключения от главного узла не очищается ряд настроек, что в дальнейшем может создавать трудности при работе с информационной базой.
Через меню Все функции - Константы выполнить установку служебных констант:
Настройка подчиненного узла РИБ завершена - флаг должен быть снят;
Это автономное рабочее место -флаг должен быть снят.
Так же, через меню Все функции - Планы обмена, необходимо удалить запись плана обмена, соответствующий главному узлу распределенной информационной базы.
В режиме "1С:Предприятие" выполнить вход в подчиненный узел и отказаться от предложения на восстановление связи с главным узлом.
Здесь фишка в том чтобы было у БД было как минимум два пользователя с полными правами и снята галочка "Защита от опасных действий". После нажатия на кнопку отключить права - напрочь слетают права у текущего пользователя. Но потом все работает.
Удачи!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот