Доброго времени. Конфигурация БП 3.0 . Я в нее дописал дополнительный документ. Он проводится по регистрам. Как можно заблокировать эти документы, таким образом, что если заходят в них сегодня, то можно редактировать, если на след. день, то можно редактировать только след. день, а предыдущий уже заблокирован. Ну и так далее. Как то можно так сделать? И можно ли такое реализовать с отбором по пользователям?
По теме из базы знаний
- Анализ цепочки документов в 1С:ERP
- Использование типовых возможностей 1С и их расширение. Часть 1
- Как на мобильной платформе 1С сделать игру. Расширяем возможности через Поле HTML Документа
- Проблема производительности. Как может заблокировать работу в ERP один-единственный документ от 01.01.2099 года?
- Как я писал ТЗ на внедрение 1С:ERP
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) Лучше не ПриОткрытии(), а ПриЧтенииНаСервере(), оно как раз для такого и предназначено, и вызывается при ЛЮБОМ чтении/обновлении.
Но нужно всё равно предусмотреть случай, когда человек меняет дату документа, и тот попадает в запрещённые дни... Как тогда должна реагировать программа?
Но нужно всё равно предусмотреть случай, когда человек меняет дату документа, и тот попадает в запрещённые дни... Как тогда должна реагировать программа?
(12) 1С, в отличие от Вас, предусмотрела, что Вы не единственный пользователь в базе. И если кто-то изменил дату открытого Вами документа, система заставит Вас перечитать его, прежде чем изменять. А тогда отработает ПриЧтенииНаСервере, но не ПриОткрытии. RTFM.
У себя сделал так:
1. В форме документа прописал обработчик
2. В Плане видов характеристик РазделыДатЗапретаИзменения добавил предопределенный элемент ПроверкаОТК (если есть возможность, то лучше использовать какой-либо из существующих, об этом ниже)
3. Добавил подписку на событие мт_ПроверитьДатуЗапретаПередЗаписьюДокумента, источники событий - мои документы. Код обработчика:
4. В процедуру ДатыЗапретаИзмененийПереопределяемый.ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения добавил строчку
В настройках пользователя указал дату запрета изменений для раздела "ПроверкаОТК" - вчерашний день.
Минусы данного подхода: в ERP предопределенные элементы ПВХ.РазделыДатЗапретаИзменения слетают при каждом обновлении. Соответственно, после обновления начинаются пляски с бубном по удалению старого элемента и новой настройке даты запрета изменения для пользователей. Поэтому, если есть возможность использовать для своего документа один из существующих разделов дат запрета изменения - используйте его.
Плюсы: стандартная гибкая настройка даты запрета изменений для пользователей в программе.
1. В форме документа прописал обработчик
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// Обработчик механизма "ДатыЗапретаИзменения"
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры
2. В Плане видов характеристик РазделыДатЗапретаИзменения добавил предопределенный элемент ПроверкаОТК (если есть возможность, то лучше использовать какой-либо из существующих, об этом ниже)
3. Добавил подписку на событие мт_ПроверитьДатуЗапретаПередЗаписьюДокумента, источники событий - мои документы. Код обработчика:
Процедура мт_ПроверитьДатуЗапретаПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
ДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения);
КонецПроцедуры
4. В процедуру ДатыЗапретаИзмененийПереопределяемый.ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения добавил строчку
ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.мт_ПроверкаОТК", "Дата", "ПроверкаОТК", "Организация");
В настройках пользователя указал дату запрета изменений для раздела "ПроверкаОТК" - вчерашний день.
Минусы данного подхода: в ERP предопределенные элементы ПВХ.РазделыДатЗапретаИзменения слетают при каждом обновлении. Соответственно, после обновления начинаются пляски с бубном по удалению старого элемента и новой настройке даты запрета изменения для пользователей. Поэтому, если есть возможность использовать для своего документа один из существующих разделов дат запрета изменения - используйте его.
Плюсы: стандартная гибкая настройка даты запрета изменений для пользователей в программе.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот