Добавить работу с бонусными картами в 1С 7.7
Необходимо доработать форму заполнения накладной в одной из типовых конфигураций:
1)Добавить поле "номер карты" для контрагента на его странице. По-умолчанию назначить всем контрагентам карту №0.
2)При открытии накладной, в поле формы накладной подгружается номер карты этого контрагента.
3)Поле номера карты в накладной можно редактировать.
4)Рядом с номером карты в накладной есть кнопка "Проверить скидку". Алгоритм работы следующий:
- Делается http-запрос из 1С по определенному адресу. В качестве параметров - номер карты и сумма накладной.
- Удаленный скрипт (все такие скрипты уже реализованы) возвращает количество бонусов на карте. Формат JSON. Вот парсер для 1с: https://gist.github.com/r72cccp/9991957
- Открывается форма. Текст "Бонусов на карте: <: "Списать="" бонусы",="" кнопка="" "Сохранить".="" <="" p="">
- При сохранении формы проверяется, чтобы не было списано бонусов больше, чем есть на карте или чем сумма покупки
- Сумма покупки уменьшается на поставленное количество бонусов. Порядок такой: сначала снижается цена за первый товар, затем за второй и так далее. Нужно помнить, что количество товара каждого вида может быть больше единицы, поэтому цену уменьшать с учетом количества товара. Сумма уменьшается только в этой накладной, на сам товар в номенклатуре цена не меняется.
5)Рядом еще одна кнопка "Сгенерировать карту". Порядок обработки:
- http-запрос, который возвращает список видов карт
- появляется форма с "номер" (текстовое поле) и "тип карты" (combo-box), кнопка "сохранить"
- при сохранении отправляется http-запрос. Форма закрывается
- "номер карты" подставляется в "номер карты" в накладной.
6)При сохранении или проведении накладной происходит следующее:
- если у карты номер 0 или не указан, выдать предупреждение, что карта не указана. Кнопки: "Вернуться" и "Все равно продолжить".
- В контрагента сохраняется "номер карты"
- В печатной форме накладной должны показываться правильные суммы (уменьшенные на бонусы)
- Отправляется http-запрос с суммой покупки, номером карты и количеством списанных бонусов. Такой запрос отправляется не больше одного раза для каждой накладной (чтобы не плодить копии операций на сервере)
Если что-то в рамках задачи не реализуемо, обсудим, внесу коррективы в ТЗ.
В заявке пишите приблизительные цену и срок. Отвечу на все вопросы.