Как запретить ручное создание, удаление проводок?

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Как запретить ручное создание, удаление проводок?

Сообщение Иван »

При этом оставить доступ на групповую модификацию аналитики
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

Настройки Галактики \ Бухгалтерский контур \ Обработка документов \ Хозяйственные операции и бухгалтерские проводки
Запрещать ручное редактирование бухгалтерских проводок
Запрещать редактирование полей в проводках
Последняя должна помоч
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

так а добавление проводок как убрать доступ?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

угу, после того как написал - проверил. удаление и добавление работает.
если есть компилятор интерфейсоф подкину идейку, если нет то ... :(
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

ну да есть, только исходников то у меня нету
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

А исходники и не нужны. Просто необходимо знать события системы.
Код то что ниже: Если установленна вышеописанная настройка в положение ДА, то при открытии списка бух проводок как в бровсе так и в режиме редактирования блокируем команды вставки и удаления.
осталость тока блокирнуть Ctrl+2 и Ctrl+3 (копи/пасте) cmSaveDoc и cmRestoreDoc соответственно.

Код: Выделить всё

#Component "F_Oborot"
Alter interface Oborot ( '');
Var boID :  boolean;

Window wiKatEdit01 '' EscClose;
HandleEvent
cmInit:
{
  if(inherited :: HandleEvent (cmInit)=heOk)
  {
    if(boID)
    {
      DisableCommand(cmInsert);
      DisableCommand(cmDelete);
    }
  }
}
  end; // HandleEvent window wiKatEdit01
end; // window

//***********************************************
Handleevent  //Interface
cmInit:
{
  if(inherited :: HandleEvent (cmInit)=heOk)
    boID := boGetTune('FIN.USER.NOEDITPROV');
  if(boID)
  {
    DisableCommand(cmInsert);
    DisableCommand(cmDelete);
  }
}
end;
end.
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

Компилятор написал: компонент F_OBOROT не имеет ни одной таблицы в словаре, возможно задано ошибочно имя компонента

Вообще я должен скомпилить этот файл в ресурсный файл и подключить через консоль управления?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

Компилятор написал: компонент F_OBOROT
Где то на форуме было по этому поводу. Поищите.
скомпилить этот файл в ресурсный файл и подключить через консоль управления
все верно
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

прикольно, работает
теперь нужно где-то взять код для копирования вставки проводок :grin:
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

По образу и подобию с cmInsert и cmDelete
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

По образу и подобию я наверное не смогу, т.к. вообще не знаком с этим кодом. Можете скинуть готовое?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Ged писал(а):...осталость тока блокирнуть Ctrl+2 и Ctrl+3 (копи/пасте) cmSaveDoc и cmRestoreDoc соответственно. ...


....По образу и подобию с cmInsert и cmDelete....
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сообщение Иван »

я вот так добавил в двух местах по две строки:

Код: Выделить всё

#Component "F_Oborot" 
Alter interface Oborot ( ''); 
Var boID :  boolean; 

Window wiKatEdit01 '' EscClose; 
HandleEvent 
cmInit: 
{ 
  if(inherited :: HandleEvent (cmInit)=heOk) 
  { 
    if(boID) 
    { 
      DisableCommand(cmInsert); 
      DisableCommand(cmDelete); 
      DisableCommand(cmSaveDoc); 
      DisableCommand(cmRestoreDoc); 
    } 
  } 
} 
  end; // HandleEvent window wiKatEdit01 
end; // window 

//*********************************************** 
Handleevent  //Interface 
cmInit: 
{ 
  if(inherited :: HandleEvent (cmInit)=heOk) 
    boID := boGetTune('FIN.USER.PROTECTBSALDO'); 
  if(boID) 
  { 
    DisableCommand(cmInsert); 
    DisableCommand(cmDelete); 
    DisableCommand(cmSaveDoc); 
    DisableCommand(cmRestoreDoc);
  } 
} 
end; 
end. 
вроде правильно и перестало вставляться
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

я наверное не смогу
Нет такого слова "не могу" есть "не хочу" :)
Главное попробовать...

PS: Можно и

Код: Выделить всё

Window wiKatEdit01 '' EscClose; 
HandleEvent 
cmInit: 
{ 
  if(inherited :: HandleEvent (cmInit)=heOk) 
  { 
    if(boID) 
    { 
      DisableCommand(cmInsert); 
      DisableCommand(cmDelete); 
    } 
  } 
} 
  end; // HandleEvent window wiKatEdit01 
end; // window
В режиме редактирования нет этих событий.
Можете убедиться - по правой кнопке..
Ответить