Имя: Пароль:
1C
1С v8
Сделать в запросе обращение к счету 41.04 (СКД)
0 Shecurok
 
15.03.21
11:35
Всем доброго дня.

Пишу внешний отчет для бух 2.0, на скд.
Основной костяк уже готов, но не могу вытащить сумму себестоимости со счета 41.04.

Т.е. необходимо как-то сделать обращение, ноо как-то прям не получается. То какие-то странные значения, то пустые (писал аналогично вложенный запрос таблице Sales, только соответственно указывал другой счет). Связи делал такие же Sales.Номенклатура = Влож.Номенклатура и т.д. Значения пустые выводит.
Как это вообще возможно реализовать?


ВЫБРАТЬ
    Sales.Номенклатура КАК Номенклатура,
    Sales.Контрагент КАК Покупатель,
    Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
    Sales.Количество КАК Количество,
    Sales.Сумма КАК Сумма,
    Sales.Цена КАК Цена,
    Sales.Регистратор КАК Регистратор,
    ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК Др,
    ВЫБОР
        КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
            ТОГДА 0
        ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
    КОНЕЦ КАК GP1_Percent1,
    PrimeCost.ЦенаСебест КАК ЦенаСебест,
    ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК COGS,
    Sales.СуммаБезНдс КАК Net_Sales_YTD
ИЗ
    (ВЫБРАТЬ
        ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
        ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
        ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
        ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
        ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
        ХозрасчетныйОборотыДтКт.СуммаНУОборотКт КАК СуммаБезНдс,
        ВЫБОР
            КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
                ТОГДА 0
            ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
        КОНЕЦ КАК Цена,
        ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
            ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
            ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
            ВЫБОР
                КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
                    ТОГДА 0
                ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
            КОНЕЦ КАК ЦенаСебест
        ИЗ
            РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
                    &НачПер,
                    &КонПер,
                    Период,
                    СчетДт = &Сч9002
                        ИЛИ СчетДт = &Сч9102,
                    ,
                    СчетКт = &Сч43
                        ИЛИ СчетКт = &Сч4101
                        ИЛИ СчетКт = &Сч4104
                        ИЛИ СчетКт = &Сч10,
                    ,
                    Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
        ПО Sales.Номенклатура = PrimeCost.Номенклатура
1 Shecurok
 
15.03.21
11:38
Да как тут красиво вставлять фрагменты кода не пойму
2 piter3
 
15.03.21
11:39
План счетов,проверить порядок субконто ном-ра
3 Shecurok
 
15.03.21
11:52
(2) проверял. Субконто1 является номенклатурой
4 VladZ
 
15.03.21
11:55
(0) "КАК PrimeCost" - сам-то не затра*ался переключаться с русского на буржуйский?
5 Shecurok
 
15.03.21
11:57
(2) А хотя в конфигруаторе в предопределнных данных субконто1 нет у этого счета. Но есть в пользовательском интерфейсе.
6 hhhh
 
15.03.21
11:58
(3) то что визуально она там стоит первая - это ни о чем не говорит, надо программно проверить. В БП 2.0 бывают такие ситуации, например Договор первое субконто, а Контрагент второе, хотя на первый взглял незаметно.
7 Shecurok
 
15.03.21
12:03
(6) интересно, не знал об этом.
8 youalex
 
15.03.21
12:19
(5) В запросе играет порядок в параметре (если задан массив или список), а не то как они расположены в конфигураторе:

Если параметр <Субконто> задан, то выбираются данные только по тем счетам, у которых определены все указанные виды субконто. При этом поля "Субконто<N>" будут содержать значения, соответствующие переданным видам субконто.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан