Справка Инфо-Бухгалтер 10

Клиентский алгоритм удаления в таблице проводок

Алгоритм служит для обработки события удаления в подчиненной таблице проводок журнала. Ссылка на алгоритм задается в менеджере настроек отображения.

Параметры алгоритма:

ВЫЧИСЛИТЬ(ПЕРЕМ ОПЕР_КОНТЕКСТ: контекст;
          СТРОКА: вариант;
          ПЕРЕМ <ТИП>: оп;
          ЦЕЛОЕ: строка;
          ПЕРЕМ СТРОКА: рез)
// …
КОНЕЦ

Алгоритм может возвращать три строковых значения результата: OK, CANCEL и CONTINUE.

Пример

Пример иллюстрирует использование алгоритма удаления проводки для операции. В ходе работы алгоритма происходит вычисление суммы проводки в рублях, если вычисленное значение больше 1000, то перед непосредственным удалением проводки выводится вопрос. Если на вопрос был дан отрицательный ответ, то действие удаления проводки отменяется, если положительный ответ, то проводка удаляется. Удаление проводки происходит и в случае если сумма проводки не превысила значение 1000.

В настройке отображения в узле "Удаление" для таблицы проводок задается алгоритм удаления проводки.

ВЫЧИСЛИТЬ(ПЕРЕМ ОПЕР_КОНТЕКСТ: контекст; // вход
          СТРОКА: вариант;               // вход   
          ПЕРЕМ списание: оп;            // вход
          ЦЕЛОЕ: строка;                 // вход
          ПЕРЕМ СТРОКА: рез)             // выход

  // OK - CANCEL - CONTINUE
  ПЕРЕМ ПРОВОДКА: пров
  пров = оп.проводки[строка] 
  ПЕРЕМ сумма = оп.проводки[строка].количество * оп.проводки[строка].единицы.свойства["курс"]
  ЕСЛИ сумма >= 1000 ТО
    ЕСЛИ ВОПРОС("Сумма проводки - " + СТР(сумма) + "^s" + 
    "Вы действительно хотите удалить проводку?", НЕТ, "Удаление проводки") ТО
      рез = "CONTINUE"
    ИНАЧЕ
      рез = "CANCEL"
    КОНЕЦ_ЕСЛИ
  ИНАЧЕ
    рез = "CONTINUE"
  КОНЕЦ_ЕСЛИ
КОНЕЦ

См. также: