Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отобрать в Запросе Операции по опр. виду документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Домовик
здравствуйте!
Может кто сходу подскажет, можно ли как-то в тексте запроса прописать, чтобы отбор был по опред. виду документа(или исключить из выборки опред. вид).

затрагиваются именно операции.
т.е используется схема
|ОперацияДокумент=Операция.ТекущийДокумент;
|ОперацияСчет=Операция.Кредит.Счет;
|ОпрацияКво=Операция.Количество;


конфигурация "бух учет для Укр"

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

в целом задача: определить продажи и себестоимость по каждому товару. через итоги не иду. нет аналитики(товар) по продажам. запрос составлен по документам и операциям, связан по ТМЦ. работает.
но! Нужно вычесть Перемещения
Читатель
Операция.Документ.Вид()<>"Перемещение"
Домовик
В запросе эту строку как поставить? В конструкторе не показывает Вид.
На данный момент думаю поставить условие КредитСчет=СЧетУчета и ДебетСчет<>СчетТовара, где
Перемещение же затрагивает тот же счет и по кредиту. за это зацеплюсь.
СчетТовара - параметр, СчетПоКоду"281".

Позже кодом выложу.

Ardi
Цитата(Домовик @ 09.05.12, 18:17) необходимо зарегистрироваться для просмотра ссылки
в целом задача: определить продажи и себестоимость по каждому товару. через итоги не иду. нет аналитики(товар) по продажам. запрос составлен по документам и операциям, связан по ТМЦ. работает.
но! Нужно вычесть Перемещения

Вытягиваем в таблицуЗначений продажные суммы из тела документа реализации. И себестоимость из операции привязанной к этой реализации.
В простом случае этого достаточно.
Или настолько огромное число документов что нужен запрос?
Домовик
табличные части документов расходных огромные. запросом просто ленивенько для меня получается.

запросом вышло, по количеству сравниваю: идет все, кроме ситуаций, когда попадаются услуги в расходных. но это реально поправить.
все же условие,скорее всего , нужно точнее: счетДебет =90, тогда точно это продажа.
проверку на включенные проводки еще надо как-то поискать, как сделать....

необходимо зарегистрироваться для просмотра ссылки
    Перем Запрос, ТекстЗапроса, Таб, СчетТМЦ;
    //Создание объекта типа Запрос  
    
    СчетТМЦ=СчетПоКоду("281");
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    
    |КредитСчет = Операция.Кредит.Счет;
    |ДебетСчет = Операция.Дебет.Счет;
    |ОперацияКво = Операция.Количество;
    |Себестоимость = Операция.Сумма;

    |ТМЦ = Документ.РасходнаяНакладная.ТМЦ,документ.ВозвратнаяНакладная.ТМЦ, Операция.Кредит.ТМЦ;
    //|ДокументРасходная=Документ.РасходнаяНакладная.ТекущийДокумент;
    |КвоМинус = Документ.ВозвратнаяНакладная.Кво;
    |Кво = Документ.РасходнаяНакладная.Кво;       
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    //|Профит = Документ.РасходнаяНакладная.Профит;
    //|Контрагент = Документ.РасходнаяНакладная.Контрагент;  
    
    |Функция КвоСумма = Сумма(Кво-КвоМинус);
    |Функция СуммаСНДССумма = Сумма(СуммаСНДС);
    |Функция СуммаОперацияКво = Сумма(ОперацияКво);
    |Функция Прибыль = Сумма(СуммаСНДС-Себестоимость);
    
    |Группировка ТМЦ без групп;
    |Группировка Год все вошедшиевЗапрос;
    |Группировка Месяц все вошедшиевзапрос;
    
    |Условие(ТМЦ в СписокТоваровИГрупп);
    |Условие((КредитСчет = СчетТМЦ));
    |Условие((ДебетСчет <> СчетТМЦ));
    //|Условие(ОперацияРасходная = ДокументРасходная);
    |"//}}ЗАПРОС
;




как отобрать по определенному виду документа в запросе - не нашла.
vadim007
Цитата(Домовик @ 09.05.12, 18:17) необходимо зарегистрироваться для просмотра ссылки
в целом задача: определить продажи и себестоимость по каждому товару. через итоги не иду. нет аналитики(товар) по продажам. запрос составлен по документам и операциям, связан по ТМЦ. работает.
но! Нужно вычесть Перемещения

Попробую угадать, что Вы там ваяете. Отчет "Книга учета доходов и расходов предпринимателя". Верно?
kalyamov
Цитата(Домовик @ 09.05.12, 20:33) необходимо зарегистрироваться для просмотра ссылки
В запросе эту строку как поставить?


А после конструктора руками добавить строку : Условие (ОперацияДокумент.Вид()<>"Перемещение") не пробовали ?
Читатель
Только похоже, что ОперацияДокумент, который равен Операция.ТекущийДокумент - не совсем то, что я имел в виду:
|Условие (Операция.Документ.Вид()<>"Перемещение");

Либо уже при обходе результатов запроса:
Если Операция.Документ.Вид()="Перемещение" Тогда
Продолжить;
КонецЕсли;
kalyamov
А почему такое условие не подходит ?
|Условие (ОперацияДокумент.Вид()<>"Перемещение");


Домовик
Цитата(Читатель @ 10.05.12, 8:47) необходимо зарегистрироваться для просмотра ссылки
Либо уже при обходе результатов запроса:

Если Операция.Документ.Вид()="Перемещение" Тогда
Продолжить;
КонецЕсли;


при обходе у меня нет детализации по документам. она и не нужна там. Группируется по ТМЦ. поэтому не подойдет.


Цитата(kalyamov @ 10.05.12, 6:53) необходимо зарегистрироваться для просмотра ссылки
А после конструктора руками добавить строку : Условие (ОперацияДокумент.Вид()<>"Перемещение") не пробовали ?

честно говоря, не пробовали. вечером попробуем.


Цитата(vadim007 @ 10.05.12, 3:11) необходимо зарегистрироваться для просмотра ссылки
Попробую угадать, что Вы там ваяете. Отчет "Книга учета доходов и расходов предпринимателя". Верно?

нет. просто отчет о продажах
vadim007
Цитата(Домовик @ 10.05.12, 15:37) необходимо зарегистрироваться для просмотра ссылки
нет. просто отчет о продажах

Покажите, какой должна быть выходная таблица.
Домовик
а зачем?


Читатель
Цитата
А почему такое условие не подходит ?
|Условие (ОперацияДокумент.Вид()<>"Перемещение");

Может и подходит. Я просто не знаю что такое ТекущийДокумент в объекте Операция (ОперацияДокумент=Операция.ТекущийДокумент) - видимо какой-то реквизит. Потому и предлагаю пользовать атрибут операции Документ - он всегда есть в любой операции.
kalyamov
Цитата(Читатель @ 10.05.12, 17:02) необходимо зарегистрироваться для просмотра ссылки
Я просто не знаю что такое ТекущийДокумент в объекте Операция (ОперацияДокумент=Операция.ТекущийДокумент) - видимо какой-то реквизит.


В данном случае - это атрибут.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.