Имя: Пароль:
1C
 
УТ. разброс заявки покупателя по всем складам
0 asder117
 
05.04.17
11:43
Доброе время суток. Есть предприятие на котором установлены БП и УТ 10.3 все работает прекрасно. Появилась новая задача и как ее решить на УТ понять не могу. Есть операторы принимающие заказы на товары. товары собираются на 4 складах. Как можно реализвать разброс заявки покупателя по всем складам, причем чтобы в список склада1 не попала номенклатура склада2 и т.д. Чтобы небыло путаницы и тормозов при наборе заказа. Желательно им вообще отправлять туда на принтера чеков. Спасибо за информацию.
1 Злопчинский
 
05.04.17
12:46
(0) реализовать можно руками.
Вопрос конкретно в чем?
2 Kondarat
 
05.04.17
13:01
(0) Размещение?
3 Михаил Козлов
 
05.04.17
13:02
В заказе работает резервирование по доступным складам (справочник групп доступности складов)
4 asder117
 
05.04.17
13:24
(1) Сергей приветсвую. Я понял что руками и сделать могу но не пойму как "Как можно реализвать разброс заявки покупателя по всем складам, причем чтобы в список склада1 не попала номенклатура склада2 и т.д. Чтобы небыло путаницы и тормозов при наборе заказа. Желательно им вообще отправлять туда на принтера чеков." т.е. им пришел заказ ониего на принтере или мониторе (нужные позиции) увидели и начали собирать
(2) не размещение...Размещение это адресное хранилище мне надо собрать заказ и 4 складов. и еще раз говорю на монитор или принтер каждого склада должна попадать та инфа которая нужна именно этому складу. (3) Я понял что резервирование...В резерв поставили а как складу сказать чтобы они собирали именно то...
5 Kondarat
 
05.04.17
13:29
(4) При чем здесь адресное хранилище. Речь идет о размещении номенклатуры в табличной части. В заказе покупателя для каждой строки табличной части можно указать склад на котором будет создан резерв. А уж как об этом оповестить нужный склад - дело рук программиста.
6 SeriyP
 
05.04.17
13:31
(0) Могу показать код процедуры распределения по складам только для Документы.ЧекККМ. Надо?
7 asder117
 
05.04.17
14:14
(5) Вот теперь понял. Я это планировал сделать при этом склад будет определятся по номенклаурной группе
(6) Буду благодарен. буду ждать
8 SeriyP
 
05.04.17
14:39
(7) Реализовано через внешнюю обработку заполнения табличных частей. Менеджер набивает один чек независимо от склада, жмет кнопку "Распределить по складам", чек соответственно "делится" на нужное количество складов (в нашем случае - 2), проводятся чеки (читай-резервируются) и выводится отдельный список чеков для распечатки. Вот основная процедура:
Процедура СформироватьЧекиККМПоСкладам()
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ДокументОбъект.Ссылка);
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ДокЧек.*,
                   |    ЕстьNULL(МестаХраненияНоменклатуры.Склад,ДокЧек.Ссылка.Склад) КАК Склад
                   |ИЗ
                   |    Документ.ЧекККМ.Товары КАК ДокЧек
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
                   |        ПО ДокЧек.Номенклатура = МестаХраненияНоменклатуры.Номенклатура
                   |ГДЕ
                   |    ДокЧек.Ссылка = &ТекущийДокумент";

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    ТаблицаСклады=РезультатЗапроса.Скопировать(,"Склад");
    ТаблицаСклады.Свернуть("Склад");
    Если ТаблицаСклады.Количество()=1 Тогда
        ДокументОбъект.Склад=ТаблицаСклады[0].Склад;
        Попытка
            ДокументОбъект.Записать();
            НоваяСтрокаЧекиККМ=ЧекиККМ.Добавить();
            НоваяСтрокаЧекиККМ.ЧекККМ=ДокументОбъект.Ссылка;
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
    Иначе
        Если НЕ ЗначениеЗаполнено(ДокументОбъект.Склад) Тогда
            ДокументОбъект.Склад=ТаблицаСклады[0].Склад;
        КонецЕсли;
        Для Каждого СтрокаТаблицаСклады Из ТаблицаСклады Цикл
            СсылкаСклад=СтрокаТаблицаСклады.Склад;
            СтруктураОтбор=Новый Структура("Склад",СсылкаСклад);
            МассивСтрокиПоСкладу=РезультатЗапроса.НайтиСтроки(СтруктураОтбор);
            ТабицаЗначенийТовары=ТабличнаяЧастьДляЗаполнения.ВыгрузитьКолонки();
            Для Каждого ЭлементМассива Из МассивСтрокиПоСкладу Цикл
                СтрокаТаблицыЗначенийТовары=ТабицаЗначенийТовары.Добавить();
                ЗаполнитьЗначенияСвойств(СтрокаТаблицыЗначенийТовары,ЭлементМассива);
            КонецЦикла;
            Если СсылкаСклад=ДокументОбъект.Склад Тогда
                ТабличнаяЧастьДляЗаполнения.Загрузить(ТабицаЗначенийТовары);
                ДокументОбъект.Оплата[0].Сумма=ТабицаЗначенийТовары.Итог("Сумма");
                Попытка
                    ДокументОбъект.Записать();
                    СсылкаДокументЧекККМ=ДокументОбъект.Ссылка;
                Исключение
                    Сообщить(ОписаниеОшибки());
                КонецПопытки;
            Иначе
                СсылкаДокументЧекККМ=СоздатьДокументЧекККМ(СсылкаСклад,ТабицаЗначенийТовары);
            КонецЕсли;
            НоваяСтрокаЧекиККМ=ЧекиККМ.Добавить();
            НоваяСтрокаЧекиККМ.ЧекККМ=СсылкаДокументЧекККМ;
        КонецЦикла;
    КонецЕсли;
    Для Каждого СтрокаТабличнойЧасти Из ЧекиККМ Цикл
        ЧекККМОбъект=СтрокаТабличнойЧасти.ЧекККМ.ПолучитьОбъект();
        Попытка
            ЧекККМОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный);
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
    КонецЦикла;
КонецПроцедуры
9 asder117
 
05.04.17
14:44
(8) Спасибо посмотрю. попробую разобраться. А печатаются на одно принтере чеком или на принтерах чеков складов?
10 SeriyP
 
05.04.17
14:54
печатает менеджер вручную стандартным образом на нужный ему принтер (обычный), стоящий рядом с ним
11 asder117
 
05.04.17
15:02
(10) т.е потом сам разносит? я же хотел чтобы печаталось на принтерах установленных на складах.
12 SeriyP
 
05.04.17
15:10
у нас вместе с товарным чеком печатается товарная накладная, которую покупатель сам несет на склад и получает товар :-)
13 SeriyP
 
05.04.17
15:14
(11) Ну и пусть менеджер пускает на печать документ на нужный принтер: обзовите их "Склад1", "Склад2"...
14 asder117
 
05.04.17
16:08
(13) т.е рспечатка идет не на фискальном принтере фр а на простом. а формат тогда какой? принцип я понял вроде.
15 Михаил Козлов
 
05.04.17
16:35
(14) Не понял. зачем для заказа фискальный принтер.
Насколько я понял, формируете столько табличных документов, сколько разных складов и каждый из них показываете.
А оператор уже печатает их на нужных принтерах.
16 asder117
 
05.04.17
16:38
(15) Просто е понятно было. теперь понял. когда разложил все
17 Злопчинский
 
05.04.17
20:40
Как бы делал я
Приоритеты складов
Одна и та же номенклатура может быть на любом складе или даже на нескольких сразу.
Распределение по складам делает обработка.
Если товар можно набрать на одном складе то берет его
Если на нескольких складах то выбирается вариант с минимизацией колвс складов или минимищации суммарного количества партий тут кому что надо, при прочих равных условиях - по приоритетами складов
18 Злопчинский
 
05.04.17
20:41
А уж вплюнуть разбивку на склад - вообще не вопрос
19 asder117
 
17.04.17
01:10
(18) Сергей спасибо
20 grigo
 
17.04.17
12:48
в УТ есть обработка, она вроде бы из заказа запускается, по распределению товаров заказа по складам. "Авторазмещение/авторезервирование" - кажется, так.
21 Злопчинский
 
17.04.17
12:51
(19) пожалуйста, правда непонятно за что ;-)
22 asder117
 
17.04.17
13:52
(20) видел но это немного не-то. я вроде придумал, поковыряв (8) и из этого родился Как избавиться от нескольких табличных документов т.к. получается в моем случае использование нескольких макетов или табдоков т.к печаить необходима на разных принтерах...
А (21) за толчек к мысли и если есть возможность глянуть указанный топик может тоже натнкешь на умну мыслю
Спасибо
23 Maniac
 
17.04.17
14:20
Для опта http://subsystems.ru/catalog/program=141/
Для розницы http://subsystems.ru/catalog/rubric=34/

Описание


Продажа с нескольких складов.

В программе реализован функционал, позволяющий оформлять одновременный подбор сразу с нескольких складов в корзину.

В Управлении торговлей 10 есть несколько вариантов работы.
В настройках параметров учета (Сервис - Настройки учета) есть опция: Указание складов в табличных частях документов.
Данная опция позволяет выписывать в одном документе товары с разных складов.
Например, в заявке и реализации один товар может быть указан с одного склада, другой с другого.  

Помощник продаж позволяет менеджеру видеть все остатки в разрезе складов в дополнительном окне.
Подбор происходит очень просто, в корзину заполняется склад по выбранной строке с детальными остатками.  

Какие есть проблемы с документами на несколько складов.
Есть ряд неудобств. В первую очередь при физической работе компании.
На одном складе производят отгрузку своей части накладной.
И тут начинаются проблемы. При печати таких документов (торг12, счет-фактура) в накладных нет никакого деления на склад.
И вы просто столкнетесь с тем что работа станет у всей бухгалтерии и склада.  

Опция Разбивать документы по складам.  

Что это дает. Менеджер по прежнему может из одного подбора набивать корзину с разных складов.
При нажатии на создание документов, программа не будет создавать один документ на все склады.
Обработка автоматически разобьет корзину и создаст и отроет менеджеру на каждый склад отдельный документ.

Теперь между складами не будет путаницы и все могут нормально работать.
24 asder117
 
17.04.17
14:29
(23) Спасибо. это глобально конечно. но денюжек на енто не дадут сказав пиши сам на кой ты нам такой красивый