Имя: Пароль:
1C
1С v8
33 регистра
0 Powerfool
 
11.12.14
13:38
Вопрос знатокам: Как в КА 1.1.43.1 найти все платежи которые организация сделала поставщикам, имея реализацию по которой были проданы товары этих поставщиков?
В платежке есть ссылка на заказ поставщику, в регистрах партионных я вытаскиваю документ оприходования, чтобы из него получить заказ поставщику и связать их, но затык в том, что есть ещё документы "Оприходование товаров" (после инвентаризации) и "Комплектация номенклатуры" у которых такого реквизита нет.
1 vicof
 
11.12.14
13:38
Оприходование и комплектация - это не поступление от поставщиков
2 vde69
 
11.12.14
13:39
учет по партиям или усредненный?
3 Powerfool
 
11.12.14
13:40
(1) это я понимаю, но ведь перед комплектацией было поступление
(2) партии
4 Powerfool
 
11.12.14
13:41
(1) На ум приходит только рекурсивное получение документа-партии пока не прийдем к первому документу (Поступлению)
5 Powerfool
 
11.12.14
14:11
вира
6 Powerfool
 
12.12.14
08:04
Мож кому пригодится. Запрос получает поступление которое отстоит от реализации не дальше чем на 4 промежуточных документа (комплектация например). Товары оприходованные после инвентаризации (ОприходованиеТоваров) и все остальные "длинные" цепочки выбрасываются

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ПродажиСебестоимостьОбороты.Регистратор КАК Расход,
    ЗакупкиОбороты3.ДокументЗакупки КАК Приход
ИЗ
    РегистрНакопления.ПродажиСебестоимость.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиСебестоимостьОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты
        ПО ПродажиСебестоимостьОбороты.ДокументОприходования = ЗакупкиОбороты.ДокументЗакупки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты1
            ПО ПартииТоваровНаСкладахОбороты.ДокументОприходования = ЗакупкиОбороты1.ДокументЗакупки
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты1
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты2
                ПО ПартииТоваровНаСкладахОбороты1.ДокументОприходования = ЗакупкиОбороты2.ДокументЗакупки
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК ПартииТоваровНаСкладахОбороты2
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты3
                    ПО ПартииТоваровНаСкладахОбороты2.ДокументОприходования = ЗакупкиОбороты3.ДокументЗакупки
                ПО ПартииТоваровНаСкладахОбороты1.ДокументОприходования = ПартииТоваровНаСкладахОбороты2.Регистратор
            ПО ПартииТоваровНаСкладахОбороты.ДокументОприходования = ПартииТоваровНаСкладахОбороты1.Регистратор
        ПО ПродажиСебестоимостьОбороты.ДокументОприходования = ПартииТоваровНаСкладахОбороты.Регистратор
ГДЕ
    НЕ ЗакупкиОбороты3.ДокументЗакупки ЕСТЬ NULL