Не совсем понятно, что имеется ввиду под "FrontolManager 3", если ведётся речь про Фронтол 6, то несколько комментариев могу высказать.
Цитата: Насколько я понял, в FM создаётся сценарий
Да исходя из документации, а именно, "Руководство интегратора" подключается один сценарий (стр.104 - базовый пример использования обработчиков).
В данном случае, насколько я понимаю, никаких событий обрабатывать не требуется, а необходимо применить скидку из сценария по определенному алгоритму.
Если я верен в указанном выше утверждении, то необходимо в группе скидки добавить новую маркетинговую акцию.
Далее, в в ней добавить новое мероприятие с типом действия "автоматическая скидка из сценария", в которой указать на что будет распространяться скидка (чек либо позиция, процент либо сумма, ну и собственно название процедуры из скрипта).
В вашем случае, я бы сделал следующим образом:
1. Описал бы для себя, каким образом выглядит подарок (отдельная позиция товара, группа, классификатор и т.д.)
2. Добавил бы в сценарий по умолчанию функцию типа "disc(curPosition)", возвращающую нужное значение (для нужной позиции 0).
3. Внутри этой функции перебрал бы все позиции текущего документа
Код:
for ( frontol.currentDocument.position.index = 1;
frontol.currentDocument.position.index <= frontol.currentDocument.position.count;
frontol.currentDocument.position.index++ )
{...}
Описание внутренних объектов есть в руководстве интегратора.
4. Ну и добавил бы маркетинговую акцию с мероприятием "автоматическая скидка из сценария" на позицию.