Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/68: Рейтинг темы: голосов - 68, средняя оценка - 4.78
mpottov
1

Запрос в 1С

03.08.2011, 16:09. Показов 12622. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При выполнении ругается на выделенную красным строку (поле портфель имеется в наличии).

//{{ЗАПРОС(Обороты)
Период с ДатаС по ДатаПо;
Фирмы = Регистр.Обороты.Фирма,Регистр.Остатки.Фирма;
ВУ = Регистр.Обороты.ВидУчета,Регистр.Остатки.ВидУчета;
ТМЦ = Регистр.Обороты.ТМЦ,Регистр.Остатки.ТМЦ;
ЧейТовар = Регистр.Обороты.ТМЦ.ЧейТовар,Регистр.Остатки.ТМЦ.ЧейТовар;
Док = Регистр.Обороты.ТекущийДокумент;
ВидТМЦ = Регистр.Обороты.ТМЦ.Вид,Регистр.Остатки.ТМЦ.Вид;
ПриходКво = Регистр.Обороты.ПриходКво;
ПриходГРН = Регистр.Обороты.ПриходГРН;
РасходКво = Регистр.Обороты.РасходКво;
РасходГРН = Регистр.Обороты.РасходГРН;
КвоОст = Регистр.Остатки.Кво;
СуммаОст = Регистр.Остатки.СуммаГрн;
ДоходГРН = Регистр.Обороты.ДоходГРН;
Условие ((ВидТМЦ = Перечисление.ВидыТМЦ.Товар) или (ВидТМЦ = Перечисление.ВидыТМЦ.Продукция));
Условие((Док.Вид()="РасходнаяНакладная") и (Док.Портфель=ВыбПортфель));
Условие (ВУ = Перечисление.ВидыУчета.Торговля);
Условие (НайтиФирм(Фирмы)=1);
Функция ПрхКво = Сумма(ПриходКво);
Функция ПрхВес = Сумма(ПриходКво*ТМЦ.Вес);
Функция ПрхОбъем = Сумма(ПриходКво*ТМЦ.Емкость);
Функция ПрхГРН = Сумма(ПриходГРН);
Функция РсхКво = Сумма(РасходКво);
Функция РсхВес = Сумма(РасходКво*ТМЦ.Вес);
Функция РсхОбъем = Сумма(РасходКво*ТМЦ.Емкость);
Функция РсхГРН = Сумма(РасходГРН);
Функция остКво = КонОст(КвоОст);
Функция остСумма = КонОст(СуммаОст);
Функция ДохГРН = Сумма(ДоходГРН);
Группировка Фирмы Без Упорядочивания Без Групп;
Группировка Док Без Упорядочивания Без Групп;
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2011, 16:09
Ответы с готовыми решениями:

Как записать запрос так чтобы их запрос суммировался в одну ячейку?
Как записать этот запрос так чтобы их запрос суммировался в одну ячейку? Перепробовал все что знал...

Укомплектовать запрос в один. Запрос маленький проблема для знающего на 30 сек
Всем привет. Возможно кому то для поднятия настроения. Как укомплектовать такой запрос в один ...

Есть запрос на вставку в PostgreSQL нужно написать этот запрос в Python
Есть запрос на вставку в PostgreSQL нужно написать этот запрос в Python INSERT INTO "table1"...

Запрос Select T-sql - Вложенный запрос вернул больше одного значения
Нужно посчитать комиссию от сделки. DealShare(комиссия) - поле таблицы agents, supplies -...

7
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
Условие((Док.Вид()="РасходнаяНакладная") и (Док.Портфель=&ВыбПортфель));
вот так она должна выглядеть. (& - перед ВыбПортфель). дальше сам сообразишь.
товарищ, это 7.7 - какой &

Код
ДокРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент;
ПортфельРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.Портфель;
...
Условие((Док = ДокРн) и (ПортфельРН =ВыбПортфель));
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2011, 12:07
Помогаю со студенческими работами здесь

Как посмотреть T-SQL запрос который генерирует Entity Framework запрос
как посмотреть T-SQL запрос который генерирует Entity Framework запрос в visual studio 2010, 2012

Почему ответ на GET запрос из Python отличается от ответа на GET запрос из HTTP Analyzer
Добрый день. Делаю GET запрос из HTTP Analyzer Указываю только адрес запроса:...

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как таблицу, при...

Как в sql запрос вставить еще один запрос правильно?
Есть длинный запрос, в котором можете даже не разбираться если не хотите, но выдает он следующее:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru