Имя: Пароль:
1C
1С v8
УТ 11.3 Обособленное обесепечение товаров. Возврат поставщику
,
0 Alex87r
 
09.09.17
20:34
Привет всем!

Не получается оформить возврат поставщику на основании документа поступления при обособленном обеспечении. Документ не проводится, выдает сообщение, что товара недостаточно. Можно сделать возврат поставщику без привязки к документу поступления, но этот вариант не устраивает. Может кто сталкивался, или в курсе?
Все документы создаю на основании другого. В отчете остатки и доступность товаров организаций, после оформления возврата от клиента появляется 1шт товара. НО если я формирую контекстный отчет из документа возврат товара поставщику, то по этому документу нет товара.
Заметил, что в регистре товары организаций - поступление и реализации с назначением, а возврат от клиента без назначения. ссылка https://yadi.sk/i/AUXDNm0t3MkFVz
В документе возврат товаров поставщику по умолчанию указано назначение. Если я очищаю назначение, то выдает другую ошибку: "Возврат по номенклатуре Бачок для приставного унитаза Tece 9 041 008 превышает количество закупленных товаров по документу поступления спЦБ-001552 на 1 шт"
1 Фрэнки
 
09.09.17
21:53
не хочу утверждать, что мое мнение в точности соотв. мнению разработчиков, но у меня сложилось такое понимание, что в подобных случаях поставку надо снимать с обособления и возвращать уже без привязки этой неудачи к обособленному учету... т.е. нет поступления. раз приходится делать возврат, значит и поступления нет.
2 Фрэнки
 
09.09.17
21:56
если глючит, то значит весь документ целиком придется "отвязать" от обособленной поставки, а не отдельные его строки - отменить его проведение, раздробить если нужно на поступление обособлено или общее, а уже затем проводить. Но это просто мнение. Я не тестил такую глючность в тех конфигах, что есть у меня, а номера релизов могут и не совпасть, например.
3 Злопчинский
 
09.09.17
22:21
А если возвращенное от клиента как-то по регистрам дописать обособление ?
4 Злопчинский
 
09.09.17
22:26
(0) по скрины видно что возврат делается сторнированием, но назначение не указано
Имхо посмотреть заполнение документам возврата тщательнее, не всегда ввод на основании позволяет точно заполнить все тонкости которые были списаны по регистрам, посмотри возврат, может там вручную партию или обособление как-то можно указать?
Посмотреть в пофигураторе - есть ли в возврате реквизиты подходящие...
5 Alex87r
 
09.09.17
22:57
(4)  В конфигураторе нету этих реквизитов. Но в документе возврата есть же ссылка на реализацию, а в ней указано назначение. Такая связь существует.
6 Злопчинский
 
10.09.17
00:37
(5) очень сомнительно
Ввод на основании всегда использовался для ОБЛЕГЧЕНИЯ заполнения документов и только потом в каких-то учетных целях.
Мне так кажется
С другой стороны - было поступление под обеспечение.
Это обеспечение закрывается посредством реализации.
Цепочка обеспечения своеиназначение выполнила. По идее да. С чего бы возврату как-то реанимировать уже выполненное обеспечение
...
Имхо
...
Могу лажать
7 Alex87r
 
10.09.17
11:10
(6) Ну смотри, я в возврате поставщику могу очистить поле назначение. Т.е. вроде как правил но, документ увидит остаток в регистре без назначения. Но при этом документ все равно не проводится, выдает другую ошибку:
"Возврат по номенклатуре Бачок для приставного унитаза Tece 9 041 008 превышает количество закупленных товаров по документу поступления спЦБ-001552 на 1 шт"
ссылка https://yadi.sk/i/VqsZuB9M3MkgmF
Т.е. при проведении документ смотрит еще документ основание - поступление. А там товар пришел под назначение.
Какой то замкнутый круг.
8 Фрэнки
 
10.09.17
11:29
(7) тебе надо сделать обороты с движением товара в базе и с учетом взаиморасчетов с Поставщиком, чтоб прошли обороты в кол-ве и сумме по регистрам для поступлений и по регистрам для оборотов? Тогда просто "отвяжи" полностью эту конкретную штуку от обособления, что и в поступлении не было назначения и в возврате не будет назначения. По идее, должно сойтись тогда.

Впрочем, это очевидное решение. Или разбирайся досконально, почему движение с документа возврат пытается двигать товар таким образом, что контроль/проверка остатков срабатывает с ошибками. На типовом механизме в 11.3 все проверки делаются по после выполненных движений, но внутри транзакции, открывающейся ПриПроведении документа.
9 Злопчинский
 
10.09.17
11:53
Тут хотелось бы понять где ошибка и есть ли ООНа на самом деле..?
1. Возврат от покупателя правильные движения делает по регистру или нет?
10 Alex87r
 
10.09.17
11:54
(8) После отгрузки клиенту я не могу отвязать заказ клиента от обеспечения.
Мне кажется это правильно, что возврат товара от клиента делает движение в регистр Товары орагнизаций без назначения. Товар оприходован без назначения, я могу его продать любому клиенту.
Но потом, когда я пытаюсь вернуть этот товар поставщику, выполняется проверка, в которой назначение в запросе участвует:
По хорошему, убрать бы проверку на назначение при возврате поставщику)


ВЫБРАТЬ
    ТаблицаТовары.Номенклатура            КАК Номенклатура,
    ТаблицаТовары.Характеристика        КАК Характеристика,

    ВЫБОР КОГДА ТаблицаТовары.СтатусУказанияСерий = 14 Тогда
        ТаблицаТовары.Серия
    ИНАЧЕ
        ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
    КОНЕЦ                                 КАК Серия,

    ВЫРАЗИТЬ(ТаблицаТовары.Назначение КАК Справочник.Назначения) КАК Назначение,
    ТаблицаТовары.КоличествоУпаковок    КАК КоличествоУпаковок,
    ТаблицаТовары.Количество            КАК Количество,
    ТаблицаТовары.ДокументПоступления    КАК ДокументПоступления
ПОМЕСТИТЬ ВТТаблицаТовары
ИЗ
    &ТаблицаПроверяемыеТовары КАК ТаблицаТовары
ГДЕ
    НЕ ТаблицаТовары.ДокументПоступления = ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка)
    И НЕ ТаблицаТовары.ДокументПоступления = НЕОПРЕДЕЛЕНО
ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Серия
;
ВЫБРАТЬ
    ВЫРАЗИТЬ(ТаблицаТовары.Номенклатура КАК Справочник.Номенклатура)    КАК Номенклатура,
    ТаблицаТовары.Характеристика            КАК Характеристика,
    ТаблицаТовары.Назначение                КАК Назначение,
    ТаблицаТовары.Серия                        КАК Серия,
    ТаблицаТовары.ДокументПоступления        КАК ДокументПоступления,
    СУММА(ТаблицаТовары.КоличествоУпаковок) КАК КоличествоУпаковок,
    СУММА(ТаблицаТовары.Количество)         КАК Количество
ПОМЕСТИТЬ ПроверяемыеТовары
ИЗ
    ВТТаблицаТовары КАК ТаблицаТовары
СГРУППИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    ТаблицаТовары.Назначение,
    Серия,
    ДокументПоступления
    
ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Серия;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(КорректировкаПоступления.Дата) КАК Дата,
    ПроверяемыеТовары.ДокументПоступления КАК СсылкаПоступления
ПОМЕСТИТЬ ДанныеКорректировки
ИЗ
    ПроверяемыеТовары КАК ПроверяемыеТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаПоступления КАК КорректировкаПоступления
        ПО (КорректировкаПоступления.ДокументОснование = ПроверяемыеТовары.ДокументПоступления)
ГДЕ
    КорректировкаПоступления.Проведен

СГРУППИРОВАТЬ ПО
    ПроверяемыеТовары.ДокументПоступления

ИНДЕКСИРОВАТЬ ПО
    СсылкаПоступления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МАКСИМУМ(КорректировкаПоступления.Ссылка) КАК Ссылка,
    МАКСИМУМ(КорректировкаПоступления.Ссылка.Дата) КАК Дата,
    КорректировкаПоступления.Ссылка.ДокументОснование КАК СсылкаПоступления
ПОМЕСТИТЬ ДанныеПоследнейКорректировки
ИЗ
    Документ.КорректировкаПоступления КАК КорректировкаПоступления
ГДЕ
    (КорректировкаПоступления.Ссылка.ДокументОснование, КорректировкаПоступления.Ссылка.Дата) В
            (ВЫБРАТЬ
                ДанныеКорректировки.СсылкаПоступления КАК СсылкаПоступления,
                ДанныеКорректировки.Дата КАК Дата
            ИЗ
                ДанныеКорректировки)
    И КорректировкаПоступления.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
    КорректировкаПоступления.Ссылка.ДокументОснование

ИНДЕКСИРОВАТЬ ПО
    Ссылка,
    СсылкаПоступления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВЫБОР
        КОГДА ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
            ТОГДА ПроверяемыеТовары.ДокументПоступления
        ИНАЧЕ ДанныеПоследнейКорректировки.Ссылка
    КОНЕЦ КАК Ссылка
ПОМЕСТИТЬ СсылкиНаПоступления
ИЗ
    ПроверяемыеТовары КАК ПроверяемыеТовары
        ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
        ПО ПроверяемыеТовары.ДокументПоступления = ДанныеПоследнейКорректировки.СсылкаПоступления

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КорректировкаПоступленияТовары.Номенклатура КАК Номенклатура,
    КорректировкаПоступленияТовары.Характеристика КАК Характеристика,
    КорректировкаПоступленияТовары.Серия КАК Серия,
    КорректировкаПоступленияТовары.Назначение КАК Назначение,
    СУММА(КорректировкаПоступленияТовары.КоличествоУпаковок) КАК КоличествоУпаковок,
    СУММА(КорректировкаПоступленияТовары.Количество) КАК Количество,
    СРЕДНЕЕ(КорректировкаПоступленияТовары.Цена) КАК Цена,
    КорректировкаПоступленияТовары.Ссылка.ДокументОснование КАК ДокументПоступления
ПОМЕСТИТЬ ДанныеПоступления
ИЗ
    Документ.КорректировкаПоступления.Товары КАК КорректировкаПоступленияТовары

ГДЕ
    КорректировкаПоступленияТовары.Ссылка.Проведен
    И (Номенклатура,Характеристика,Назначение,Серия) В
    (ВЫБРАТЬ
        ПроверяемыеТовары.Номенклатура КАК Номенклатура,
        ПроверяемыеТовары.Характеристика КАК Характеристика,
        ПроверяемыеТовары.Назначение КАК Назначение,
        ПроверяемыеТовары.Серия КАК Серия
    ИЗ
        ПроверяемыеТовары КАК ПроверяемыеТовары    
    ) И  (Ссылка) В
    (ВЫБРАТЬ
        СсылкиНаПоступления.Ссылка КАК Ссылка
    ИЗ
        СсылкиНаПоступления КАК СсылкиНаПоступления
    )

СГРУППИРОВАТЬ ПО
    КорректировкаПоступленияТовары.Номенклатура,
    КорректировкаПоступленияТовары.Характеристика,
    КорректировкаПоступленияТовары.Серия,
    КорректировкаПоступленияТовары.Назначение,        
    КорректировкаПоступленияТовары.Ссылка.ДокументОснование

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Характеристика,
    ПоступлениеТоваровУслугТовары.Серия,
    ПоступлениеТоваровУслугТовары.Назначение,
    СУММА(ПоступлениеТоваровУслугТовары.КоличествоУпаковок),
    СУММА(ПоступлениеТоваровУслугТовары.Количество),
    СРЕДНЕЕ(ПоступлениеТоваровУслугТовары.Цена),
    ПоступлениеТоваровУслугТовары.Ссылка
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка.Проведен
    И (Номенклатура,Характеристика,Назначение,Серия) В
    (ВЫБРАТЬ
        ПроверяемыеТовары.Номенклатура КАК Номенклатура,
        ПроверяемыеТовары.Характеристика КАК Характеристика,
        ПроверяемыеТовары.Назначение КАК Назначение,
        ПроверяемыеТовары.Серия КАК Серия
    ИЗ
        ПроверяемыеТовары КАК ПроверяемыеТовары
    ) И  (Ссылка) В
    (ВЫБРАТЬ
        СсылкиНаПоступления.Ссылка КАК Ссылка
    ИЗ
        СсылкиНаПоступления КАК СсылкиНаПоступления
    )
СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Характеристика,
    ПоступлениеТоваровУслугТовары.Серия,
    ПоступлениеТоваровУслугТовары.Назначение,
    ПоступлениеТоваровУслугТовары.Ссылка


ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    ДокументПоступления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаПроверяемыеТовары.Номенклатура КАК Номенклатура,
    ТаблицаПроверяемыеТовары.Характеристика КАК Характеристика,
    ТаблицаПроверяемыеТовары.Серия КАК Серия,
    ТаблицаПроверяемыеТовары.Назначение КАК Назначение,
    СУММА(ТаблицаПроверяемыеТовары.КоличествоУпаковок) КАК КоличествоУпаковок,
    СУММА(ТаблицаПроверяемыеТовары.Количество) КАК Количество,
    ТаблицаПроверяемыеТовары.ДокументПоступления КАК ДокументПоступления

ПОМЕСТИТЬ ДанныеДокументовВозврата
ИЗ
    ПроверяемыеТовары КАК ПроверяемыеТовары

    ЛЕВОЕ СОЕДИНЕНИЕ
        Документ.ВозвратТоваровПоставщику.Товары КАК ТаблицаПроверяемыеТовары
    ПО
        (ТаблицаПроверяемыеТовары.ДокументПоступления = ПроверяемыеТовары.ДокументПоступления)
        И ПроверяемыеТовары.Номенклатура = ТаблицаПроверяемыеТовары.Номенклатура
        И ПроверяемыеТовары.Характеристика = ТаблицаПроверяемыеТовары.Характеристика
        И ПроверяемыеТовары.Серия = ТаблицаПроверяемыеТовары.Серия
        И ПроверяемыеТовары.Назначение = ТаблицаПроверяемыеТовары.Назначение

ГДЕ
    ТаблицаПроверяемыеТовары.Ссылка.Проведен
    И ТаблицаПроверяемыеТовары.Ссылка <> &ЭтотВозвратСсылка

СГРУППИРОВАТЬ ПО
    ТаблицаПроверяемыеТовары.Номенклатура,
    ТаблицаПроверяемыеТовары.Характеристика,
    ТаблицаПроверяемыеТовары.Серия,
    ТаблицаПроверяемыеТовары.Назначение,
    ТаблицаПроверяемыеТовары.ДокументПоступления


ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика,
    Серия,
    ДокументПоступления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПроверяемыеТовары.Номенклатура КАК Номенклатура,
    ЕСТЬNULL(ДанныеПоступления.Количество, 0) - ЕСТЬNULL(ДанныеДокументовВозврата.Количество, 0) - ЕСТЬNULL(ПроверяемыеТовары.Количество, 0) КАК Количество,
    ПроверяемыеТовары.Характеристика КАК Характеристика,
    ПроверяемыеТовары.Серия КАК Серия,
    ПроверяемыеТовары.Назначение КАК Назначение,
    ПроверяемыеТовары.ДокументПоступления КАК ДокументПоступления,
    ПроверяемыеТовары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ПроверяемыеТовары.ДокументПоступления.Номер КАК НомерПоступления
ИЗ
    ДанныеПоступления КАК ДанныеПоступления
        ЛЕВОЕ СОЕДИНЕНИЕ ДанныеДокументовВозврата КАК ДанныеДокументовВозврата
        ПО ДанныеПоступления.ДокументПоступления = ДанныеДокументовВозврата.ДокументПоступления
            И ДанныеПоступления.Номенклатура = ДанныеДокументовВозврата.Номенклатура
            И ДанныеПоступления.Характеристика = ДанныеДокументовВозврата.Характеристика
            И ДанныеПоступления.Серия = ДанныеДокументовВозврата.Серия
            И ДанныеПоступления.Назначение = ДанныеДокументовВозврата.Назначение
        ПОЛНОЕ СОЕДИНЕНИЕ ПроверяемыеТовары КАК ПроверяемыеТовары
        ПО ДанныеПоступления.ДокументПоступления = ПроверяемыеТовары.ДокументПоступления
            И ДанныеПоступления.Номенклатура = ПроверяемыеТовары.Номенклатура
            И ДанныеПоступления.Характеристика = ПроверяемыеТовары.Характеристика
            И ДанныеПоступления.Серия = ПроверяемыеТовары.Серия
            И ДанныеПоступления.Назначение = ПроверяемыеТовары.Назначение
        
ГДЕ
    ЕСТЬNULL(ДанныеПоступления.Количество, 0) - ЕСТЬNULL(ДанныеДокументовВозврата.Количество, 0) - ЕСТЬNULL(ПроверяемыеТовары.Количество, 0) < 0
    И (ПроверяемыеТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
    ИЛИ (ПроверяемыеТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
        И НЕ ПроверяемыеТовары.ДокументПоступления.ВернутьМногооборотнуюТару))
11 Alex87r
 
10.09.17
11:56
(9) Я думаю, что да. Возврат от клиента делает сторно движений реализации, но без назначения. Ведь клиент отказался от товара, значит назначение не нужно использовать.
ссылка https://yadi.sk/i/AUXDNm0t3MkFVz
12 Злопчинский
 
10.09.17
12:04
(10)  привязка возвращаемых позиций к поступлению определяется чем? Указанием документа-основания? Или наличием остатка в какойнить регистре с привязкой к партии/поступлению?
13 Alex87r
 
10.09.17
12:11
(12) По запросу берется документ поступления товаров, с ним сравнивается.
Почему то я не могу засунуть в консоль запросов этот запрос.
По отладке вычислил момент, когда
Запрос.Выполнить().Выгрузить().
Скопировал значение Запрос.Текст - вставляю в консоль, он мне ошибки выдает. Как то странно.
14 Либерал
 
10.09.17
12:21
не проще написать вопрос в поддержку?
вдруг скажут "ок, исправим в будущих релизах"..
15 Alex87r
 
10.09.17
12:34
(14) Я написал, они неделю не отвечают. Хотел сам разобраться, или может кто сталкивался.
16 vitalen
 
10.09.17
18:28
(0) да сделай простой возврат  - не на основании, это не криминал
17 vitalen
 
10.09.17
18:33
или скорректируй назначение д-том Корректировка назначения
18 Alex87r
 
11.09.17
22:31
(16) Ну тип руками нужно заполнять док. Не очень удобно (17) Не получается. Если была реализация, нельзя менять назначение.
19 Злопчинский
 
11.09.17
23:50
(17) идея правильная, но неверная. При массовых возвратах - клепать корректировки?
20 Фрэнки
 
12.09.17
08:23
(18) такое впечатление, что путаница какая-то в представлениях, где назначение для обособления нужно применять, где не нужно, когда обособлено приход проводить, когда нет и т.д. и т.п.

Это надо досконально прорисовать на листках и окажется, например, что когда при оформлении Заказа клиента (а это для дальнейшей реализации) указано Назначение и Обособленное обеспечение, то и все движения по регистрам в цепочке <поставка> на этот Заказ должны закончиться связкой с созданным в Заказе клиента <Назначением>, иначе это Назначение просто остается необеспеченным и сделать возврат с таким Назначением конечно не получится.
21 Злопчинский
 
12.09.17
08:38
(20) ну так у автора при отгрузке вроде назначение закрылось...?
22 vitalen
 
12.09.17
08:59
(18) сейчас не могу проверить, но, по-моему, можно создать возврат на основании, а потом отвязать реализацию
23 Фрэнки
 
12.09.17
09:01
(21) так у него поставка частично или полностью приходуется без назначения по его же словам. А если нет обсобленной поставки, значит нет и обособленной отгрузки. Закрылось назначение или нет при такой отгрузке - не поймешь. Скорей всего закрылось с игнорированием возможных расхождений., чтоб в Заказ можно было проставить статус "закрыт". Но в бизнес-процессе теперь нужен возврат именно поставщику, хотя назначение "закрыто" отгрузкой клиенту... путаница какая-то... возврат от клиента даже если и проводится правильно, то назначения в нем скорее всего нет и даже не получится никак.