Копирование продажи

Добрый день. При копировании продажи не копируются продукты в новую продажу. Как изменить логику копирования продажи?

Нравится

3 комментария

Добрый день, Александр!

Данная идея уже зарегистрирована у команды разработки для реализации в следующих версиях системы. Номер проблемы 3762
Если Вы хотите реализовать перенос своими силами, для решения данного вопроса Вы можете воспользоваться базовым функционалом системы в виде бизнес-процессов, создав свой процесс. В данном процессе необходимо первым элементом вычитать создаваемую продажу, вторым чтением данных ту, из которой создается, третьим элементом "чтение данных" вычитать деталь "продукт в продаже" и четвертым элементом "добавление данных" перенести все продукты. Перед построением своего процесса рекомендуем ознакомится с руководством пользователя по работе с бизнес-процессами: https://academy.terrasoft.ua/documents/technic-bpms/7-9/obzor-funkciona…

Мария, благодарю за своевременный ответ. Хотел уточнить один момент. При создании данного бизнес-процесса какие отличия будут в первом чтении данных продажи от второго чтения данных продажи (как мне в свойствах указать, что читаю данные из копируемой продажи и исходной продажи)?

"Мария Ватулина" написал:

В данном процессе необходимо первым элементом вычитать создаваемую продажу, вторым чтением данных ту, из которой создается, третьим элементом "чтение данных" вычитать деталь "продукт в продаже" и четвертым элементом "добавление данных" перенести все продукты.

Здравствуйте!

Решение с процессом корректно, однако реализация должна быть другой. Есть два варианта:
1) Требующий навыков программирования на JS (для создания действия, которое будет вызывать процесс из раздела)
2) Не требующий навыков программирования.

В первом варианте:

  • Создайте параметр с типом "Уникальный идентификатор". Назовем его RecordId
  • Общая структура процесса

  • Начальный элемент
  • Элемент добавить данные в режиме выборки. Добавляем данные в объект "Продажа". Выборка по объекту "Продажа". Фильтр выборки Id = [#RecordId#]
  • Элемент добавить данные в режиме выборки. Добавляем данные в объект "Продукт в продаже". Выборка по объекту "Продукт в продаже". Фильтр выборки Продажа = [#RecordId#]
  • Конец процесса

Также можно вначале процесса добавить проверку, что параметр RecordId != Guid.Empty (проверка, что процесс запущен по записи, а не вручную).

Дополнительно нужно создать действие в разделе, который вызовет указанный процесс по выделенной записи. Например, можно создать кнопку в разделе. Подробнее можно найти по ссылке:
http://www.community.terrasoft.ru/forum/topic/14042

В втором варианте:

    Общая структура процесса
  • Начальный элемент
  • Автогенерируемая страница с полем выбора из справочника "Продажа"
  • Элемент добавить данные в режиме выборки. Добавляем данные в объект "Продажа". Выборка по объекту "Продажа". Фильтр выборки Id = [#Автогенерируемая страница.Продажа#]
  • Элемент добавить данные в режиме выборки. Добавляем данные в объект "Продукт в продаже". Выборка по объекту "Продукт в продаже". Фильтр выборки Продажа = [#Автогенерируемая страница.Продажа#]
  • Конец процесса

Такая реализация требует дополнительного действия пользователя.

Показать все комментарии