Ответы на вопросы по программированию на платформе Гедымин.

Запрет на изменение после указанной даты

Сообщение beeezy » 06 мар 2018, 12:05

Добрый день. Есть один насущный вопрос. Необходимо установить запрет на изменение/удаление накладных после указанного срока (если не указан то ставить месяц). Есть ли реализованная функция в Гедемине, а если нет, то где конкретно нужно править код, чтобы внести изменения. Спасибо
beeezy
Newbie
 
Сообщения: 1
Зарегистрирован: 06 мар 2018

Re: Запрет на изменение после указанной даты

Сообщение sysdba » 06 мар 2018, 12:17

Посмотрите имена таблиц для шапки и позиций накладных и создайте для каждой по триггеру:

Код: Выделить всё
CREATE OR ALTER TRIGGER USR$имя_трbггера FOR имя_таблицы
  ACTIVE
  AFTER INSERT OR UPDATE OR DELETE
  POSITION 32000
AS
  DECLARE VARIABLE D TIMESTAMP;
BEGIN
  IF (INSERTING OR UPDATING) THEN
  BEGIN
    SELECT documentdate FROM gd_document
    WHERE id = NEW.documentkey
    INTO :d;

    IF (ABS(DATEDIFF(month, current_date, :d)) > 1) THEN
      EXCEPTION gd_e_exception 'Изменение документа запрещено';
  END

  IF (INSERTING OR DELETING) THEN
  BEGIN
    SELECT documentdate FROM gd_document
    WHERE id = OLD.documentkey
    INTO :d;

    IF (ABS(DATEDIFF(month, current_date, :d)) > 1) THEN
      EXCEPTION gd_e_exception 'Изменение документа запрещено';
  END
END
sysdba
Monster
 
Сообщения: 1242
Зарегистрирован: 17 янв 2005

Re: Запрет на изменение после указанной даты

Сообщение gs7600300 » 06 мар 2018, 12:22

В программе реализован механизм блокировки периода( под администратором Сервис > Параметры > Аудит и безопасность > Блокировка периода)

Блокировка периода распространяется на следующие таблицы:
ac_entry бухгалтерские проводки;
gd_document документы;
inv_card карточки складского учета;
inv_movement складское движение.
На каждую из этих таблиц в базе данных созданы по три триггера для
отслеживания операций вставки, изменения и удаления записи. Триггеры
не активны, если блокировка периода выключена и активизируются при ее
включении.
gs7600300
Newbie
 
Сообщения: 11
Зарегистрирован: 06 июн 2016

Вернуться в Программирование на Гедымине
cron