Имя: Пароль:
1C
1С v8
УТ 10.3 заказ покупателя
0 vasla999
 
02.11.11
17:11
В шапке документа при открытии прекрасно заполняются значения из настроек пользователя (Организация, основной покупатель, основной склад).

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

В шапке при открытии не заполняется поле Склад/группа, но можно выбрать эту группу вручную - неудобно каждый раз тыкать мышкой. Для чего тогда в настройках пользователя определяется эта самая группа доступности? Неужели только для подбора номенклатуры?
1 Михаил Козлов
 
02.11.11
17:16
В основном, для резервирования. Склад из шапки заказа покупателя используется как предпочтительный.
2 vasla999
 
02.11.11
17:22
Но, позвольте. Когда я выбираю группу доступности в шапке, то при авто-резервировании происходит резервирование товаров по всем описанным группой складам.

...тогда уж не предпочтительный а просто тот, что будет выбираться в табличной части всегда.
3 vasla999
 
02.11.11
17:45
up а?
4 Михаил Козлов
 
02.11.11
17:46
Если Вы посмотрите код заполнения размещения, то увидите (в процедуре общего модуля УправлениеЗаказами Заказ_ЗаполнитьТабличныеЧастиВозможнымРазмещением
ЗапросСвободныйОстаток.УстановитьПараметр("ПредпочтительноеРазмещение", ?(ТипЗнч(СкладГруппа) = Тип("СправочникСсылка.Склады"), СкладГруппа, СкладПоУмолчанию));

Т.е. если в шапке стоит группа, то берется из настроек, если склад - то из шапки.
Резервирование всегда делается по складам группы доступности (если не ошибаюсь).
5 slavik013
 
02.11.11
17:49
если указан склад - то он как предпочтительный при резервировании, если группа - то резервируется только на складах из группы. Из настроек пользователя в документ подставляется только склад, группа не подставляется.
6 Михаил Козлов
 
02.11.11
17:54
Возможно, у меня под рукой другой релиз УТ, но (в этой же процедуре далее):

Если ЗначениеЗаполнено(СкладГруппа)
           И ТипЗнч(СкладГруппа) = Тип("СправочникСсылка.ГруппыДоступностиСкладов") Тогда
           ГруппаДоступностиСкладов = СкладГруппа;
       Иначе
           ГруппаДоступностиСкладов = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ГруппаДоступностиСкладов");
       КонецЕсли;

Т.е. если в шапке группа, то резервирование по ее складам, иначе по группе доступности из настроек.
7 shuhard
 
02.11.11
17:55
(6) ТС не об этом,
ему обидно, что в настройках пользователя группа, а а Заказе ни куя
8 vasla999
 
02.11.11
17:57
(7) совершенно в точку. шо делать ума не приложу. вроде как должно работать, но похоже работать напильником придется.
9 slavik013
 
02.11.11
17:59
ну то есть оно резервируется в рамках складов группы в настройках, тока группа на формочку не встает
10 Михаил Козлов
 
02.11.11
18:03
(7) И чему это мешает? Логика УТ как раз понятная:
- указал основной склад, как предпочтительный;
- указал в настройках группу доступности.
Резервирование будет происходить по группе (из настроек), а склад из настроек будет предпочтительным.
Зачем группа в шапке? Только если хочешь изменить группу доступности.
11 vasla999
 
02.11.11
19:48
Методом проб и ошибок удалось наконец-то понять прЫнцып действия.
Предпочтительный склад вообще не надо указывать (по крайней мере в моем случае).

Указывается в настройке юзера группа доступности складов. В шапке группа не отображается (оно и нафиг не надо). Товар попадает в резерв только с доступных складов.

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

Такой заказ не удается провести, получаем служебное сообщение "в строке номер Х не указан склад". Удаляем лишнюю строку (товар которого нет на доступном складе) и проводим заказ.