|
"Преобразование значения к типу Число не может быть выполнено" (вина Роли???) | ☑ | ||
---|---|---|---|---|
0
e2e4
11.08.15
✎
19:33
|
Жму кнопку, с которой никаких раньше проблем не было. И прежде, чем процедура этой кнопки начинает выполняться (т.е. даже не могу отладчиком посмотреть, что за беда), получаю сабж.
Откуда вылезло? Все на что грешу - создана была роль (и юзер с этой ролью), но для нее на этот документ (где кнопка) дал полные права... |
|||
1
runoff_runoff
11.08.15
✎
19:39
|
в Отледке поставить Остановка по ошибке..
|
|||
2
e2e4
11.08.15
✎
20:08
|
с отладчиком кажется понял - отладка тоже требует соответствующих прав....
Под админской учеткой выполнил трассировку - и в очередной раз сильно удивился. Вот код: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МАКСИМУМ(КачествоОбъектаПрокатаСрезПоследних.ИнвНомер) КАК ИнвНомер |ИЗ | РегистрСведений.КачествоОбъектаПроката.СрезПоследних(, ) КАК КачествоОбъектаПрокатаСрезПоследних"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Если ВыборкаДетальныеЗаписи.Следующий() Тогда Результат = ВыборкаДетальныеЗаписи.ИнвНомер; Иначе Результат = "00000"; КонецЕсли; Возврат Результат; ...смысл простой - тупо берем МАКСИМУМ от измерения РС (строкового типа). Сейчас этот РС пустой. Поэтому, как я понимаю, ВыборкаДетальныеЗаписи.Следующий() = Ложь, но в табло вижу Истина! При этом - выполнение все же идет в ветку Иначе!! А дальше - вообще потеря дара речи: жму еще раз кнопку (движения РС еще не записаны - он все еще пустой!), теперь выполнение идет в ветку Если!!! Причем ВыборкаДетальныеЗаписи.ИнвНомер = Null (отсюда в дальнейшем и сабж)... "Где логика, где разум?!" (с) |
|||
3
e2e4
11.08.15
✎
20:15
|
(2) я балдею.... оказывается, если ОТЛАДЧИКОМ ПОСМОТРЕТЬ значение выражения "ВыборкаДетальныеЗаписи.Следующий()" ... Да, вы правильно поняли - происходит ПЕРЕХОД к следующей записи выборки. Т.е., когда я смотрю это выражение отладчиком - попадаю в Иначе. Если не смотрю - в Если.
|
|||
4
Defender aka LINN
11.08.15
✎
20:16
|
(3) В первый раз отладчик запустил, что ли?
|
|||
5
e2e4
11.08.15
✎
20:22
|
(4) а что, к этому можно привыкнуть? не, я не ругатель 1С, но.......
|
|||
6
ДенисЧ
11.08.15
✎
20:24
|
(5) Это, вообще-то, в любом языке так.
Ну, кроме тех, у из отладчиков только Сообщить() или аналог |
|||
7
e2e4
11.08.15
✎
20:35
|
(6) щас некогда, но не поленюсь, сделаю на днях тестик с ADODB.Recordset в Аксесе...чо-то сильно сомневаюсь, что так в любом языке.
|
|||
8
ДенисЧ
11.08.15
✎
20:58
|
(7) То есть если ты вычислишь в отладчике rs.MoveNext(), то у тебя оно на следующую запись не перейдёт?
Не рановато ли начал? Сегодня только вторник... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |