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

Тема в разделе "1C и всё что с ней связано", создана пользователем PaulB, 22 янв 2009.

  1. PaulB

    PaulB Гость

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

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

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Группировка по НаклК помогает?

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

    PaulB Гость

    Нет. Группировка по НаклК не помогает.
    В проводках по счету кредит или д*цензура* может быть пустым. Может быть из-за этого?
     
  4. krenk

    krenk Гость

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

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

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

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

    PaulB Гость

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

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

    krenk Гость

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

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

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

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


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

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

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

    КонецЦикла;

    КонецЦикла;


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

    PaulB Гость

    Спасибо за помощь. Придется забить на запрос и сделать бухитогами.
     
  8. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    ВыбратьОперацииСПроводками еще можно попробовать. Там тоже можно задать условия по счетам и аналитике до выполнения.
     
Загрузка...

Поделиться этой страницей