|
v7: Как правильно создать запрос? | ☑ | ||
---|---|---|---|---|
0
Henistaromin
04.06.12
✎
17:19
|
Добрый вечер всем!
Нужна Ваша помощь. Имеется конфигурация ТиС 7.7 Надо написать простенький отчет. В отчете указываем "ДатаНач" и "ДатаКон" и Номенклатуру(либо номенклатурную группу). Всё! Подскажите, как правильно составить запрос который за указанный период перебирал документы "ПоступлениеТМЦ" анализировал их табличную часть и если в табличной части встречается указанная в отчете "Номенклатура", то делал что-то типа "Номенклатура = Номенклатура + 1". В конечном итоге должно получиться(За указанный период с "ДатаНач" по "ДатаКон" приходов "Номенклатура" по документам Поступление ТМЦ найдено 38) Может быть это можно организовать перебором. Спасибо за ответы. |
|||
1
akaBrr
04.06.12
✎
17:22
|
(0) Я за перебор
|
|||
2
zak555
04.06.12
✎
17:23
|
зачем обращаться к документу, если есть регистры ?
|
|||
3
akaBrr
04.06.12
✎
17:25
|
(2) смотря какая цель отчета
|
|||
4
andrewks
04.06.12
✎
17:25
|
сколько?
|
|||
5
akaBrr
04.06.12
✎
17:25
|
(4) за такое брать деньги?
|
|||
6
zak555
04.06.12
✎
17:26
|
(3) пример
|
|||
7
Venom
04.06.12
✎
17:27
|
(0) поковыряйся в "Конструкторе запросов", там всё это есть
|
|||
8
akaBrr
04.06.12
✎
17:28
|
(6) черт, пример то я и не заметил :)
|
|||
9
Voronve
04.06.12
✎
17:28
|
// ДатаНач, ДатаКон - твой интервал дат
// ВыбНоменклатура - элемент/группа справочника номенклатура Счетчик = 0; Док = СоздатьОбъект("Документ.ПоступлениеТМЦ"); Док.ВыбратьДокументы(ДатаНач, ДатаКон); Пока Док.ПолучитьДокумент() = 1 Цикл Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() = 1 Цикл Если ВыбНоменклатура.ЭтоГруппа() = 1 Тогда Счетчик = Счетчик + Док.Номенклатура.ПринадлежитГруппе(ВыбНоменклатура); ИначеЕсли Док.Номенклатура = ВыбНоменклатура Тогда Счетчик = Счетчик + 1; КонецЕсли; КонецЦикла; КонецЦикла; |
|||
10
Henistaromin
04.06.12
✎
17:29
|
Цель отчета узнать сколько документов "ПоступлениеТМЦ" с "Номенклатурой" было оприходованно. Я тоже за перебор. Подсчет документов сделал, но немогу наладить отбор их по определённой номенклатуре. (9) Спасибо, сейчас по тестю!
|
|||
11
akaBrr
04.06.12
✎
17:30
|
(10) в (9) не проверяется был ли товар "оприходован"
|
|||
12
Ёпрст
04.06.12
✎
17:31
|
ТекстЗапроса="
| |Период С НачДата По КонДата; |Номенклатура = Документ.ПоступлениеТМЦ.Номенклатура; |Функция ВсегоДоков = Счётчик(); |Условие (Номенклатура в СписокНоменклатуры); |Группировка Документ;"; Запрос = СоздатьОбъект("Запрос"); Запрос.Выполнить(ТекстЗапроса); Сообщить("Всего найдено: "+Запрос.ВсегоДоков ); наслаждайся |
|||
13
zak555
04.06.12
✎
17:31
|
(12) период зачем ?
|
|||
14
akaBrr
04.06.12
✎
17:32
|
(12) а если Номенклатура - услуга?
|
|||
15
andrewks
04.06.12
✎
17:32
|
(13) что значит "зачем"?
|
|||
16
andrewks
04.06.12
✎
17:32
|
(14) и чё?
|
|||
17
Ёпрст
04.06.12
✎
17:33
|
(14) и че ? он же фильтр ставит на нужну.
|
|||
18
Voronve
04.06.12
✎
17:33
|
(11) Дальше сам догонит
|
|||
19
zak555
04.06.12
✎
17:34
|
(15) почему не написать просто : С НачДата По КонДата;
|
|||
20
Voronve
04.06.12
✎
17:34
|
(12) в запросе проверка нужна на ДатаКон>ДатаТА. иначе свалиться запрос
|
|||
21
akaBrr
04.06.12
✎
17:35
|
(17) я к тому что результат проведения может не совпадать с ТЧ
|
|||
22
Voronve
04.06.12
✎
17:36
|
(21) В док поступленич ТМЦ типовой нельзя засунуть работу\услугу. там проверка стоит
|
|||
23
andrewks
04.06.12
✎
17:36
|
(20) сфигаль?
|
|||
24
andrewks
04.06.12
✎
17:36
|
(19) буквоед? :)
|
|||
25
akaBrr
04.06.12
✎
17:37
|
(22) точно, типовая, мне пора домой, я устал :)
|
|||
26
zak555
04.06.12
✎
17:39
|
(24) это кто такой ?
|
|||
27
Henistaromin
04.06.12
✎
17:48
|
Всем огромное спасибо. Благодаря Вам всё получилось! =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |