Имя: Пароль:
1C
 
Признак учета субконто
0 wwwqwert2014
 
29.08.14
21:55
Фишка задачи: номенклатура хранится в разрезе сроков годности, но стоимость расчитывается разрезе номенклатуры. То есть если был йогурт со сроком годности до 01.01.2015 и другой йогурт со сроком годности со сроком годности до 01.06.2015. Первый поступил на склад по цене 90р, второй по цене 110 р.
Когда будем списывать, то спишем 100 р.
Так вот. Для этого необходимо в расходной накладной соединить 2 таблицы остатков, из одной получим количество в разрезе сроков годности, а из другой себестоимость в разрезе номенклатуры.
Так вот. По поводу получения себестоимости.
По-хорошему нам не надо получать полностью таблицу остатков, а надо получить лишь то пол, где срокГодности не заполнен.
Я пробовал накладывать такие условия типа проверки на Null, неопределено, пустаяСсылка в запросе, но результата не дало. Пустоту возвращает.
Как правильно ограничить выбор записей в виртуальной таблице?
Вот скрин запроса и того что вернуло
На скрине 2 запроса: с проверкой на пустоту и без нее.
http://i68.fastpic.ru/big/2014/0829/05/c8a0e26e01e3754ba7e86753d1204305.png
1 wwwqwert2014
 
29.08.14
21:56
вот база http://rghost.ru/57752410
2 GROOVY
 
29.08.14
22:02
"Для этого необходимо в расходной накладной соединить 2 таблицы остатков, из одной получим количество в разрезе сроков годности, а из другой себестоимость в разрезе номенклатуры. "

Мне кажется, что вы просто не умеете с запросами работать.
3 wwwqwert2014
 
29.08.14
22:06
Почему не умею, я это и сделал
ВЫБРАТЬ
    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    РасходнаяНакладнаяСписокНоменклатуры.Количество,
    РасходнаяНакладнаяСписокНоменклатуры.Сумма
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
ГДЕ
    РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура КАК Номенклатура,
    ВТ.Количество КАК Количество,
    ВТ.Сумма КАК Сумма,
    ЕСТЬNULL(УправленческийОстатки.Субконто2, ЗНАЧЕНИЕ(Справочник.СрокиГодности.ПустаяСсылка)) КАК СрокГодности,
    ЕСТЬNULL(УправленческийОстаткиСумма.СуммаОстатокДт, 0) КАК СуммаОстатокДт,
    ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 0) КАК КоличествоОстатокДт,
    ВТ.Количество - ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 0) КАК Нехватка
ИЗ
    ВТ КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
                &МоментВремени,
                СЧет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Товары),
                ,
                Субконто1 В
                    (ВЫБРАТЬ
                        ВТ.Номенклатура
                    ИЗ
                        ВТ КАК ВТ)) КАК УправленческийОстаткиСумма
        ПО ВТ.Номенклатура = УправленческийОстаткиСумма.Субконто1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
                &МоментВремени,
                Счет = ЗНАЧЕНИЕ(ПланСчетов.управленческий.Товары),
                ,
                Субконто1 В
                        (ВЫБРАТЬ
                            ВТ.Номенклатура
                        ИЗ
                            ВТ КАК ВТ)
                    И НЕ(Субконто2 = НЕОПРЕДЕЛЕНО
                            ИЛИ Субконто2 = ЗНАЧЕНИЕ(Справочник.СрокиГодности.ПустаяСсылка))) КАК УправленческийОстатки
        ПО ВТ.Номенклатура = УправленческийОстатки.Субконто1
ИТОГИ
    МАКСИМУМ(Количество),
    МАКСИМУМ(Сумма),
    МАКСИМУМ(Количество) - СУММА(КоличествоОстатокДт) КАК Нехватка
ПО
    Номенклатура
4 wwwqwert2014
 
29.08.14
22:06
и всё у меня отработало
5 wwwqwert2014
 
29.08.14
22:09
Использование механизма соединения таблиц вместо того, чтобы задать значения параметров виртуальных таблиц    0,5 – 1,0

Меня это смущает. Если не отфильтровть всё по максимуму через параметры вирт таблицы - то получишь минус 0,5 балла
6 fimanich
 
29.08.14
23:03
(3) попробовать бы использовать 3-й параметр виртуальной таблицы регистра бухгалтерии...
7 wwwqwert2014
 
30.08.14
09:10
а вы можете подсказать, что надо было бы прописать в параметре виртуальной таблицы Субконто и какая разница, между тем, если бы я прописал это в разделе Условие?
8 wwwqwert2014
 
30.08.14
11:33
с проблемой разобрался. (6) спасибо за совет. Тема закрыта
Закон Брукера: Даже маленькая практика стоит большой теории.