Имя: Пароль:
1C
1С v8
Неверно считает начальный и конечный остаток
0 ИУБиПовиц
 
16.02.12
10:51
Здравствуйте. пытаюсь получить остаток по 41.03 счету с отбором по кор субконто контрагенту и по определенной номенклатуре, выдает капкието нереальные цифры, (без отбора)
Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    Номенклатура.Ссылка КАК Номенклатура,
   |    ЕСТЬNULL(ОстаткиОбороты.Регистратор, """") КАК Регистратор,
   |    СУММА(ОстаткиОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   |    СУММА(ОстаткиОбороты.КоличествоНачальныйОстатокДт) КАК КоличествоНачальныйОстатокДт,
   |    СУММА(ОстаткиОбороты.КоличествоНачальныйОстатокКт) КАК КоличествоНачальныйОстатокКт,
   |    СУММА(ОстаткиОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
   |    СУММА(ОстаткиОбороты.КоличествоКонечныйОстатокДт) КАК КоличествоСальдоДт,
   |    СУММА(ОстаткиОбороты.КоличествоКонечныйОстатокКт) КАК КоличествоСальдоКт,
   |    СУММА(ОстаткиОбороты.КоличествоОборот) КАК КоличествоОборот,
   |    СУММА(ОстаткиОбороты.КоличествоОборотДт) КАК КоличествоОборотДт,
   |    СУММА(ОстаткиОбороты.КоличествоОборотКт) КАК КоличествоОборотКт,
   |    ОстаткиОбороты.Регистратор.Контрагент КАК Контрагент,
   |    ОстаткиОбороты.СубконтоДт1
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокДт,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокКт КАК КоличествоНачальныйОстатокКт,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокКт КАК КоличествоКонечныйОстатокКт,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоОборот КАК КоличествоОборот,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоОборотДт,
   |            ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоОборотКт,
   |            ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор,
   |            ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
   |            Субконто.СубконтоДт1 КАК СубконтоДт1
   |        ИЗ
   |            (ВЫБРАТЬ
   |                ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
   |                ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1
   |            ИЗ
   |                РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач, &ДатаКон, СчетКт = &Счет43, , ) КАК ХозрасчетныйДвиженияССубконто
   |            ГДЕ
   |                ХозрасчетныйДвиженияССубконто.СчетКт = &Счет43) КАК Субконто
   |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, ДвиженияИГраницыПериода, Счет = &Счет43, , ) КАК ХозрасчетныйОстаткиИОбороты
   |                ПО (ХозрасчетныйОстаткиИОбороты.Регистратор = Субконто.Регистратор)
   |        ГДЕ
   |            (Субконто.СубконтоДт1 В (&СписокКонтрагентов)
   |                    ИЛИ &КонтрагентыПустые)) КАК ОстаткиОбороты
   |        ПО Номенклатура.Ссылка = ОстаткиОбороты.Субконто1
   |ГДЕ
   |    Номенклатура.Ссылка В(&СписокКег)
   |
   |СГРУППИРОВАТЬ ПО
   |    Номенклатура.Ссылка,
   |    ОстаткиОбороты.Регистратор.Контрагент,
   |    ЕСТЬNULL(ОстаткиОбороты.Регистратор, """"),
   |    ОстаткиОбороты.СубконтоДт1
   |
   |УПОРЯДОЧИТЬ ПО
   |    Регистратор,
   |    Номенклатура
   |ИТОГИ
   |    СУММА(КоличествоНачальныйОстаток),
   |    СУММА(КоличествоНачальныйОстатокДт),
   |    СУММА(КоличествоНачальныйОстатокКт),
   |    СУММА(КоличествоКонечныйОстаток),
   |    СУММА(КоличествоСальдоДт),
   |    СУММА(КоличествоСальдоКт),
   |    СУММА(КоличествоОборот),
   |    СУММА(КоличествоОборотДт),
   |    СУММА(КоличествоОборотКт)
   |ПО
   |    Регистратор,
   |    Номенклатура
   |АВТОУПОРЯДОЧИВАНИЕ";
   
   
   ДатаКон = КонецДня(ДатаКон);
   Запрос.УстановитьПараметр("Счет43",ПланыСчетов.Хозрасчетный.ТараПодТоваромИПорожняя);
   Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНач));
   Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаКон));
   Запрос.УстановитьПараметр("СписокКонтрагентов",СписокКонтрагентовОтм);
   Запрос.УстановитьПараметр("СписокКег",СписокКеговОтмеч);
   
   Запрос.УстановитьПараметр("Организация",Организация);
   Запрос.УстановитьПараметр("КонтрагентыПустые",СписокКонтрагентовОтм.Количество() = 0);
   
   
   
   
   Результат = Запрос.Выполнить();
   
   
   колК = 0;  
   ВыборкаСальдо = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура","ВСЕ");
   
   Пока ВыборкаСальдо.Следующий() цикл
       
       ОбработкаПрерыванияПользователя();
       
       колК = колК + 1;
       Если колК = 1 тогда
           ОбластьСальдоНачального = Макет.ПолучитьОбласть("Сальдо|Кег");            
       иначе
           ОбластьСальдоНачального = Макет.ПолучитьОбласть("Сальдо|КегКраткий");
       КонецЕсли;
       
       
       ОбластьСальдоНачального.Параметры.НДО = ВыборкаСальдо.КоличествоНачальныйОстатокДт;
       ОбластьСальдоНачального.Параметры.НКО = ВыборкаСальдо.КоличествоНачальныйОстатокКт;  
       //ОбластьСальдоНачального.Параметры.НДО = ВыборкаСальдо.КоличествоСальдоДт;
       //ОбластьСальдоНачального.Параметры.НКО = ВыборкаСальдо.КоличествоСальдоКт;
       Если колК = 1 тогда
           ТабДОк.Вывести(ОбластьСальдоНачального);
       иначе
           ТабДОк.Присоединить(ОбластьСальдоНачального);
       КонецЕсли;        
   КонецЦикла;
   
   ВыборкаСальдо.Сбросить();
1 Maxus43
 
16.02.12
10:54
в оборотке показывает правильно?
2 ИУБиПовиц
 
16.02.12
11:23
да
AdBlock убивает бесплатный контент. 1Сергей