Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 июл 2024, 05:33

Открыть документ зная его название

Автор Станислав Лопарёв, 28 июл 2018, 19:09

0 Пользователей и 1 гость просматривают эту тему.

Станислав Лопарёв

Добрый день, у меня есть название документа "Авансовый отчет КП00-000001 от 09.03.2016 0:00:00", подскажите пожалуйста как мне программно открыть форму этого обьекта, уже все испробовал, второй день голову ломаю

AIFrame

ДокСсылка = Документы.АвансовыйОтчет.НайтиПоНомеру("КП00-000001", "09.03.2016 0:00:00");
Если ЗначениеЗаполнено(ДокСсылка) Тогда
    ДокСсылка.ПолучитьФорму().Открыть();
КонецЕсли;

Станислав Лопарёв

Цитата: AIFrame от 29 июл 2018, 06:22
ДокСсылка = Документы.АвансовыйОтчет.НайтиПоНомеру("КП00-000001", "09.03.2016 0:00:00");
Если ЗначениеЗаполнено(ДокСсылка) Тогда
    ДокСсылка.ПолучитьФорму().Открыть();
КонецЕсли;


Пишу так, выдает ошибку
{ВнешняяОбработка.Перегрузка_документа.Форма.ПерегрузкаДокумента.Форма(55)}: Метод объекта не обнаружен (ПолучитьФорму)
    ДокСсылка.ПолучитьФорму().Открыть();
Работаю на 1c:Предприятие 8.3.10


&НаКлиенте
Процедура ДокументОткрытие(Элемент, СтандартнаяОбработка)

ДокСсылка = НайтиСсылку();
Если ЗначениеЗаполнено(ДокСсылка) Тогда
        ДокСсылка.ПолучитьФорму().Открыть();
КонецЕсли;

КонецПроцедуры

&НаСервере
Функция НайтиСсылку();
ДокСсылка = Документы.АвансовыйОтчет.НайтиПоНомеру("КП00-000001", "09.03.2016 0:00:00");
Возврат ДокСсылка;
КонецФункции;


AIFrame

Потому что
ЦитироватьДоступность:

Толстый клиент.
В управляемых формах открывается не так.

&НаКлиенте
Процедура ДокументОткрытие(Элемент, СтандартнаяОбработка)
   
    ДокСсылка = НайтиСсылку();
    Если ЗначениеЗаполнено(ДокСсылка) Тогда
        СтруктураФормы = Новый Структура("Ключ", ДокСсылка);
        Форма = ПолучитьФорму("Документ.АвансовыйОтчет.ФормаОбъекта", СтруктураФормы);
        Форма.Открыть();
    КонецЕсли;
   
КонецПроцедуры

&НаСервере
Функция НайтиСсылку();
     ДокСсылка = Документы.АвансовыйОтчет.НайтиПоНомеру("КП00-000001", "09.03.2016 0:00:00");
     Возврат ДокСсылка;
КонецФункции;

LexaK

проще все гораздо

    ОткрытьЗначение(ДокСсылка);

будет открыт документ в форме документа по умолчанию, это что что надо в 99% случаев

для управляемого приложения ПоказатьЗначение(...), читайте СП 
если помогло нажмите: Спасибо!

AIFrame

LexaK,
Какое значение откроет вызов?
ОткрытьЗначение("Авансовый отчет КП00-000001 от 09.03.2016 0:00:00")

LexaK

AIFrame,
у автора как раз уже и есть ссылка на документа, просто он ее видит как
"Авансовый отчет КП00-000001 от 09.03.2016 0:00:00",

ну или
Цитировать
ДокСсылка = Документы.АвансовыйОтчет.НайтиПоНомеру("КП00-000001", дата(2016,3,9));
если помогло нажмите: Спасибо!

AIFrame

LexaK,
А, ты в этом смысле.
Ну да, можно и так.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск