Имя: Пароль:
1C
1С v8
Запрос Возврат товара от покупателя
,
0 AnaNav
 
29.03.16
16:50
Помогите вытянуть запросом :
Возврат товара от покупателя - Документ основание(реализация) - Сумма взаиморасчетов.
Конфигурация - УПП.

1. Реквизита ДокументОснование в документе Возврата - нет.
2. В ТЧ ДокументыРасчетовСКонтрагентом, если не стоит галочка в договоре контрагента "Вести по документу расчетов", Реализация не записывается.
3. Через критерий отбора у меня не получается вывести "Возврат-Реализация-Сумма".

Может я чего-то не вижу, не понимаю? Помогите, пожалуйста.
1 eklmn
 
гуру
29.03.16
17:00
если это вопрос "Может я чего-то не вижу, не понимаю?"
то ответ в вопросе
2 AnaNav
 
29.03.16
17:01
(1) Спасибо, очень помогли
3 AnaNav
 
29.03.16
17:14
писала так:

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

но, если в договоре контрагента не стоит флаг "По документам расчетов", то Возврат не попадает в эту выборку
4 ObjectRelation Model
 
29.03.16
17:27
а кто задачу ставил такую?
5 Джинн
 
29.03.16
17:29
(0) Если основания нет, то руками проставляется себестоимость.
6 AnaNav
 
29.03.16
17:36
(4) это нужно для отчета.
вывести: Документ реализации, в приходе - сумму документа реализации, в расходе - сумму всех документов возвратов, созданных на основании этой реализации.

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Организация,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
            ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор.ДокументОснование
        ИНАЧЕ ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор
                ИНАЧЕ ВЫБОР
                        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
                            ТОГДА Возвраты.ДокументРасчетовСКонтрагентомСсылка
                        ИНАЧЕ 0
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК ДокументРасчета,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход < 0
            ТОГДА 0
        ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход
    КОНЕЦ КАК Приход,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
            ТОГДА Возвраты.СуммаВзаиморасчетов
        ИНАЧЕ ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход < 0
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход * -1
                ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход
            КОНЕЦ
    КОНЕЦ КАК Расход,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход < 0
            ТОГДА 0
        ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход
    КОНЕЦ КАК ПриходУпр,
    ВЫБОР
        КОГДА Возвраты.СуммаВзаиморасчетов <> ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход < 0
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход * -1
                ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход
            КОНЕЦ
            ТОГДА ВЫРАЗИТЬ(ВЫБОР
                        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход < 0
                            ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход * -1
                        ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрРасход
                    КОНЕЦ * (Возвраты.СуммаВзаиморасчетов * 100 / ВЫБОР
                        КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход < 0
                            ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход * -1
                        ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход
                    КОНЕЦ) / 100 КАК ЧИСЛО(15, 2))
        ИНАЧЕ ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход < 0
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход * -1
                ИНАЧЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрРасход
            КОНЕЦ
    КОНЕЦ КАК РасходУпр
ПОМЕСТИТЬ БезГруппировки
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, &Дата, Регистратор, , ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Возвраты КАК Возвраты
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор = Возвраты.Ссылка
ГДЕ
    (ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
            ИЛИ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
            ИЛИ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее)
7 AnaNav
 
29.03.16
17:43
В Документе Возврат товаров от покупателя в ТЧ Товаы есть "Документ партии". Может через него можно связать возврат и реализацию?
или бред?
8 AnaNav
 
30.03.16
09:18
?
9 ObjectRelation Model
 
30.03.16
09:22
регистр продажи не поможет?
10 AnaNav
 
30.03.16
09:54
(9) Спасибо! Кажется получилось:



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

СГРУППИРОВАТЬ ПО
    Продажи.Регистратор,
    Продажи.ДокументПродажи



Только не могу теперь разобраться почему у двух документов в качестве документа продажи - регистратор(возврат)?

http://i.piccy.info/i9/2ec89f01adf5354acc6ef4bc9b88ce11/1459320720/26048/1019768/Snymok.png

Неправильно создан документ? не на основании реализации?
11 AnaNav
 
30.03.16
10:19
(9) Спасибо, все супер!
Если создавать документ Возврат на основании Реализации, то в регистр пишет все правильно!)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший