|
Тип не определен (запрос) | ☑ | ||
---|---|---|---|---|
0
infinity1992
26.11.13
✎
00:54
|
Помогите начинающему!
нужно создать форму документа, для проверки наличия книг в библиотеке, которые мы собираемся выдать в форме документа пишем &НаКлиенте Процедура СписокКнигКоличествоПриИзменении(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КнигиВБиблиотекеОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.КнигиВБиблиотеке.Остатки(&ДатаДокумента, ) КАК КнигиВБиблиотекеОстатки |ГДЕ | КнигиВБиблиотекеОстатки.Книги = &Книги"; Запрос.УстановитьПараметр("ДатаДокумента", Дата -1); Запрос.УстановитьПараметр("Книги", Элементы.СписокКниг.ТекущиеДанные.Книги); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Следующий() Тогда Если ВыборкаДетальныеЗаписи.КоличествоОстаток <= Элементы.СписокКниг.ТекущиеДанные.Количество Тогда Иначе Сообщить ("Данной книги не хватает в библиотеке"); КонецЕсли; Иначе Сообщить ("Этой книги нет в библиотеке"); КонецЕсли; КонецПроцедуры Выдает ошибку: {Документ.ВыдачаКниг.Форма.ФормаДокумента.Форма(4,23)}: Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; Что делать?Что не так? |
|||
1
Научите меня
26.11.13
✎
00:55
|
(0) На клиенте к БД не обратиться, поэтому и нет такого объекта как Запрос. Перенеси его в серверную процедуру
|
|||
2
infinity1992
26.11.13
✎
00:59
|
если сделать так,
&НаСервере Процедура СписокКнигКоличествоПриИзменении(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КнигиВБиблиотекеОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.КнигиВБиблиотеке.Остатки(&ДатаДокумента, ) КАК КнигиВБиблиотекеОстатки |ГДЕ | КнигиВБиблиотекеОстатки.Книги = &Книги"; Запрос.УстановитьПараметр("ДатаДокумента", Дата -1); Запрос.УстановитьПараметр("Книги", Элементы.СписокКниг.ТекущиеДанные.Книги); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Следующий() Тогда Если ВыборкаДетальныеЗаписи.КоличествоОстаток <= Элементы.СписокКниг.ТекущиеДанные.Количество Тогда Иначе Сообщить ("Данной книги не хватает в библиотеке"); КонецЕсли; Иначе Сообщить ("Этой книги нет в библиотеке"); КонецЕсли; КонецПроцедуры , то пишет {Документ.ВыдачаКниг.Форма.ФормаДокумента.Форма(13,45)}: Переменная не определена (Дата) Запрос.УстановитьПараметр("ДатаДокумента", <<?>>Дата -1); |
|||
3
GROOVY
26.11.13
✎
01:00
|
Специалиста позовите.
|
|||
4
Steel_Wheel
26.11.13
✎
01:01
|
(2) Амперсант забыл... это как минимум
|
|||
5
Steel_Wheel
26.11.13
✎
01:02
|
А нет, вру
|
|||
6
GROOVY
26.11.13
✎
01:03
|
(5) Объект он забыл. Но судя по коду это кг.
|
|||
7
Научите меня
26.11.13
✎
01:04
|
(2) Ну не совсем так! У тебя событие возникает на клиенте, из этой процедуры вызываешь еще одну (другую!) процедуру которая находится у тебя на сервере.. в ней уже все это делаешь.
Включи отладчик - и ты увидишь, что "Дата" у тебя реквизита нет на форме, он в объекте - поэтому скорее всего надо будет написать: "Объект.Дата" |
|||
8
Steel_Wheel
26.11.13
✎
01:05
|
"Запрос.УстановитьПараметр("Книги", Элементы.СписокКниг.ТекущиеДанные.Книги);"
эта строчка мне совсем не нравится, если Книги -- список значеий, то надо "В" а там СЗ или подзапрос (6) Угу. Я вот тоже так подумал |
|||
9
Научите меня
26.11.13
✎
01:07
|
(8) Кто его знает, может в одной строчке одна количество одной книги, может так просто назвали.
|
|||
10
Научите меня
26.11.13
✎
01:08
|
(9) Тьфу ты, ну вы поняли ) "одна" - лишнее слово
|
|||
11
Steel_Wheel
26.11.13
✎
01:09
|
(9) Глядя на это
Элементы.СписокКниг.ТекущиеДанные.Книги) я очень сомневаюсь но может и такое быть |
|||
12
infinity1992
26.11.13
✎
01:16
|
спасибо! вроде все заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |