Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=7290)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Отобрать в Запросе Операции по опр. виду документа

Автор: Домовик 09.05.12, 17:17

здравствуйте!
Может кто сходу подскажет, можно ли как-то в тексте запроса прописать, чтобы отбор был по опред. виду документа(или исключить из выборки опред. вид).

затрагиваются именно операции.
т.е используется схема

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


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

задача в целом

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

Автор: Читатель 09.05.12, 18:07

Операция.Документ.Вид()<>"Перемещение"

Автор: Домовик 09.05.12, 20:33

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

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


Автор: Ardi 09.05.12, 22:08

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

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

Автор: Домовик 09.05.12, 22:42

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

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

код

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

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




как отобрать по определенному виду документа в запросе - не нашла.

Автор: vadim007 10.05.12, 7:11

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

Попробую угадать, что Вы там ваяете. Отчет "Книга учета доходов и расходов предпринимателя". Верно?

Автор: kalyamov 10.05.12, 10:53

Цитата(Домовик @ 09.05.12, 20:33) *
В запросе эту строку как поставить?


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

Автор: Читатель 10.05.12, 12:47

Только похоже, что ОперацияДокумент, который равен Операция.ТекущийДокумент - не совсем то, что я имел в виду:

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

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

Автор: kalyamov 10.05.12, 13:27

А почему такое условие не подходит ?

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



Автор: Домовик 10.05.12, 14:37

Цитата(Читатель @ 10.05.12, 8:47) http://pro1c.org.ua/index.php?act=findpost&pid=49861
А после конструктора руками добавить строку : Условие (ОперацияДокумент.Вид()<>"Перемещение") не пробовали ?

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


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

нет. просто отчет о продажах

Автор: vadim007 10.05.12, 14:51

Цитата(Домовик @ 10.05.12, 15:37) *
нет. просто отчет о продажах

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

Автор: Домовик 10.05.12, 15:10

а зачем?



Автор: Читатель 10.05.12, 17:02

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

Может и подходит. Я просто не знаю что такое ТекущийДокумент в объекте Операция (ОперацияДокумент=Операция.ТекущийДокумент) - видимо какой-то реквизит. Потому и предлагаю пользовать атрибут операции Документ - он всегда есть в любой операции.

Автор: kalyamov 10.05.12, 17:28

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


В данном случае - это атрибут.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua