Почему не работает запрос

  • Автор темы PaulB
  • Дата начала
P

PaulB

#1
1С:Бухгалтерия 7.7

"Период с '01.01.2000' по '31.12.2010';
//|Без итогов;
|СчК = Операция.Кредит.Счет;
|СчД = Операция.Д*цензура*.Счет;
|Ном = Операция.Д*цензура*.Номенклатура;
// |НаклК = Операция.Кредит.Накладная;
|Накл = Операция.Д*цензура*.Накладная;
|Док = Операция.ТекущийДокумент;
|Кол = Операция.Количество;
|Сум = Операция.Сумма;
|Группировка Документ;
|Группировка Накл;
|Группировка Ном без групп;
|Условие ((СчК=ВыбСч) ИЛИ (СчД=ВыбСч));
|Функция КолСум=Сумма(Кол);
|Функция ККолСум=Сумма(Кол) когда (СчК=ВыбСч);
|Функция ДКолСум=Сумма(Кол) когда (СчД=ВыбСч);
|Функция СумСум=Сумма(Сум);";

В таком виде запрос работает. Если раскоментировать переменную НаклК, запрос выдает пусто. В чем может быть проблема? Счет забалансовый. Ведется по нему количественный учет.
Заранее спасибо за помощь.
 

puh14

Well-known member
11.07.2008
1 412
0
#2
Группировка по НаклК помогает?

|Условие ((СчК=ВыбСч) ИЛИ (СчД=ВыбСч)); - это зачем? проще
|Функция КолСум=Сумма(Кол) Когда ((СчК=ВыбСч) ИЛИ (СчД=ВыбСч));
 
P

PaulB

#3
Группировка по НаклК помогает?

|Условие ((СчК=ВыбСч) ИЛИ (СчД=ВыбСч)); - это зачем? проще
|Функция КолСум=Сумма(Кол) Когда ((СчК=ВыбСч) ИЛИ (СчД=ВыбСч));
Нет. Группировка по НаклК не помогает.
В проводках по счету кредит или д*цензура* может быть пустым. Может быть из-за этого?
 
K

krenk

#4
Было:
|НаклК = Операция.Кредит.Накладная;
|Накл = Операция.Д*цензура*.Накладная;

Стало:
|Накл = Операция.Д*цензура*.Накладная,Операция.Кредит.Накладная;

Попробуй так....

или вообще делать через БухгалтерскиеИтоги, а не через Запрос
 
P

PaulB

#5
Было:
|НаклК = Операция.Кредит.Накладная;
|Накл = Операция.Д*цензура*.Накладная;

Стало:
|Накл = Операция.Д*цензура*.Накладная,Операция.Кредит.Накладная;

Попробуй так....

или вообще делать через БухгалтерскиеИтоги, а не через Запрос
Пробывал и так. В результате показывает только те операции, которые присваиваются первые, т.е. в последнем примере только Д*цензура*.
Все проводки по счету имеют вид
Д НомерСчета
К --
или
Д --
К НомерСчета

Есть еще идеи? Очень хочется понять почему не работает.
 
K

krenk

#6
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.номенклатура,,1);

БухИт.ВыполнитьЗапрос(<НачалоПериода>,<КонецПериода>,ВыбСчет,,,,"Операция","СК");

БухИт.ВыбратьПериоды();
Пока БухИт.ПолучитьПериод()=1 Цикл
//Цикл по документам
ТекДок=БухИт.Операция.Документ; //Или что-то в этом, не тестил

БухИт.ВыбратьСубконто(1);
Пока БухИт.ПолучитьСубконто(1)=1 Цикл
//Цикл по номенклатуре


ККолСум=СКК("К");
ДКолСум=СКД("К");

КолСум=ККолСум+ДКолСум; //или как там тебе нужно общее количество посчитать

СумСум=СКК("С")+СКД("С");

КонецЦикла;

КонецЦикла;


//Забей на тот запрос, потести вот эту штуку в отладчике... я не тестил, но думаю, почти угадал.... дерзай...
 

unknown181538

НеГуру
28.12.2008
1 417
0
#8
ВыбратьОперацииСПроводками еще можно попробовать. Там тоже можно задать условия по счетам и аналитике до выполнения.