Имя: Пароль:
1C
 
как правильно написать запрос?
0 YamEgor
 
01.03.20
16:26
ДОбрый день! Бухгалтерия для Казахстана 3.0 из Регистра бухгалтерии Типовой запросом получаю данные по счету СебестоимостьРеализованнойПродукцииИОказанныхУслуг, на этом счете два субконто СтатьиЗатрат и НоменклатурныеГруппы
]

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТиповойОстатки.СуммаОстатокДт КАК РеалТоваров_7010
        |ИЗ
        |    РегистрБухгалтерии.Типовой.Остатки(&Дата, Счет = &Счет,&Суб_7010 , ) КАК ТиповойОстатки";
    
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Счет", ПланыСчетов.Типовой.СебестоимостьРеализованнойПродукцииИОказанныхУслуг);
    
    Суб_7010 = Новый Массив;
    Суб_7010.Добавить(ПланыВидовХарактеристик.ВидыСубконтоТиповые.СтатьиЗатрат);
    Суб_7010.Добавить(ПланыВидовХарактеристик.ВидыСубконтоТиповые.НоменклатурныеГруппы);
    
    Запрос.УстановитьПараметр("Суб_7010", Суб_7010);          
    
    РезультатЗапроса = Запрос.Выполнить();    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        РеалТоваров_7010=ВыборкаДетальныеЗаписи.РеалТоваров_7010;
    КонецЦикла;

и сейчас сумма выбирается, но я хочу получить результат по определенной номенклатурной группе которая была указана в документе и для этого я попробовал ставить условие на это субконто

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

    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        РеалТоваров_7010=ВыборкаДетальныеЗаписи.РеалТоваров_7010;
    КонецЦикла;


и тогда ничего не выбирается, как можно правильно поставить условие?
1 hhhh
 
01.03.20
19:42
(0) может

   Суб_7010 = Новый Массив;
    Суб_7010.Добавить(ПланыВидовХарактеристик.ВидыСубконтоТиповые.НоменклатурныеГруппы);

и НоменклатурныеГруппы сделать субконто1
2 YamEgor
 
02.03.20
10:16
(1) нет так не получается тоже
3 cons24
 
02.03.20
11:48
так что засунуто в НоменклатурнаяГруппа_РеалТоваров?
4 YamEgor
 
02.03.20
12:01
(3) ну это реквизит на форме который соответствует Субконто2, в данном случае это справочник НоменклатурныеГруппы, и я выбираю необходимую группу на форме и хочу получить по этой группе данные из регистра. Просто это отчет где по одному счету, но по разным субконто, скажем по разным номенклатурным группам, надо получать значение из регистра
5 catena
 
02.03.20
12:27
(2)Что значит "не получается". Берешь консоль запросов и строишь там рабочий запрос. Вариант (1) корректный.
6 Ns33
 
02.03.20
12:31
Собственно да, смотришь код в консоли, и если там пусто, начинаешь с отключения условия на сравнение с конкретными значениями субконто. Общий алгоритм - постепенно отключать условия.
7 YamEgor
 
02.03.20
12:36
(5) "не получается" - это значит не выбираются значение по этому субконто из регистра
8 s_newbi
 
02.03.20
12:39
Номенклатурные группы тонго в субконто2 сидят?
Суммовой учет у субконто включен?
9 s_newbi
 
02.03.20
12:40
Имелось ввиду не стоит ли галка "только обороты"?
10 catena
 
02.03.20
12:41
(7)У меня выбираются. Совет тот же: берешь консоль и проверяешь.
11 YamEgor
 
02.03.20
12:47
(8) да сейчас посмотрел у Номенклатурных групп есть признак ТолькоОбороты, Суммовой, Валютный, Количественный. это значит надо брать не виртуальную таблицу Остатки, а ОстаткиИОбороты?
12 s_newbi
 
02.03.20
12:50
(11) Признак "(об)" в названии отдельных субконто означает, что это субконто является оборотным для этого счета (флажок "Только обороты" в признаках счета). В разрезе аналитических статей по этому субконто во всех стандартных отчетах (оборотно-сальдовая ведомость, анализ счета, карточка счета и др.) можно анализировать только обороты (остатки хранятся в целом по счету без привязки к аналитике).
13 s_newbi
 
02.03.20
12:53
По сути СуммаОстатокДт там и нет тогда. Можно узнать только ОборотДт за период
14 1Сергей
 
02.03.20
12:54
(12) + и не нужны остатки, значит
15 YamEgor
 
02.03.20
13:01
(13) тогда можете подсказать, если это обороты то тогда надо за период  дата начала и дата окончания а у меня на форме сейчас только дата на которую строится отчет, это надо добавить еще одну дату начала,а дату использовать как дата Окончания? или как то еще?