Имя: Пароль:
1C
1С v8
Как правильно сторнировать документ возврата от покупателя?
0 termos
 
23.07.15
16:21
Добрый день, Уважаемые!

Возник следующий вопрос:

Бухгалтерия 3.0.39.60
Платформа 8.3.5.1517

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

Что сделали бухгалтера - сторнировали возврат с помощью ручной операции, но при проведении вновь созданного возврата (который идентичен первому просто дата начало июля) система ругается, что не реализовано товара меньше чем возвращается.

Посмотрел в чем проблема - выяснилось, что в запросе при получении количества реализованного товара система учитывает документы реализации, корректировки реализаций и возвраты товаров от покупателей, а движения сформированные ручными операциями не учитывает. Ниже будет сам кусок запроса, который "не подхватывает" движения ручных операций (в условии ГДЕ расписано всё).

Итак, сам ВОПРОС - что сделано неправильно? Может каким то особенным способом сторнируется документ возврата? Как решить данную ситуацию?

Фрагмент запроса для более полного понимания ситуации:

ВЫБРАТЬ
    ОборотыДтКт.СубконтоКт1 КАК Номенклатура,
    ОборотыДтКт.СубконтоКт2 КАК Партия,
    ОборотыДтКт.СчетКт КАК СчетУчета,
    СУММА(ОборотыДтКт.СуммаОборот) КАК Сумма,
    СУММА(ЕСТЬNULL(ОборотыДтКт.СуммаНУОборотКт, 0)) КАК СуммаНУ,
    СУММА(ЕСТЬNULL(ОборотыДтКт.СуммаПРОборотКт, 0)) КАК СуммаПР,
    СУММА(ЕСТЬNULL(ОборотыДтКт.СуммаВРОборотКт, 0)) КАК СуммаВР,
    СУММА(ОборотыДтКт.КоличествоОборотКт) КАК Количество

ПОМЕСТИТЬ ВТ_СписанныеТовары
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
        ,
        &КонДата,
        Регистратор,
        ,
        ,
        СчетКт В (&СчетКтПартионный),
        &ВидыСубконтоПартий,
        СубконтоКт1 В (&Товары)
    ) КАК ОборотыДтКт
ГДЕ
    (ОборотыДтКт.Регистратор = &Регистратор
                И ОборотыДтКт.КоличествоОборотКт >= 0
            ИЛИ ОборотыДтКт.Регистратор ССЫЛКА Документ.КорректировкаРеализации
                И ОборотыДтКт.Регистратор <> &ЭтотВозврат
                И ВЫРАЗИТЬ(ОборотыДтКт.Регистратор КАК Документ.КорректировкаРеализации).ИсправляемыйДокументРеализации = &Регистратор
            ИЛИ ОборотыДтКт.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
                И ОборотыДтКт.Регистратор <> &ЭтотВозврат
                И ОборотыДтКт.КоличествоОборотКт <= 0
                И ВЫРАЗИТЬ(ОборотыДтКт.Регистратор КАК Документ.ВозвратТоваровОтПокупателя).Сделка = &Регистратор)

СГРУППИРОВАТЬ ПО
    ОборотыДтКт.СчетКт,
    ОборотыДтКт.СубконтоКт1,
    ОборотыДтКт.СубконтоКт2
1 termos
 
23.07.15
16:36
К слову, если скорректировать условия ГДЕ в данном запросе добавив документ "ОперацияБух", то по логике вещей должен будет возврат провестись, но ведь это не дело - менять конфигурацию из-за этого. Ведь, возможно, я что-то не понимаю и делаю не так?
2 Garykom
 
гуру
23.07.15
16:37
добавь операциями чего не хватает
3 termos
 
23.07.15
16:48
(2) В том то и дело, что операциями сделано всё корректно, но при проведении возврата №2 - он не проводится из-за этого условия:

ГДЕ
    (ОборотыДтКт.Регистратор = &Регистратор
                И ОборотыДтКт.КоличествоОборотКт >= 0
            ИЛИ ОборотыДтКт.Регистратор ССЫЛКА Документ.КорректировкаРеализации
                И ОборотыДтКт.Регистратор <> &ЭтотВозврат
                И ВЫРАЗИТЬ(ОборотыДтКт.Регистратор КАК Документ.КорректировкаРеализации).ИсправляемыйДокументРеализации = &Регистратор
            ИЛИ ОборотыДтКт.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
                И ОборотыДтКт.Регистратор <> &ЭтотВозврат
                И ОборотыДтКт.КоличествоОборотКт <= 0
                И ВЫРАЗИТЬ(ОборотыДтКт.Регистратор КАК Документ.ВозвратТоваровОтПокупателя).Сделка = &Регистратор)
4 termos
 
23.07.15
16:49
(2) Т.к. не видит остатков, которые создаются при сторнировании документа возврата операциями
5 termos
 
23.07.15
16:51
Данный запрос формируется и исполняется в общем модуле "УчетТоваров", функция ПодготовитьТаблицуВозвращенныеСписанныеТовары
6 termos
 
23.07.15
16:55
ИЛИ ОборотыДтКт.Регистратор ССЫЛКА Документ.ОперацияБух
И ОборотыДтКт.КоличествоОборотКт >= 0

Если добавить эти строки в условие, то я думаю, что всё будет проводится, но вопрос - корректно ли вообще решать эту ситуацию таким образом?
7 Garykom
 
гуру
23.07.15
16:58
(4) ну так вот и добавь эти остатки чтобы "увидел"
8 termos
 
23.07.15
17:02
(7) так по условию же видно, что он не собирает движения созданные с помощью операций... И к тому же - сейчас уже есть документ операция в котором добавлены эти остатки для того, чтобы сторнировать документ возврата, но система их не видит. Что поменяется, если я сделаю ещё одну операцию?? Объясните, пожалуйста, может я не правильно что-то понимаю?
9 termos
 
23.07.15
17:03
собирает движения только по реализации, корректировке реализации и возврат товаров от покупателя
10 samozvanec
 
23.07.15
17:17
(8) он имеет в виду изменение запроса так, чтоб тот учитывал ручную операцию
11 MiamiVice
 
23.07.15
17:29
Может тогда ввести не ОперациюБух, а документ пустышку ( корректировка, возврат) с ручными проводками, такими же как в ОперацииБух, чтобы подхватил обороты.
12 Garykom
 
гуру
23.07.15
17:36
(11) а может просто операцию "с правильными субконто" завести? типа партии там указать?
13 MiamiVice
 
23.07.15
17:55
(12) Судя по приведенному запросу, проверяется регистратор.
14 MiamiVice
 
23.07.15
17:57
Берутся обороты реализации, документов "корректировка реализации" на основании этой реализации и возвратов на основании этой реализации. Другие обороты несмотря на субконто игнорируются.