mpottov
|
|
1 | |
Запрос в 1С03.08.2011, 16:09. Показов 12622. Ответов 7
Метки нет (Все метки)
При выполнении ругается на выделенную красным строку (поле портфель имеется в наличии).
//{{ЗАПРОС(Обороты) Период с ДатаС по ДатаПо; Фирмы = Регистр.Обороты.Фирма,Регистр.Остатки.Фирма; ВУ = Регистр.Обороты.ВидУчета,Регистр.Остатки.ВидУчета; ТМЦ = Регистр.Обороты.ТМЦ,Регистр.Остатки.ТМЦ; ЧейТовар = Регистр.Обороты.ТМЦ.ЧейТовар,Регистр.Остатки.ТМЦ.ЧейТовар; Док = Регистр.Обороты.ТекущийДокумент; ВидТМЦ = Регистр.Обороты.ТМЦ.Вид,Регистр.Остатки.ТМЦ.Вид; ПриходКво = Регистр.Обороты.ПриходКво; ПриходГРН = Регистр.Обороты.ПриходГРН; РасходКво = Регистр.Обороты.РасходКво; РасходГРН = Регистр.Обороты.РасходГРН; КвоОст = Регистр.Остатки.Кво; СуммаОст = Регистр.Остатки.СуммаГрн; ДоходГРН = Регистр.Обороты.ДоходГРН; Условие ((ВидТМЦ = Перечисление.ВидыТМЦ.Товар) или (ВидТМЦ = Перечисление.ВидыТМЦ.Продукция)); Условие((Док.Вид()="РасходнаяНакладная") и (Док.Портфель=ВыбПортфель)); Условие (ВУ = Перечисление.ВидыУчета.Торговля); Условие (НайтиФирм(Фирмы)=1); Функция ПрхКво = Сумма(ПриходКво); Функция ПрхВес = Сумма(ПриходКво*ТМЦ.Вес); Функция ПрхОбъем = Сумма(ПриходКво*ТМЦ.Емкость); Функция ПрхГРН = Сумма(ПриходГРН); Функция РсхКво = Сумма(РасходКво); Функция РсхВес = Сумма(РасходКво*ТМЦ.Вес); Функция РсхОбъем = Сумма(РасходКво*ТМЦ.Емкость); Функция РсхГРН = Сумма(РасходГРН); Функция остКво = КонОст(КвоОст); Функция остСумма = КонОст(СуммаОст); Функция ДохГРН = Сумма(ДоходГРН); Группировка Фирмы Без Упорядочивания Без Групп; Группировка Док Без Упорядочивания Без Групп; |
03.08.2011, 16:09 | |
Ответы с готовыми решениями:
7
Как записать запрос так чтобы их запрос суммировался в одну ячейку? Укомплектовать запрос в один. Запрос маленький проблема для знающего на 30 сек Есть запрос на вставку в PostgreSQL нужно написать этот запрос в Python Запрос Select T-sql - Вложенный запрос вернул больше одного значения |
0 / 0 / 0
Регистрация: 15.02.2008
Сообщений: 173
|
|
03.08.2011, 23:03 | 2 |
Условие((Док.Вид()="РасходнаяНакладная") и (Док.Портфель=&ВыбПортфель));
вот так она должна выглядеть. (& - перед ВыбПортфель). дальше сам сообразишь.
0
|
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
04.08.2011, 01:53 | 3 |
Нельзя вызвать непосредственно метод Вид() в запросе.
Можно вызывать свою функцию,например, в которой определять вид.
0
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
04.08.2011, 03:15 | 4 |
Сообщение от unknown181538
см
0
|
omdruho
|
|
04.08.2011, 16:33 | 5 |
Сообщение от evgenyatam
Код
ДокРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент; ПортфельРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.Портфель; ... Условие((Док = ДокРн) и (ПортфельРН =ВыбПортфель)); |
mpottov
|
|
04.08.2011, 17:21 | 6 |
Спасибо, разобрался уже. & - не надо )
|
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
06.08.2011, 11:55 | 7 |
Сообщение от mpoltav
А причина вот в чем. В регистр "Обороты" запись может делать документ любого вида. Значит "Док" может содержать поле "Портфель", а может и нет. Запрос по такому условию не может отработать. Вот если "Портфель" сделать общим реквизитам, тогда - пожалуйста. Второй вариант применения условия вида "Док.Реквизит=" можно сделать, если запрос выбран только по конкретному виду документов.
0
|
mpottov
|
|
06.08.2011, 12:07 | 8 |
Да, ругалось на вид() и Портфель(). Вставил:
Код ( (Unknown Language)): ДокРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент; ПортфельРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.Портфель; ... Условие((Док = ДокРн) и (ПортфельРН =ВыбПортфель)); Все заработало. Без вас было бы трудно. Спасибо! |
06.08.2011, 12:07 | |
06.08.2011, 12:07 | |
Помогаю со студенческими работами здесь
8
Как посмотреть T-SQL запрос который генерирует Entity Framework запрос Почему ответ на GET запрос из Python отличается от ответа на GET запрос из HTTP Analyzer Как в Delphi сделать запрос на запрос, база mssql, BDE Как в sql запрос вставить еще один запрос правильно? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |