По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот пример моей процедуры, только вот функция УстановитьВремя не срабатывает, где ошибка
НачатьТранзакцию();
Попытка
Если Док.НайтиПоНомеру(Число(СокрЛП(Запрос.НомерДок)))=1 Тогда
Док.СделатьНеПроведенным();
Док.ТекущийДокумент().УстановитьВремя(Час,Минута,Секунда);
Док.Записать();
Док.Провести();
ЗафиксироватьТранзакцию();
КонецЕсли;
Исключение
Сообщить(Строка(Запрос.ТекущийДокумент)+" не проводится или заблокирован");
ОтменитьТранзакцию();
КонецПопытки;
НачатьТранзакцию();
Попытка
Если Док.НайтиПоНомеру(Число(СокрЛП(Запрос.НомерДок)))=1 Тогда
Док.СделатьНеПроведенным();
Док.ТекущийДокумент().УстановитьВремя(Час,Минута,Секунда);
Док.Записать();
Док.Провести();
ЗафиксироватьТранзакцию();
КонецЕсли;
Исключение
Сообщить(Строка(Запрос.ТекущийДокумент)+" не проводится или заблокирован");
ОтменитьТранзакцию();
КонецПопытки;
У меня это реализуется так (в случае не срабатывания). Стараюсь не использовать длинные выражения (не знаю почему, но иногда именно это бывает причиной) типа:
Док.ТекущийДокумент().УстановитьВремя(Час,Минута,Секунда);
пишу двумя строчками:
ДокТД=Док.ТекущийДокумент();
ДокТД.УстановитьВремя(Час,Минута,Секунда);
и опять же по этой причине, для числового значения СокрЛП моно не использовать.
Док.ТекущийДокумент().УстановитьВремя(Час,Минута,Секунда);
пишу двумя строчками:
ДокТД=Док.ТекущийДокумент();
ДокТД.УстановитьВремя(Час,Минута,Секунда);
и опять же по этой причине, для числового значения СокрЛП моно не использовать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот