Привет всем,
РИБ.
стоит задача такая - номенклатуру можно добавлять только в центральной базе, в подчиненных можно только смотреть.
как лучше реализовать такую вещь? я создал общий модуль, и подписку на событие перед записью и код
Но тогда ЕСТЕСТВЕННО когда идёт загрузка данных из ЦБ в подчиненную базу и доходит дело до загрузки номенклатуры, он не даёт её записать и выдает вон то сообщение. Это очень логично, понимаю... может как то можно в коде указать что это дело работает всегда кроме момента чтения данных из ЦБ?
Подкиньте пожалуйста идеи, как это лучше реализовать? Эффективней чтоб... оптимальней... ну и всё такое:) Конфа, если надо, БИТ Красота. Отраслёвка.
РИБ.
стоит задача такая - номенклатуру можно добавлять только в центральной базе, в подчиненных можно только смотреть.
как лучше реализовать такую вещь? я создал общий модуль, и подписку на событие перед записью и код
гл = ПланыОбмена.ГлавныйУзел();
Если гл = неопределено тогда
Сообщить("это главный узел! записывать можно");
иначе
Сообщить("Изменения можно вносить только в ЦБ");
Отказ = Истина;
Возврат;
КонецЕсли;
ПоказатьНо тогда ЕСТЕСТВЕННО когда идёт загрузка данных из ЦБ в подчиненную базу и доходит дело до загрузки номенклатуры, он не даёт её записать и выдает вон то сообщение. Это очень логично, понимаю... может как то можно в коде указать что это дело работает всегда кроме момента чтения данных из ЦБ?
Подкиньте пожалуйста идеи, как это лучше реализовать? Эффективней чтоб... оптимальней... ну и всё такое:) Конфа, если надо, БИТ Красота. Отраслёвка.
По теме из базы знаний
- Сравнение ЛЮБЫХ данных ЛЮБЫХ баз (и РИБ, по правилам конвертаций) по контрольным суммам выбранных реквизитов, работающих на платформе 8.3
- Отключение и подключение узла распределенной базы (РИБ)
- Групповое включение и отключение блокировки серверных баз 1С
- БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов
- Учет данных приборов учета в конфигурации 1С:Управление тепловодоканалом 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) hasan-rusel, ну ведь тогда тоже самое получается..
в подчиненной базе работает только один пользователь, если ему ставить роль запрещающую изменение" обмен ведь тоже будет происходить под этим же пользователем..и записать под ним не даст.. как ж поступить...
а вот еще задачка... надо чтобы никто кроме одного пользователя не видит определенную группу справочника..
есть группа справочника - один её видит, остальные НЕТ.. подскажите плиз...
в подчиненной базе работает только один пользователь, если ему ставить роль запрещающую изменение" обмен ведь тоже будет происходить под этим же пользователем..и записать под ним не даст.. как ж поступить...
а вот еще задачка... надо чтобы никто кроме одного пользователя не видит определенную группу справочника..
есть группа справочника - один её видит, остальные НЕТ.. подскажите плиз...
(4) mburkin, решение TMV тоже не подходит ?
По второму вопросу, (думаю если поковыряться, можно сделать так же как и по первому вопросу) Можно сделать настройку через ограничение доступа (щёлкаем по корню дерева конфигурации правой мышкой, выбираем "все ограничения доступа" и там прописываем.
По второму вопросу, (думаю если поковыряться, можно сделать так же как и по первому вопросу) Можно сделать настройку через ограничение доступа (щёлкаем по корню дерева конфигурации правой мышкой, выбираем "все ограничения доступа" и там прописываем.
(1) mburkin, В типовых конфигурациях для таких целей используется механизм в обработчике "ПередЗаписью":
При загрузке в узле делаем "ОбменДанными.Загрузка = Истина" и тогда проверка не выполняется.
З.Ы. Разумеется лучше все это запихать в подписку, чтоб не опасаться за потерю кода при обновлениях.
процедура ПередЗаписью
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
//дальнейший код, проверки и прочее
конецпроцедуры
ПоказатьПри загрузке в узле делаем "ОбменДанными.Загрузка = Истина" и тогда проверка не выполняется.
З.Ы. Разумеется лучше все это запихать в подписку, чтоб не опасаться за потерю кода при обновлениях.
(3) TMV, СПАСИБО!!! так и сделал!
Подведу итог...
1. Подписка на событие "Перед записью" на справочник номенклатура,
2. Общий модуль на который ссылается подписка, с таким кодом:
Подведу итог...
1. Подписка на событие "Перед записью" на справочник номенклатура,
2. Общий модуль на который ссылается подписка, с таким кодом:
Процедура битПриЗаписиКлиентаПередЗаписью(Источник, Отказ) Экспорт
Если Источник.ОбменДанными.Загрузка Тогда
Возврат
КонецЕсли;
гл = ПланыОбмена.ГлавныйУзел();
Если гл = неопределено тогда
//Сообщить("это главный узел! записывать можно");
Иначе
Сообщение = новый СообщениеПользователю ();
Сообщение.Текст = "Изменения можно вносить только в Центральной базе!";
Сообщение.Сообщить();
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот