|
Найти "засаду" | ☑ | ||
---|---|---|---|---|
0
REM
10.12.12
✎
19:23
|
Добрый всем вечер!
Пытаюсь "выдрать" кусок конфигурации из бухгалтерии 2.0 Упорно не хочет работать кусок кода УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию(НаборКонтактнойИнформации, Ссылка); Вызывается из формы элемента справочников. Ошибка - Значение не является значением объектного типа (Отбор) Тот же кусок кода нормально отрабатывает при вызове из внешней обработки. Понимаю что вопрос из серии "попробуй угадай", но может кто посмотрит "свежим взглядом"? Спасибо! |
|||
1
Axel2009
10.12.12
✎
19:25
|
набор - не набор. что не ясного?
|
|||
2
Kashemir
10.12.12
✎
19:25
|
Процедура ПрочитатьКонтактнуюИнформацию(НаборЗаписей, Ссылка) Экспорт
Если ТипЗнч(НаборЗаписей) <> Тип("РегистрСведенийНаборЗаписей.КонтактнаяИнформация") Тогда НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); Иначе НаборЗаписей.Очистить(); КонецЕсли; НаборЗаписей.Отбор.Объект.Значение = Ссылка; НаборЗаписей.Отбор.Объект.Использование = Истина; Ну и что тут думать ? |
|||
3
Рэйв
10.12.12
✎
19:26
|
(0)Мне кажется любого адинесника со стажм более года разбуди ночью и скажи "Значение не является значением объектного типа "...
И все скажут одно и тоже. "НЕТ ТАКОГО ПОЛЯ ИЛИ МЕТОДА!" даже не смотря в код |
|||
4
Lys
10.12.12
✎
19:26
|
Конфигуратор - меню "Отладка" - Остановка по ошибке - включить. Далее - Shift+F9 на всем, что можно. И думать, думать...
|
|||
5
Рэйв
10.12.12
✎
19:27
|
+(3)Хотя может я и путаю с агрегатным:-)...Но фраза ошибки тем не менее -весьма распространена
|
|||
6
REM
10.12.12
✎
19:40
|
(1) так вот и не понятно почему "набор - не набор".
|
|||
7
REM
10.12.12
✎
19:40
|
(5) а можно по подробнее?
|
|||
8
Рэйв
10.12.12
✎
19:44
|
(7)Ну...если домустим тысделал так:
Отбор= 100; А потом пытаешься сделать Чтото=Отбор.КакоетоПоле; То оно по идее тебя именно так и пошлет. потому что нельзя не от объекта через точку брать чтото. Так что смотри чему там равен у тебя Отбор |
|||
9
Мимохожий Однако
10.12.12
✎
19:45
|
(7)Шаг 1. Поставь точку останова на строке с ошибкой (или предыдущую строку). Включи отладчик. Запусти. Результат в студию. Скажу шаг 2 )))
|
|||
10
Рэйв
10.12.12
✎
19:46
|
(9)Ну ты прям интригу завернул:-)..
|
|||
11
hhhh
10.12.12
✎
19:49
|
(10) похоже автор текстовый файл подсовывает. Или вордовский.
|
|||
12
REM
10.12.12
✎
19:49
|
(8) Вот не понятно:
В отладчике становлюсь на "НаборЗаписей" пишет Значение - "РегистрСведенийНаборЗаписей.КонтактнаяИнформация" Тип - Строка ??? ну потому я так понимаю отбор и не устанавливается? Почему "строка"? |
|||
13
Рэйв
10.12.12
✎
19:50
|
(12)Ну как тете сказать....Потому что тип РегистрСведенийНаборЗаписей.КонтактнаяИнформация" - это строка...Как ни прискорбно:-)
|
|||
14
Lys
10.12.12
✎
19:52
|
"Стаж: 8 г. 10 мес." о_0
Позволь поинтересоваться - ты чем занимался эти 8 лет? |
|||
15
REM
10.12.12
✎
19:53
|
(13) Спасибо, ободрил, а то я уже думал совсем крыша едет...
(14) Да при чем тут стаж, заблудился я, не вижу где засада... |
|||
16
rphosts
10.12.12
✎
19:55
|
(12) а где ты пытаешься заставить работать свой код?
|
|||
17
REM
10.12.12
✎
19:55
|
(14) а что касается опыта и интересов - аналогично...)
|
|||
18
rphosts
10.12.12
✎
19:56
|
+ (16) форма какая-то или как?
|
|||
19
Lys
10.12.12
✎
19:58
|
(15) Ну если в проверке типа значения переменной "НаборЗаписей" заблудился, не видишь отличий между типом "Строка" и типом "РегистрСведенийНаборЗаписей"...
Это ты не заблудился, это ты профессией ошибся. |
|||
20
REM
10.12.12
✎
19:58
|
(16) пример - справочник физ.лица - открываю элемент справочника - не работает
Делаю из внешней обработки - на форме поле ввода - справочник физ. лица - вызываю процедуру из общего модуля - все работает |
|||
21
rphosts
10.12.12
✎
19:59
|
(20) реквизита у справочника или у фориы НаборЗаписей нет?
|
|||
22
Lys
10.12.12
✎
20:00
|
(20) попробую, в последний раз, конструктивно:
что такое в твоем примере "НаборКонтактнойИнформации"? Где и чем заполняется эта переменная? |
|||
23
rphosts
10.12.12
✎
20:02
|
(21) ну или там в какой переменной не тот тип значений
|
|||
24
REM
10.12.12
✎
20:03
|
(21) да вроде бы как нет.
Там полный кд в общем модуле Если ТипЗнч(НаборЗаписей) <> Тип("РегистрСведенийНаборЗаписей.КонтактнаяИнформация") ТогдаНаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); Иначе НаборЗаписей.Очистить(); КонецЕсли; |
|||
25
REM
10.12.12
✎
20:04
|
Вызываю "принудительно"
РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); не работает... |
|||
26
rphosts
10.12.12
✎
20:04
|
(24) какой тип у НаборЗаписей до Если?
|
|||
27
REM
10.12.12
✎
20:12
|
(26)
из справочника вызывается говоря просто: УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию(НаборКонтактнойИнформации, Ссылка); НаборКонтактнойИнформации ="" Ссылка - ссылка на элемент справочника В НаборКИ вернется НаборЗаписи |
|||
28
rphosts
10.12.12
✎
20:15
|
(27) ответь на вопрос из (26)
|
|||
29
REM
10.12.12
✎
20:18
|
(28)Процедура ПрочитатьКонтактнуюИнформацию(НаборЗаписей, Ссылка) Экспорт
Насколько я понимаю тот что передан из формы справочника, в данном случае - строка |
|||
30
rphosts
10.12.12
✎
20:20
|
(29) а сразу после того как выаолнется строка:
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); какой тип у НаборЗаписей, тольк не умозрительно а посмотреть в отадчике |
|||
31
REM
10.12.12
✎
20:22
|
В отладчике становлюсь на "НаборЗаписей" пишет
Значение - "РегистрСведенийНаборЗаписей.КонтактнаяИнформация" Тип - Строка |
|||
32
rphosts
10.12.12
✎
20:25
|
(31) попробуй в модуле твоей формы заменить все твои НаборЗаписей ну пусть на НаборЗаписей123 и посмотр изментся ли чего
|
|||
33
rphosts
10.12.12
✎
20:29
|
изнения есть?
|
|||
34
Живой Ископаемый
10.12.12
✎
20:33
|
2(31) тебя просят НаборЗаписей тип сказать а не того что ты говоришь.
|
|||
35
Живой Ископаемый
10.12.12
✎
20:34
|
не. отбой, фигню написал
|
|||
36
Мимохожий Однако
10.12.12
✎
20:36
|
Процедура ПрочитатьКонтактнуюИнформацию(НаборЗаписей, Ссылка) . Во второй параметр положи ссылку на элемент справочника.
|
|||
37
REM
10.12.12
✎
20:41
|
(33) да изменения есть, говорит не знаем такого
Вот и заблудился... Проверил в Бухии - При вызове из формы элемента тип "НаборКИ" = РегистрСведений... а у меня - строка - а вот откуда что берется не нахожу... |
|||
38
Мимохожий Однако
10.12.12
✎
20:47
|
(31) РегистрыСведений и РегистрСведений. ИМХО, опечатка?
|
|||
39
REM
10.12.12
✎
20:48
|
(38) конечно опечатка, просто уже крыша едет...
|
|||
40
Lys
10.12.12
✎
20:49
|
(37) Твоя форма - управляемая?
НаборКонтактнойИнформации - это что? реквизит ТВОЕЙ формы, или переменная, явно заданная в модуле твоей формы, в коде? |
|||
41
REM
10.12.12
✎
20:50
|
(40) форма обычная, реквизита такого нет, переменной модуля тоже нет...
|
|||
42
Мимохожий Однако
10.12.12
✎
20:57
|
Покажи побольше кода...Поищи в модуле переменную НаборКонтактнойИнформации через Cntrl-F с начала
|
|||
43
Lys
10.12.12
✎
21:01
|
(41) Тогда что же это такое, если при передаче этого параметра в процедуру общего модуля программа не ругается на "Переменная с именем НаборКонтактнойИнформации не обнаружена"?
1. Если вызывается из формы элемента справочника - не является ли НаборКонтактнойИнформации реквизитом твоего справочника? 2. Не является ли НаборКонтактнойИнформации глобальной переменной? 3. Ну и совсем фатнастический вариант - а существует ли в твоей конфе регистр сведений "КонтактнаяИнформация", и если да - какая у него структура? |
|||
44
REM
10.12.12
✎
21:11
|
(43)
1. нет такого реквизита 2. нет глобальной переменной ну или не нахожу... 3.Может это и покажется странным(43) - но регист такой есть, и данные там есть, и как я уже писал из внешней обработки все работает. |
|||
45
Мимохожий Однако
10.12.12
✎
21:14
|
Код побольше стесняешься показать? Форма, которая используется в справочнике, к нему привязана как к форма элемента?
|
|||
46
Lys
10.12.12
✎
21:15
|
(44) Тогда отладчик пошагово, и на каждом шаге - контроль типа значения переменной НаборКонтактнойИнформации, а затем у НаборЗаписей. Вплоть до места, где падает.
И да - присоединюсь к (45). По тем обрывкам инфы, которую ты выдаешь, дальше медитировать тяжело. |
|||
47
REM
10.12.12
✎
21:16
|
(45) Да че стеснятьто то...
Кусок типовой бухии 2.0 справочник Физи. Лица. Форма Элемента... |
|||
48
Lys
10.12.12
✎
21:22
|
(47) вот тогда за решением своей проблемы и обращайся к авторам типовой бухии. Если код, приводящий к ошибке, целиком показать не можешь.
|
|||
49
Мимохожий Однако
10.12.12
✎
21:23
|
Сколько форм элемента у твоего справочника Физические лица?
|
|||
50
REM
10.12.12
✎
21:26
|
(46)
Форма элемента Физ.Лиц - в модуле формы УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию(НаборКонтактнойИнформации, Ссылка); Общий модуль Управление КИ Процедура ПрочитатьКонтактнуюИнформацию(НаборЗаписей, Ссылка) Экспорт Принудительно (убираю всякие Если) говорю НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); |
|||
51
REM
10.12.12
✎
21:26
|
(49) одна однако...
|
|||
52
Мимохожий Однако
10.12.12
✎
21:31
|
Переменная НаборЗаписей какой тип значения показывает
после строчки НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); ? |
|||
53
REM
10.12.12
✎
21:37
|
(52)
В отладчике становлюсь на "НаборЗаписей" пишет Значение - "РегистрСведенийНаборЗаписей.КонтактнаяИнформация" Тип - Строка ??? |
|||
54
Lys
10.12.12
✎
21:40
|
(53) Ты сочетание кнопок Shift+F9 - знаешь?
Ну или правая кнопка мыши на НаборЗаписей - и "Вычислить выражение"? Открывается отдельное окно. Отдельное, для просмотра значения переменной. КАКОЙ тип значения показывается в этом окошке, для переменной НаборЗаписей, в колонке "Тип" ? |
|||
55
Мимохожий Однако
10.12.12
✎
21:42
|
Сообщить(ТипЗнч(НаборЗаписей ));
|
|||
56
REM
10.12.12
✎
21:45
|
(53) Ты не поверишь, но что то такое про сочетания клавиш я слышал ....
Повторяю уже далеко не в первый раз Тип - Строка. (55) Я тоже так люблю писать... |
|||
57
Живой Ископаемый
10.12.12
✎
21:46
|
либо нам врут либо кэш
|
|||
58
Lys
10.12.12
✎
21:49
|
(57) подозреваешь у автора демоническое обновление?
|
|||
59
REM
10.12.12
✎
21:52
|
(57,58) но из внешней обработки то работает...
Где то какая то засада, а найти не могу... |
|||
60
REM
10.12.12
✎
21:55
|
Внешняя обработка
НаборКонтактнойИнформации =""; Ссылка = ЭлементыФормы.ПолеВвода1.Значение; (Тип поляВвода - Спр. ФизЛица) УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию(НаборКонтактнойИнформации, Ссылка); |
|||
61
Lys
10.12.12
✎
21:58
|
(59) По тому объему инфы, что ты предоставил - тут вряд ли кто еще тебе поможет.
Телепатировать не умеем, сорри. А вот версию с кэшем проверь, (57) редко ошибается. |
|||
62
hhhh
10.12.12
✎
22:00
|
(60) прикалываешься, что ли?, встань в отладчике на следующую команду, а не на эту. И не просто встань, а пошагово продвинься кнопкой F11. Ты просто курсором встаешь, что ли?
|
|||
63
REM
10.12.12
✎
22:05
|
(62) Да и вставал и ходил...
В (60) показан код воспроизводящий все переменные и вызов процедуры из формы элемента. Вызываю из Внешней обработки, код работает... |
|||
64
awa15
10.12.12
✎
22:09
|
(63) Ты два раза повторил, что реквизита НаборКонтактнойИнформации нет. Ты только реквизиты справочника смотрел или реквизиты формы тоже смотрел?
|
|||
65
REM
10.12.12
✎
22:22
|
(63) Нет реквизитов....
|
|||
66
REM
10.12.12
✎
22:24
|
65 - 64
|
|||
67
Lys
10.12.12
✎
22:26
|
(65) кэш чистил?
|
|||
68
REM
10.12.12
✎
23:24
|
(68) Поели, теперь можно и кеш почистиь...
НЕ работает!!! Всем СПАСИБО! Всем спокойной ночи |
|||
69
Axel2009
13.12.12
✎
11:47
|
(68) набор не набор, потому как реквизит формы ТЧ имеет тип не Набор.
|
|||
70
rphosts
13.12.12
✎
12:03
|
(69) я это уже разжовывал дней несколько назад
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |