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

Проблема с запросом к регистру

17.02.2010, 20:05. Показов 19461. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем имеется регистр, который хранит движения по приходу и расходу товаров!
В данном регистре имеются измерение Товар, ресурс Количество, реквизит Цена!
Вообщем необходимо подсчтитать остаток конкретного товара по документам!
Запускаю вот такой код:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Товар=Регистр.ОстатокТоваров.Товар;
|Цена=Регистр.ОстатокТоваров.Цена;
|Количество=Регистр.ОстатокТоваров.Количество;
|Партия=Регистр.ОстатокТоваров.ТекущийДокумент;
|Условие(Товар=ВыборТовар);
|Группировка Партия упорядочить по Партия.ДатаДок;
|Функция ОстатокПоПартиям=КонОст(Количество);
|";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("Запрос не выполнен");
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать1");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Пока Запрос.Группировка("Партия",-1)=1 Цикл
Таб.ВывестиСекцию("Товар");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("","");
Проблема в том, что данный запрос ничего не возвращает,
хотя в регистре имеются данные!Наличие записей в регистре проверял кодом:

Code
1
2
3
4
5
6
 РегТовары = СоздатьОбъект("Регистр.ОстатокТоваров");
РегТовары.УстановитьЗначениеФильтра("Товар",ВыборТовар);
РегТовары.ВыбратьДвижения(НачДата, КонДата);
Пока РегТовары.ПолучитьДвижение()=1 Цикл
Сообщить(РегТовары.Количество);
КонецЦикла;
Вопрос в чем же ошибка, почему запрос ничего не возвращает?
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2010, 20:05
Ответы с готовыми решениями:

Проблема с отчетом по регистру
Здравсвуйте! Проблема собственно такая - создал регситр создал процедуру проведения по регистру : Процедура ОбработкаПроведения() ...

Проблема с запросом
в табеле по уволенным в текущем месяце сотрудникам нужно выводить в ячейках часы до даты увольнения. пытаюсь решить проблему тупо...

Проблема с запросом
ЧТО ТО по страшному туплю: СуммаДоллар балансовый ресурс регистра бухгалтерии, запрос выдает вот такую ошибку: ...

12
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
17.02.2010, 20:38
Попробуй толкануть запрос, вставив еще пару функций
|Функция ПриходК = Приход(Количество);
|Функция РасходК = Расход(Количество);
возможно, поможет
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
17.02.2010, 20:52
Цитата Сообщение от Tonio
РегТовары = СоздатьОбъект("Регистр.ОстатокТоваров");
РегТовары.УстановитьЗначениеФильтра("Тов ар",ВыборТовар);
РегТовары.ВыбратьДвижения(НачДата, КонДата);
Пока РегТовары.ПолучитьДвижение()=1 Цикл
Сообщить(РегТовары.Количество);
КонецЦикла;
А может было движение прихода и расхода, а остатков нет?
0
Tomyo
17.02.2010, 22:14
А может было движение прихода и расхода, а остатков нет?
Дело в том, что я проводил только приходные накладные, поэтому должны быть остатки товара!
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
17.02.2010, 22:40
А в секции таблицы что написано?
0
0 / 0 / 0
Регистрация: 15.02.2008
Сообщений: 173
17.02.2010, 23:25
я думаю тут надо использовать период.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
18.02.2010, 00:59
Цитата Сообщение от evgenyatam
я думаю тут надо использовать период.
Верно, не досмотрел я
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
18.02.2010, 20:39
Цитата Сообщение от evgenyatam
я думаю тут надо использовать период.
А без указания на ТА не вернет?
Кстати может ТА не там, где должна?
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
18.02.2010, 23:13
Исследование показало :
1. Период необходим
2. Добавка в запрос
|Функция ПриходК = Приход(Количество);
|Функция РасходК = Расход(Количество);
помогает (без этого группировки по партиям (т.е., по датам документов) просто нет, а есть только конечный остаток
3. Запрос может не срабатывать, если ВыбТовар - группа
Следует написать так :
|Условие(Товар в ВыборТовар);

Проверено на типовой ТиС 9.55
Работающий код :
var DT;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Период с Дата1 по Дата2;
|Товар=Регистр.ОстаткиТМЦ.Номенклатура;
|Количество=Регистр.ОстаткиТМЦ.Количеств о;
|Партия=Регистр.ОстаткиТМЦ.ТекущийДокуме нт;
|Условие(Товар in ВыбТМЦ);
|Группировка Партия упорядочить по Партия.ДатаДок;
|Функция ПриходК = Приход(Количество);
|Функция РасходК = Расход(Количество);
|Функция БылоПоПартиям = НачОст(Количество);
|Функция ОстатокПоПартиям=КонОст(Количество);
|";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("Запрос не выполнен");
Return
КонецЕсли;
Запрос.Unload(DT);
DT.ChooseLine();
0
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
18.02.2010, 23:17
Цитата Сообщение от Tonio
|Партия=Регистр.ОстатокТоваров.ТекущийДо кумент;
|Группировка Партия упорядочить по Партия.ДатаДок;
|Функция ОстатокПоПартиям=КонОст(Количество);
Если не ошибаюсь, то здесь противоречие
В ЖКК вроде говорится, что в этом случае имеют смысл только обороты, а не остатки
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
19.02.2010, 00:10
Цитата Сообщение от Hryv
Если не ошибаюсь, то здесь противоречие
А в чем оно ?
Отвечаю : приведенный мной код 100% работает
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
19.02.2010, 12:20
Только, как я понимаю, результатом будет не остаток из партии, а сколько всего в регистре после каждого документа.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
19.02.2010, 12:45
Цитата Сообщение от unknown181538
Только, как я понимаю, результатом будет не остаток из партии, а сколько всего в регистре после каждого документа.
Пусть уж теперь сам разбирается. Запрос, какой он хотел, заработал, а чтобы результаты были адекватные,
я бы группировку по товару добавил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2010, 12:45
Помогаю со студенческими работами здесь

Проблема с запросом
УТ 10.3 Можно сказать токо в начале пути изучения 8-ки. возникла проблема с запросом нужно из регистра сведений получить телефон...

Проблема с запросом
Здравствуйте. У меня вопрос. Работаю в 1С 8.0. В конфигурации у меня есть справочник МаршрутыГород с реквизитами: НомерМаршрута (тип...

Запрос По Регистру В 7.7
В базе есть отчет, который раньше работал правильно Потом в регистр добавили измерение и отчет начал косячить Отчет довольно...

Запрос по регистру
Здравствуйте уважаемые форумчане , прошу объяснить пока не понимающему человеку о запросах в 1С 7.7 , не могу понять почему при запросе в...

8.1 Запрос по регистру бухгалтерии
Нужно создать отчет по остаткам по Д 60.2 и кредиту 60.1. При этом остатки должны выводиться только при наличии остатков по одному договору...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru