![]() |
![]() |
![]() |
|
Ошибка получения формы документа | ☑ | ||
---|---|---|---|---|
0
Irbis05
21.08.12
✎
12:28
|
Здраствуйте, возникла такая проблема: в файле внешнего отчета выполняю поиск документа по номеру, а потом пытаюсь открыть найденую форму. Вот код:
Док = Документы.ПлатежноеПоручениеИсходящее.НайтиПоНомеру("00000000152"); Если Док = Неопределено Тогда Сообщить("Ошибка1"); Возврат; КонецЕсли; ФормаДокумента = Док.ПолучитьФорму("ФормаДокумента"); Если ФормаДокумента = Неопределено Тогда Сообщить("Ошибка2"); Возврат; КонецЕсли; ФормаДокумента.Открыть(); Однако у меня выходит не понятная мне ошибка: {Форма.ФормаОтчета.Форма(87)}: Ошибка при вызове метода контекста (ПолучитьФорму) ФормаДокумента = Док.ПолучитьФорму("ФормаДокумента"); по причине: Элемент не выбран! Что тут не так? Заранее спасибо. |
|||
1
Wobland
21.08.12
✎
12:29
|
а что тебе возвращается в случае ненайденности документа?
|
|||
2
Mort
21.08.12
✎
12:29
|
Когда это процедура НайтиПоНомеру возвращала "Неопределено" ?
|
|||
3
zladenuw
21.08.12
✎
12:30
|
(2)
Возвращаемое значение: Тип: ДокументСсылка.<Имя документа>; Неопределено. Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ. Если номер не задан (длина = 0), то будет возвращено Неопределено. |
|||
4
ZanderZ
21.08.12
✎
12:31
|
(0) сделай проверку на пустую ссылку - лучше через ЗначениеЗаполнено
(2) в СП посмотри |
|||
5
Web00001
21.08.12
✎
12:35
|
(4) Она может возращать неопределено но не в данном случае
|
|||
6
Irbis05
21.08.12
✎
12:35
|
В выборе по номеру и по пустойссылке, док принимает значение Документ.ПлатежныеПорученияИсходящие и все
|
|||
7
ZanderZ
21.08.12
✎
12:36
|
(5) я не верно написал "сделай проверку И на пустую ссылку "
(6) ну так у тебя по номеру не находит и возвращает пустую ссылку... |
|||
8
Irbis05
21.08.12
✎
12:36
|
Посмотрел при помощи точки останова пишет форма документа неопределено
|
|||
9
Wobland
21.08.12
✎
12:37
|
(8) патамушта ещё не получена. патамушта неоткуда её получать. патамушта не найден твой документ
|
|||
10
Irbis05
21.08.12
✎
12:38
|
(7) Заработало с пустойСсылкой, но мне нужно чтоб искал номер, как мне это сделать?
|
|||
11
Wobland
21.08.12
✎
12:39
|
(10) у тебя уже ищет
|
|||
12
ZanderZ
21.08.12
✎
12:40
|
(10) СП почитать про НайтиПоНомеру, проверить верно ли номер проставлен
|
|||
13
Irbis05
21.08.12
✎
12:42
|
(11) а почему не открывает документ?
(12) номер документа скопировал прямо из документа, пробовал записывать его в разных форматах, один и тот же результат |
|||
14
Wobland
21.08.12
✎
12:43
|
(13) период ещё скажи
|
|||
15
Irbis05
21.08.12
✎
12:48
|
Период не задавал. Проверил еще раз покывает что док = пустаяссылка, получается что он не находит по номеру, а почему мне не понятно.
|
|||
16
ZanderZ
21.08.12
✎
12:50
|
(15) период задай - или запросом сделай
|
|||
17
Irbis05
21.08.12
✎
13:12
|
Че та ни как, я посмотрел через точку останова док примает ссылку на документ весь, у его параметров значение номер = " ", дата = "01.01.0001 00:00:00, ну и все остальные тоже по минимуму или нулю
|
|||
18
Wobland
21.08.12
✎
13:17
|
(17) это пустая ссылка
|
|||
19
Wobland
21.08.12
✎
13:17
|
(17) ищи лучше
|
|||
20
Рэйв
21.08.12
✎
13:23
|
(17)
Синтаксис: НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>) Параметры: <НомерДокумента> (обязательный) Тип: Число; Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа. <ДатаИнтервала> (необязательный) Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года. (!!!!!!!)-->Параметр используется для документов с периодической нумерацией. |
|||
21
Irbis05
21.08.12
✎
13:46
|
Решил проблему, всем спасибо за участие,помощь и сочуствие. Если кому-то интересно, то у меня заработало вот так:
Номер = "00000000141"; Док = Документы.ПлатежноеПоручениеИсходящее.НайтиПоНомеру(Номер, ТекущаяДата()); Если Док <> Документы.ПлатежноеПоручениеИсходящее.ПустаяСсылка() Тогда Если Не ЗначениеЗаполнено(Док) Тогда Сообщить("Ошибка1"); Возврат; КонецЕсли; ФормаДокумента = Док.ПолучитьФорму("ФормаДокумента"); Если ФормаДокумента = Неопределено Тогда Сообщить("Ошибка2"); Возврат; КонецЕсли; ФормаДокумента.Открыть(); Иначе Сообщить("АААААААА"); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |