Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 12:13

Дата в запросе

Автор Андрей Бутенко, 01 сен 2022, 09:38

0 Пользователей и 1 гость просматривают эту тему.

Андрей Бутенко

Здравствуйте! Подскажите пожалуйста, как получить в запросе документы до конкретной даты, заданной в запросе? Вроде как нужно что то подставить после левого соединения перед запятой
"ВЫБРАТЬ
                | НоменклатураДокумента.Номенклатура,
                | НоменклатураДокумента.КоличествоВДокументе КАК Количество,
                | НоменклатураДокумента.СуммаВДокументе КАК Сумма,
                | ЕСТЬNULL(ОстаткиТоваровОстатки.СтоимостьОстаток, 0) КАК Стоимость,
                | ЕСТЬNULL(ОстаткиТоваровОстатки.КоличествоОстаток, 0)
                |ИЗ
                | НоменклатураДокумента КАК НоменклатураДокумента
                | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(
                | ,
                | Номенклатура В
                | (ВЫБРАТЬ
                | НоменклатураДокумента.Номенклатура
                | ИЗ
                | НоменклатураДокумента)) КАК ОстаткиТоваровОстатки
                | ПО НоменклатураДокумента.Номенклатура = ОстаткиТоваровОстатки.Номенклатура";


LexaK

Андрей Бутенко,
Цитироватьконкретной даты, заданной в запросе?
в приведенном фрагменте, даты заданной в запросе - вообще не видно!

выкладывайте весь запрос с установкой параметров,
и попробуйте еще раз описать что за дата, и как вы планируете ее использовать?

Например: хочу получить остатки на дату документа
если помогло нажмите: Спасибо!

Андрей Бутенко

LexaK, Именно так. Хочу получать остатки на дату документа.
Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос2.Текст = "ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура,
| НоменклатураДокумента.КоличествоВДокументе КАК Количество,
| НоменклатураДокумента.СуммаВДокументе КАК Сумма,
| ЕСТЬNULL(ОстаткиТоваровОстатки.СтоимостьОстаток, 0) КАК Стоимость,
| ЕСТЬNULL(ОстаткиТоваровОстатки.КоличествоОстаток, 0) КАК Остаток
|ИЗ
| НоменклатураДокумента КАК НоменклатураДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура
| ИЗ
| НоменклатураДокумента)) КАК ОстаткиТоваровОстатки
| ПО НоменклатураДокумента.Номенклатура = ОстаткиТоваровОстатки.Номенклатура";

Движения.ОстаткиТоваров.Записать();
РезультатЗапроса = Запрос2.Выполнить();

LexaK

Андрей Бутенко,
ЦитироватьИменно так. Хочу получать остатки на дату документа.
Вот!!! уже гораздо понятнее!  :D

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


если помогло нажмите: Спасибо!

Теги: дата Запрос 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск