Почему не работает запрос, а в консоли работает?
PS: Этот пост неактуален. Я переделал с нуля и у мен все получилось. У меня от усталости были элементарные ошибки, хотя бы в названии переменных (в параметрах одни, в запросе другие). Всем спасибо.
Мне нужно получить разницу в кол-ве (приход-расход) на дату.
В консоли сделал запрос и добавил 3 параметра, выводит из регистра накопления как нужно.
(скрин прилагаю)
Потом этот запрос в виде функции я поместил в Общие модули - Общего назначения.
Создал форму для выбора параметров (номенклатура, дата, характеристика).
Но результата добиться не могу. Что-то не так с датой.
Пробовал запрос поместить прямо в код формы - результат тоже 0.
Подскажите, почему не работает мой код, но работает в консоли
Мне нужно получить разницу в кол-ве (приход-расход) на дату.
В консоли сделал запрос и добавил 3 параметра, выводит из регистра накопления как нужно.
(скрин прилагаю)
Потом этот запрос в виде функции я поместил в Общие модули - Общего назначения.
Создал форму для выбора параметров (номенклатура, дата, характеристика).
Но результата добиться не могу. Что-то не так с датой.
Пробовал запрос поместить прямо в код формы - результат тоже 0.
Подскажите, почему не работает мой код, но работает в консоли
Процедура КнопкаСформироватьНажатие(Кнопка)
ITEM = ЭлементыФормы.Товар.Значение.Код;
LENS = ЭлементыФормы.Диоптрия.Значение.Наименование;
MOMENT = Дата(ЭлементыФормы.Дата.Значение);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МойСкладТашкентОстатки.Номенклатура,
| МойСкладТашкентОстатки.Диоптрия,
| МойСкладТашкентОстатки.Склад,
| МойСкладТашкентОстатки.Основание,
| МойСкладТашкентОстатки.Момент,
| МойСкладТашкентОстатки.КоличествоОстаток КАК КоличествоОстаток,
| МойСкладТашкентОстатки.СуммаОстаток,
| МойСкладТашкентОстатки.ЦенаЗаШтукуОстаток,
| МойСкладТашкентОстатки.СебестоимостьОстаток
| ИЗ
| РегистрНакопления.МойСкладТашкент.Остатки КАК МойСкладТашкентОстатки
| ГДЕ
| МойСкладТашкентОстатки.Основание.Дата <= &MOMENT
| И МойСкладТашкентОстатки.Номенклатура.Код = &ID
| И МойСкладТашкентОстатки.Диоптрия.Наименование = &DIO
| ИТОГИ
| СУММА(КоличествоОстаток)
| ПО
| ОБЩИЕ";
Запрос.УстановитьПараметр("ID", ITEM);
Запрос.УстановитьПараметр("DIO", LENS);
Запрос.УстановитьПараметр("MOMENT", MOMENT);
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
//выводим итоговые данные
Если Выборка.Следующий() Тогда
Сообщить("Итого: " + Выборка.КоличествоОстаток);
КоличествоНаСкладе = Выборка.КоличествоОстаток;
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:

По теме из базы знаний
- Оптимизация запросов 1С:Предприятие – от теории к практике
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Консоль запросов 9000
- Пара советов по поиску работы
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Во-первых условия по регистру перенесите в параметры виртуальной таблицы
Во-вторых, если вы хотите получить остатки, то причем тут документ-основание? У вас приход-расход делается различными документами и соответственно с этим реквизитом никогда не свернется
Во-вторых, если вы хотите получить остатки, то причем тут документ-основание? У вас приход-расход делается различными документами и соответственно с этим реквизитом никогда не свернется
(12) Не напоминай... Как то раз в костюме при галстуке зашел в ЦУМ (не Москва, не бойтесь) купить клей Момент (нужен был, чтобы коллеге в день свадьбы приклеить плакаты на каркас из малоточных коробов и все это приклеить к воздушным шарикам). Пакета с собой не было (только рулон с плакатами из типографии), поэтому попросил пару фасовочных пакетов...
Я взгляд той продавщицы никогда не забуду...
Я взгляд той продавщицы никогда не забуду...
(7) Ну, пока администрация форума позволяет пользоваться такими никами - будем пользоваться. Я предлагал им принудительно заставлять новобранцев изменять "автоник", на что-то более персонализированное. Тишина.
Поэтому я пользуюсь правилом Райтшулера: чтобы кого-то переубедить - надо довести его мнение до абсурда.
Поэтому я пользуюсь правилом Райтшулера: чтобы кого-то переубедить - надо довести его мнение до абсурда.
(6) Что "верно"? Я тебе в (3) ответил. В консоли у тебя таблица значений, а в программном коде - дерево значений с обходм только верхнего уровня группировки (то есть только первой строки).
Или может соизволишь объяснить, что не так работает? Нам тут в угадайку поиграть?
Или может соизволишь объяснить, что не так работает? Нам тут в угадайку поиграть?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот