Проблема с доступом к значению реквизита.
11.09.2007
19:17
#1
"Здравствуйте все.
Док = СоздатьОбъект("Документ.ПКО");
Док.НайтиДокумент(ВыбДок);
Сообщить(Док.KEY);
Выдаёт сообщение "НеизвестныйОбъект"
KEY - общий реквизит для всех документов имеет строковый тип.
Подскажите, что не так?
"
Док = СоздатьОбъект("Документ.ПКО");
Док.НайтиДокумент(ВыбДок);
Сообщить(Док.KEY);
Выдаёт сообщение "НеизвестныйОбъект"
KEY - общий реквизит для всех документов имеет строковый тип.
Подскажите, что не так?
"
12.09.2007
10:36
#2
"Возможно, нужно ввести переменную и присваивать ей ссылку на документ. И к реквизиту обращаться через эту переменную. Например, так:
Док = СоздатьОбъект("Документ.ПКО");
Док_1=Док.НайтиДокумент(ВыбДок);
Сообщить(Док_1.KEY);
"
Док = СоздатьОбъект("Документ.ПКО");
Док_1=Док.НайтиДокумент(ВыбДок);
Сообщить(Док_1.KEY);
"
12.09.2007
10:52
#3
Если бы всё было так просто, я бы не спрашивал.
Перепробывал все возможные варианты, и с присвоением.
При попытке определить тип реквизита "ТипЗначенияСтр", пишет "СТРОКА"
ПустоеЗначение(Резвизит) = 0
А к значению обратится всёравно не получается.
Перепробывал все возможные варианты, и с присвоением.
При попытке определить тип реквизита "ТипЗначенияСтр", пишет "СТРОКА"
ПустоеЗначение(Резвизит) = 0
А к значению обратится всёравно не получается.
12.09.2007
10:55
#4
"НайтиДокумент
Найти документ по значению.
Синтаксис:
НайтиДокумент(<Документ>)
Англоязычный синоним:
FindDocument
Параметры:
<Документ>
Выражение, содержащее значение типа «Документ».
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Возвращаемое значение:
Число 1 — если действие выполнено (документ найден);
Число 0 — если действие не выполнено.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Описание:
Метод НайтиДокумент выполняет поиск документа по значению, заданному параметром <Документ>. Данный метод используется для позиционирования объекта на конкретный документ.
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.
Пример:
Процедура УдалДок(Докум)
Док = СоздатьОбъект("Документ.НаклПрих");
// позиционируем созданный объект на заданном документе
Док.НайтиДокумент(Докум);
Если Док.Выбран() > 0 Тогда
// если документ найден, то удалим его
Док.Удалить();
Иначе
Предупреждение ("Неверно задан документ!");
КонецЕсли;
КонецПроцедуры
Смотрите внимательно, проблема именно с реквизитом.Скорее всего его именно нет.
"
Найти документ по значению.
Синтаксис:
НайтиДокумент(<Документ>)
Англоязычный синоним:
FindDocument
Параметры:
<Документ>
Выражение, содержащее значение типа «Документ».
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Возвращаемое значение:
Число 1 — если действие выполнено (документ найден);
Число 0 — если действие не выполнено.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Описание:
Метод НайтиДокумент выполняет поиск документа по значению, заданному параметром <Документ>. Данный метод используется для позиционирования объекта на конкретный документ.
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.
Пример:
Процедура УдалДок(Докум)
Док = СоздатьОбъект("Документ.НаклПрих");
// позиционируем созданный объект на заданном документе
Док.НайтиДокумент(Докум);
Если Док.Выбран() > 0 Тогда
// если документ найден, то удалим его
Док.Удалить();
Иначе
Предупреждение ("Неверно задан документ!");
КонецЕсли;
КонецПроцедуры
Смотрите внимательно, проблема именно с реквизитом.Скорее всего его именно нет.
"
12.09.2007
11:08
#5
"На твоем месте я бы не много переделал:
Док = СоздатьОбъект("Документ.ПКО");
Если Док.НайтиДокумент(ВыбДок) = 1 Тогда
Сообщить(Док.KEY);
КонецЕсли;
откуда ты знаешь нашел он документ или нет,все зависит где ты это используешь."
Док = СоздатьОбъект("Документ.ПКО");
Если Док.НайтиДокумент(ВыбДок) = 1 Тогда
Сообщить(Док.KEY);
КонецЕсли;
откуда ты знаешь нашел он документ или нет,все зависит где ты это используешь."
12.09.2007
12:03
#6
"Вот тело:
Процедура Сформировать()
Тест="""";
СпрДок = СоздатьОбъект("Документ");
Если СпрДок.НайтиДокумент(ВыбДок) = 1 Тогда
док = СпрДок.ТекущийДокумент();
Сообщить(Строка(док));
Сообщить(ТипЗначенияСтр(док.KEY));
Сообщить(ПустоеЗначение(док.KEY));
Тест=док.KEY;
Сообщить(тест);
КонецЕсли;
КонецПроцедуры
Вот результат:
Приходный кассовый ордер 005151 (11.09.07)
Строка
0
НеизвестныйОбъект
Реквизит описан как:
Документы
Общие реквизиты
KEY
Имеет тип "строка(20)""
Процедура Сформировать()
Тест="""";
СпрДок = СоздатьОбъект("Документ");
Если СпрДок.НайтиДокумент(ВыбДок) = 1 Тогда
док = СпрДок.ТекущийДокумент();
Сообщить(Строка(док));
Сообщить(ТипЗначенияСтр(док.KEY));
Сообщить(ПустоеЗначение(док.KEY));
Тест=док.KEY;
Сообщить(тест);
КонецЕсли;
КонецПроцедуры
Вот результат:
Приходный кассовый ордер 005151 (11.09.07)
Строка
0
НеизвестныйОбъект
Реквизит описан как:
Документы
Общие реквизиты
KEY
Имеет тип "строка(20)""
12.09.2007
12:39
#7
Все верно,все работает)))
Попрробуй аналогично с реквизитом "комментарий",если нет касяка то колдуй с реквизитом "KEY"
если есть обрати внимание на номер платформы.
Попрробуй аналогично с реквизитом "комментарий",если нет касяка то колдуй с реквизитом "KEY"
если есть обрати внимание на номер платформы.
Читают тему
(гостей: 1)