8.х Изменение статуса в документе ЗаказКлиента

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем sergqwert, 7 июл 2019.

  1. TopicStarter Overlay
    sergqwert
    Offline

    sergqwert

    Регистрация:
    27 ноя 2016
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Документ заказ клиента прилетает в 1с с сайта. Менеджеры обрабатывают документ и отправляют в "отборку на складе".(документ отборка),и документ посылка.
    После того как заказ отобран и понятно сколько товаров, какой объем, количество мест и т.д. будет, проводится документ "Посылка" В этот документ может быть включено много заказов одного клиента,
    которые проходили отборку.
    Далее в какой то момент посылку начинают паковать(это время называют время "Ч". Это тот момент когда до отправки осталось 30 минут. Заказы которые приходят после времени ч,
    попадают в следующий маршрут, время отправки которого еще не пришло). При этом перед упаковкой генерируется документ РТУ(расходная), печатается печатные формы.
    После роспечатки документов, посылку пакуют и клеят на нее наклейки с местами.
    После этого посылку включают в документ "Маршрутный лист". Водитель при получении своего маршрутного листа, перепикивает сканером все места, и таким образом фиксирует факт погрузки.

    Как при проведении документа посылка, или при погрузке посылки в маршруте изменять статус товара в заказе клиента? Если есть расходная(при проведении расходной), статус должен быть "готов к погрузке". Если он прошел погрузку то статус "в пути"(при проведении маршрутного листа). Документ Маршрутный лист не имеет движений.

    Процедура ПередЗаписьюДокументаЗаказКлиентаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения)

    Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | МаршрутныйЛистПосылки.Ссылка,
    | МаршрутныйЛистПосылки.Посылка,
    | МаршрутныйЛистПосылки.Ответственный,
    | ПосылкаЗаказыКлиента.ЗаказКлиента,
    | ПосылкаЗаказыКлиента.ЗаказКлиента.СтатусДляСайта
    |ИЗ
    | Документ.МаршрутныйЛист.Посылки КАК МаршрутныйЛистПосылки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посылка.ЗаказыКлиента КАК ПосылкаЗаказыКлиента
    | ПО МаршрутныйЛистПосылки.Ссылка = ПосылкаЗаказыКлиента.Ссылка
    |ГДЕ
    | МаршрутныйЛистПосылки.Ссылка = &Ссылка
    | И МаршрутныйЛистПосылки.Ссылка.Проведен = ИСТИНА
    | И МаршрутныйЛистПосылки.Ссылка.ПометкаУдаления = ЛОЖЬ
    | И ПосылкаЗаказыКлиента.ЗаказКлиента.СтатусДляСайта = &СтатусДляСайта"

    Запрос.УстановитьПараметр("СтатусДляСайта", Справочники.СтатусыЗаказов.НайтиПоНаименованию("Shipped"));
    Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
    тз=запрос.выполнить().выгрузить();
    Для Каждого ссылка из ТЗ Цикл
    ДокОбъект = тз.Ссылка.ПолучитьОбъект();
    ДокОбъект.Статус = тз.Статус;
    ДокОбъект.Записать(РежимЗаписидокумента.Запись);

    КонецЕсли;

    Конецпроцедуры

    Вложения:

    • unnamed.png
      unnamed.png
      Размер файла:
      109,5 КБ
      Просмотров:
      1
    Последнее редактирование: 8 июл 2019