v7: Не могу понять НайтиДокумент #559670


#0 by 1Сергей
Иногда работает, иногда нет:
#1 by ДенисЧ
Сообщить(СписокСуществующийДокументов.ПолучитьЗначение(Идн)); ?
#2 by Ms Test
а что внутри НайтиДокумент?
#3 by Ёпрст
"Реализация"
#4 by ДенисЧ
Раздуваешь огонь :-)
#5 by 1Сергей
сек. обработка долго делается
#6 by 1Сергей
Заполняется так:
#7 by 1Сергей
вроде нормальная ссылка на документ Производство 4 (31.01.07)
#8 by 1Сергей
Если Док=СоздатьОбъект("Документ.Производство"); то работает нормально. А так: Док=СоздатьОбъект("Документ"); ошибка
#9 by Ёпрст
переменную Док поди где-то переопределил на документ с типом, а не просто Документ Или есть такой реквизит формы.
#10 by Рэйв
Если инд выходит за размер списка, то ругаться не будет, но и вернет фиг с маслом, по которому естессно и получишь ругань как в сабже
#11 by 1Сергей
блин, точно. переопределил. Сорри за то, что потратили время :)
#12 by Ёпрст
еще как будет - "индекс выходит за размеры списка"
#13 by Рэйв
В табло проверил, просто пусто, ошибкой не ругается
#14 by 1Сергей
врёшь
#15 by Рэйв
+ТипЗначенияСтр дает  ""
#16 by Рэйв
#17 by Рэйв
Это на массив бы оно ругнулось на индекс.
#18 by andrewks
а ч/з Сообщить? :)
#19 by Рэйв
Ругнулся, но тем не менее вывел полученную пустую строку:)
#20 by Ёпрст
враньё!!!!!!!!!!!!!!! Сообщить(СЗ.ПолучитьЗначение); {_СЗ.ERT}: Индекс не входит в границы списка значений.
#21 by andrewks
вот!
#22 by Рэйв
Ну ты же не хочешь сказать, что я в фотошопе рисовал?:)) Видимо это фича отладчика:)
#23 by Ёпрст
жуколов еще и не то умеет, а ошибка есть была и будет.
#24 by Рэйв
Да, но не критическая тем не менее.програма продолжает отрабатывать.Просто ставят в извесность:)
#25 by andrewks
нифига она не продолжает отрабатывать
#26 by Ёпрст
еще раз - врешь. Это критическая ошибка и код прекратит своё выполнение.
#27 by Рэйв
Проверь. Сообщить у меня вывело вполне нормально и открыло форму
#28 by andrewks
возможно, он имеет в виду в отладчике?
#29 by Рэйв
Сообщить в оттладчике?:)) может вам обработку выложить?:)  Или сами проверите?
#30 by andrewks
я и так вижу твой код, просто у тебя эта строчка - последняя в обработчике открытия. ты после неё что-нить поставь, и увидишь, что выполнение кода прекращается
#31 by Ёпрст
не тупи да ? Где у тебя в коде строчка сп.ПолучитьЗначение перед ОткрытьФорму ? То что ты там в табло пишешь - никакого отношения к выполняемому коду не имеет, если что.. Можешь там что угодно писать. В Предприятии - в том числе.
#32 by Рэйв
Сообщить идет ПОСЛЕ получения зн
#33 by Рэйв
форма тоже открывается ПОСЛЕ
#34 by Ёпрст
может быть, надо поглядеть. :)
#35 by andrewks
етить... а что ей помешает открыться-то? тебе про прекращение выполнения кода говорят
#36 by andrewks
к
#37 by Рэйв
Код: :-)
#38 by Рэйв
Если  бы прекратилось выполнение кода, Сообщить бы не отработало
#39 by andrewks
погодь, щаз затестю
#40 by Ёпрст
работает, видать работает так же как и ошибки в шаблоне или в формуле ячеек таблицы - ошибки показывает, но код не прерывает.
#41 by andrewks
твоя взяла, не останавливается.
#42 by Рэйв
Причем значение то какое то все равно в зн загоняет.    Наверное обработка ошибки в самом методе .ПолучитьЗначение и в случае выхода за размер возвращает пустую строку
#43 by Рэйв
:-)
#44 by andrewks
видимо, отрабатывает, как в Получить, только там сообщения не возникает вообще, если нет такого значения
#46 by trdm
+ Док - должен быть именно того вида, документ которого ищется тут Док.НайтиДокумент(вДокИзСписка);
#47 by ДенисЧ
не обязательно
#48 by 1Сергей
+1
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С