Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
UserABC
Pascal +
132 / 131 / 127
Регистрация: 16.03.2011
Сообщений: 461
#1

Проверить запрос - 1С/1C 8.x

27.09.2012, 13:06. Просмотров 1176. Ответов 5
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста, как правильно написать запрос, который по реквизиту документа "Группа" проверяет в регистре количество студентов в этой группе, и если оно равно 0, тогда проводит документ, если нет, то выдает ошибку или сообщение.. Вот немного начал.. но не совсем понимаю что дальше
http://www.cyberforum.ru/1c/thread670230.html
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Процедура ПроверитьКоличество()
         Если не ПустаяСтрока(Объект.ГруппаПеревода) Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   РегистрПереводаСрезПоследних.Группа,
        |   РегистрПереводаСрезПоследних.Количество
        |ИЗ
        |   РегистрСведений.РегистрПеревода.СрезПоследних КАК РегистрПереводаСрезПоследних
        |ГДЕ
        |   РегистрПереводаСрезПоследних.Группа = &Группа
        |   И РегистрПереводаСрезПоследних.Количество = &Количество";
 
    Запрос.УстановитьПараметр("Группа", Объект.ГруппаПеревода);
    Запрос.УстановитьПараметр("Количество", Количество);
 
    Результат = Запрос.Выполнить();
 
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
 
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
   КонецЕсли;
КонецПроцедуры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 13:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос 1C 8.x Проверить запрос (1С):

7.7 Запрос или бухгалтерский запрос?
Добрый день. Задача такова: необходимо сформировать отчет о доходах и расходах...

Проверить запрос
"SELECT appinfo.id, appinfo.package_name, appinfo.attrib_platform, appinfo.geo,...

Проверить запрос с позапросом
SELECT тов.НАИМЕНОВАНИЕ FROM Товары тов WHERE тов.ШИФР = (...

Как проверить выполнился ли запрос?
Друзья. Есть запрос на insert. Как программно проверить выполнился ли запрос...

Проверить SQL запрос к Access
Доброго времени. Спрашиваю таблицу в Access о нужных для меня данных: try ...

5
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
27.09.2012, 13:11 #2
1. Группа - это измерение, а количество - это ресурс регистра?
2. Зачем условие по количеству?
0
UserABC
Pascal +
132 / 131 / 127
Регистрация: 16.03.2011
Сообщений: 461
27.09.2012, 13:16  [ТС] #3
Да да, группа - это измерение, а количество это ресурс в регистре. Дело в том, что при переводе студентов из одной группы в другую, для старой группы количество обнуляется, а в новой прибавляется один. Так вот, нужно чтобы запрос проверял количество старой группы, и если там сумма не равна нулю, то тогда перевод документа запрещается и выдается сообщение ("переведите сначала студентов из старшей группы").. вот типо этого..
0
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
27.09.2012, 14:20 #4
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Запрос.Текст = 
        "ВЫБРАТЬ
        |   РегистрПереводаСрезПоследних.Группа,
        |   РегистрПереводаСрезПоследних.Количество
        |ИЗ
        |   РегистрСведений.РегистрПеревода.СрезПоследних КАК РегистрПереводаСрезПоследних(,Группа = &Группа)
        |ГДЕ
        |   РегистрПереводаСрезПоследних.Количество > 0";
 
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
 //В группе не 0 студентов
КонецЕсли;
0
UserABC
Pascal +
132 / 131 / 127
Регистрация: 16.03.2011
Сообщений: 461
27.09.2012, 16:59  [ТС] #5
Скажите а каким образом будет связан реквизит в документе "ГруппаПеревода" с регистром, просто в запросе это не указано
0
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
27.09.2012, 17:03 #6
Строку:
1C
1
|   РегистрСведений.РегистрПеревода.СрезПоследних КАК РегистрПереводаСрезПоследних(,Группа = &Группа)
Нужно писать:
1C
1
|   РегистрСведений.РегистрПеревода.СрезПоследних(,Группа = &Группа) КАК РегистрПереводаСрезПоследних
И вот эту строку забыл:
1C
1
Запрос.УстановитьПараметр("Группа", Объект.ГруппаПеревода);
1
27.09.2012, 17:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 17:03
Привет! Вот еще темы с решениями:

Проверить вернул ли что-то запрос с бд
Как проверить, в результате выполнения запроса было что-то возвращено?...

Запрос insert на сервлете. Проверить код
Здравствуйте уважаемые форумчане! пожалуйста проверьте этот код и подскажите в...

Проверить и подредактировать запрос SQL Server
Здравствуйте! Друзья помогайте.. Пошел сдавать преподавателю запросы он дал мне...

Надо проверить почему не работает запрос
помогите пожалюста надо проверить почему запрос не работает


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru