|
Помогите с запросом!!! Значение не является значением объектного типа. | ☑ | ||
---|---|---|---|---|
0
листопад
16.05.15
✎
20:00
|
Мне надо получить номер трудового договора сотрудника, который записан в док-те ПриемНаРаботу. Но выдает ошибку: Значение не является значением объектного типа (ТДНомер)
Вот код: &НаСервере Функция ВыборкаНаСервере() //здесь запрос Пока РезультатЗапроса.Следующий() Цикл Результат = ""; Если ЗначениеЗаполнено(РезультатЗапроса.СотрудникНомерДоговора) Тогда ТДНомер = РезультатЗапроса.СотрудникНомерДоговора; Иначе ДанныеДоговора = ПолучитьНомерДоговора(РезультатЗапроса.ФЛ); ТДНомер = ДанныеДоговора.ТДНомер; //вот здесь ошибка: Значение не является значением объектного типа (ТДНомер) КонецЕсли; Если ТДНомер <> Неопределено Тогда Результат = "по договору № "+ ТДНомер; КонецЕсли; КонецФункции &НаСервере Функция ПолучитьНомерДоговора(ФЛ) Структура = Новый Структура; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | КадроваяИсторияСотрудников.ФизическоеЛицо.Наименование, | КадроваяИсторияСотрудников.Регистратор.ТрудовойДоговорНомер КАК ТДНомер |ИЗ | РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников |ГДЕ | КадроваяИсторияСотрудников.Регистратор ССЫЛКА Документ.ПриемНаРаботу | И КадроваяИсторияСотрудников.ФизическоеЛицо = &ФЛ | |УПОРЯДОЧИТЬ ПО | КадроваяИсторияСотрудников.Регистратор.Дата УБЫВ"; Запрос.УстановитьПараметр("ФЛ", ФЛ); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Если НЕ ЗначениеЗаполнено(Выборка.ТДНомер) Тогда Структура.Вставить("ТДНомер", Неопределено); Иначе Структура.Вставить("ТДНомер", Выборка.ТДНомер); КонецЕсли; КонецЕсли; Возврат Структура; КонецФункции // ПолучитьНомерДоговора() |
|||
1
User_Agronom
16.05.15
✎
20:01
|
Там NULL найден?
|
|||
2
фобка
16.05.15
✎
20:01
|
Выборка пустая, ДанныеДоговора = неопределено
|
|||
3
ДенисЧ
16.05.15
✎
20:02
|
ТДНомер = ДанныеДоговора.ТДНомер;
Если тдНомер <> Неопределено... |
|||
4
ДенисЧ
16.05.15
✎
20:02
|
Точнее - ДанныеДоговора <> Неопределено
|
|||
5
RomanYS
16.05.15
✎
20:03
|
(2) +1 возвращается пустая структура
|
|||
6
фобка
16.05.15
✎
20:03
|
Не, там структура всегда
|
|||
7
фобка
16.05.15
✎
20:05
|
Походу (1) прав
|
|||
8
листопад
16.05.15
✎
20:05
|
Вот что в отладчике показывает: http://s017.radikal.ru/i443/1505/cc/4f58861f7eba.jpg
|
|||
9
фобка
16.05.15
✎
20:06
|
(8) это нормально, ты же в цикл не вошел
|
|||
10
фобка
16.05.15
✎
20:07
|
В условие
|
|||
11
RomanYS
16.05.15
✎
20:07
|
(8) так ты шаг сделай, у тебя выборка еще не инициализирована
|
|||
12
листопад
16.05.15
✎
20:07
|
Т.е. после строчки Если Выборка.Следующий() Тогда
Сразу переходит на КонецЕсли; |
|||
13
RomanYS
16.05.15
✎
20:08
|
(12) тебе об этом и говорят: выборка пустая
|
|||
14
фобка
16.05.15
✎
20:09
|
(12) значит запрос.выполнить().пустой() = истина
|
|||
15
листопад
16.05.15
✎
20:09
|
Он даже в цикл не заходит!
(13) В консоли запросов эта Выборка не пустая!!! Показывает номер договора! |
|||
16
фобка
16.05.15
✎
20:10
|
(15) нет
|
|||
17
RomanYS
16.05.15
✎
20:12
|
(15) значит с параметрами где-то накосячил.
Вопрос: зачем тебе запрос в цикле, почему сразу не получать номер в основном запросе? |
|||
18
листопад
16.05.15
✎
20:13
|
Вот в консоли результат есть: http://s011.radikal.ru/i315/1505/20/04b6d59d1e8e.jpg
|
|||
19
ДенисЧ
16.05.15
✎
20:15
|
в консоли ФЛ один, в коде другой
|
|||
20
листопад
16.05.15
✎
20:16
|
(19) Почему Вы так решили? Я проверяла, в коде обработки, в параметре ФЛ, передается она же.
|
|||
21
ДенисЧ
16.05.15
✎
20:18
|
(20) Потому что результат разный
|
|||
22
фобка
16.05.15
✎
20:21
|
Это очень просто проверить
Сообщить(ПолучитьНомерДоговора(РезультатЗапроса.ФЛ)); Сообщить(ПолучитьНомерДоговора(ПараметрИзКонсоли)); |
|||
23
листопад
16.05.15
✎
20:25
|
Нет, вот параметр ФЛ, там она же: [url=http://my-files.ru/1irw4e]http://my-files.ru/1irw4e[/url]
|
|||
24
листопад
16.05.15
✎
20:26
|
||||
25
RomanYS
16.05.15
✎
20:27
|
(23) СТРОКА?
|
|||
26
листопад
16.05.15
✎
20:29
|
(22) Написала эту проверку через Сообщить: ничего не выдал.
|
|||
27
RomanYS
16.05.15
✎
20:30
|
(23) у тебя в параметре строка, а должна быть ссылка
|
|||
28
листопад
16.05.15
✎
20:33
|
(25) Вы гений!!! Точно!!! Всем СПАСИБО!!! :*)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |