Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не считаются НачальныеОстатки (число прочтений - 671 )
Nikon
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 14. Ноября 2008
Не считаются НачальныеОстатки
14. Ноября 2008 :: 07:56
Печать  
Проблема такая - Из регистра РегистрОстаткиОбороты за определенный период выбираются движения. В результирующей таблице выводится неверный остаток. Такое чувство, что они считаются так : Остатки = Было - Расход, а приход не учитывается, т.е. остатки всегда отрицательные... Помогите плиз...

Код примерно такой:

Запрос = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT  
     |РегПок.Фирма as [Фирма $Справочник.Фирмы],
           |$ФирмаСпр.УпрАналитика as [УпрАналитика $Справочник.УпрАналитика],
           |$ФирмаСпр.ЮрЛицо as [ЮрЛицо $Справочник.СвоиЮрЛица],
           |ДоговорСпр.ParentExt as [Контрагент $Справочник.Контрагенты],
           |РегПок.Договор as [Договор $Справочник.Договоры],
           |РегПок.ВидДолга as [ВидДолга $Перечисление.ВидыДолга],
           |РегПок.КредДокумент as [КредДокумент $Документ],
           |РегПок.КодОперации as [КодОперации $Перечисление.КодыОпераций],
           |Журнал.$ОбщийРеквизит.Проект as [Проект $Справочник.Проекты],    
           |Right(РегПок.ПозицияДокумента, 9) as [Док $Документ],
           |РегПок.ВидДокумента as Док_вид,
           |РегПок.СуммаВалНачальныйОстаток as НачОстВ,
           |РегПок.СуммаВалПриход as ПриходВ,
           |РегПок.СуммаВалРасход as РасходВ,
           |РегПок.СуммаВалКонечныйОстаток as КонОстВ,  
           |Case When РегПок.КодОперации = :глкоВозвратОтПокупателя
           |Then РегПок.СуммаВалРасход
           |Else 0 End ВозвратОтПокупателяВ,      

           |Case When РегПок.КодОперации = :глкоВозвратПоставщику
           |Then РегПок.СуммаВалПриход
           |Else 0 End  ВозвратПоставщикуВ,
           
           |Case When (Left(ЖурналКредДок.Date_Time_IDDoc, 8)  <>:ПустаЗнач)
           |AND (Left(ЖурналКредДок.Date_Time_IDDoc, 8) <:КонДата~)
           |Then РегПок.СуммаВалКонечныйОстаток
           |Else 0 End  КонОстП

           
     |FROM
           |$РегистрОстаткиОбороты.Покупатели(:НачДата,:КонДата~,Документ,,,,) as РегПок
     |INNER JOIN $Справочник.Фирмы as ФирмаСпр ON ФирмаСпр.ID = РегПок.Фирма
     |INNER JOIN _1SJOURN as Журнал ON РегПок.ПозицияДокумента = Журнал.DATE_TIME_IDDOC
     |INNER join _1sJourn AS ЖурналКредДок (NOLOCK) on ЖурналКредДок.IDDoc = Right(РегПок.КредДокумент,9)
     |INNER JOIN $Справочник.Договоры as ДоговорСпр ON ДоговорСпр.ID = РегПок.Договор;  

     Запрос.УстановитьТекстовыйПараметр("глкоВозвратОтПокупателя", глКО.ВозвратОтПокупателя);
     Запрос.УстановитьТекстовыйПараметр("глкоВозвратПоставщику", глКО.ВозвратПоставщику);    
     Запрос.УстановитьТекстовыйПараметр("ПустаЗнач",             ПолучитьПустоеЗначение("Дата"));    
     Запрос.УстановитьТекстовыйПараметр("ПеремКонтр",             МножественныйФильтр);
     Если ПустоеЗначение(НачДата) = 1 Тогда
         Запрос.УстановитьТекстовыйПараметр("НачДата", Дата("01.01.01"));
     Иначе
         Запрос.УстановитьТекстовыйПараметр("НачДата", НачДата);
     КонецЕсли;      

     Если ПустоеЗначение(КонДата) = 1 Тогда
         Запрос.УстановитьТекстовыйПараметр("КонДата", ТекущаяДата());
     Иначе
         Запрос.УстановитьТекстовыйПараметр("КонДата", КонДата);
     КонецЕсли;          
     ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);  
     ТЗ.Выгрузить(ТЗ1);
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать