На форме имеется надпись-гиперссылка в которой храниться ссылка на документ Счет-Фактура. Нужно сделать проверку перед записью на наличие ссылки на документ. <br>Подскажите, пожалуйста, как это сделать.
На форме имеется надпись-гиперссылка в которой храниться ссылка на документ Счет-Фактура. Нужно сделать проверку перед записью на наличие ссылки на документ. <br>Подскажите, пожалуйста, как это сделать.
Это не гиперссылку надо проверять, а искать в базе документ с/ф с основанием по текущему документу.
Не может в надписи храниться значение. На время открытой формы это конечно сделать можно, но проверять надо реальный реквизит.<br><br>п.с. Обычно еще указывают платформу, конфигурацию и релиз.
1С:Предприятие 8.1 (8.1.15.14) "Управление торговлей", редакция 10.3 (10.3.7.9)
Я правильно понимаю? В процедуре ПередЗаписью я выполняю запрос, в котором ищу счет фактуру, со значением реквизита Основание таким же как и номер данного документа (форма, которого открыта). И если результат запроса пуст, то например выдаю сообщение?
Да, правильно.<br>Только не "номер данного документа", а Ссылка.<br><br>Только вот какая ситуация - пока Вы не запишете документ, не будет ссылки и нельзя сделать счет-фактуру. Так что не понятно чего вы добьетесь - что нельзя будет вообще записать реализацию?<br><br>То есть код конечно правильный по форме, а по содержанию - бессмысленный.<br><br><br>ПрофитСервис, Москва
Если Вы хотите добиться того, что для каждой Реализации должна быть введена С/ф, то лучше сделать в процедуре "ПриЗаписи()" проверку на то, что режим записи = Проведение и автоматом создать С/Ф.
"Всем спасибо за своевременные и конструктивные советы. Требовалось только выводить предупреждение, о невведенном счете-фактуре. В процедуре проведения документа написал следующее. Работает) <br><br>//Проверяем введен ли счет-фактура если сумма НДС не нулевая<br>//в запросе находим счет-фактуру, у которого документ основание данный документ<br>Запрос = Новый Запрос;<br>Запрос.Текст = "<br>|ВЫБРАТЬ<br>| СчетФактураПолученный.Номер<br>|ИЗ<br>| Документ.СчетФактураПолученный КАК СчетФактураПолученный<br>|ГДЕ<br>| СчетФактураПолученный.ДокументОснование.Ссылка = &Ссылка";<br><br>Запрос.УстановитьПараметр("Ссылка", Ссылка);<br><br>РезультатЗапроса = Запрос.Выполнить();<br><br>СуммНДС = УчетНДС.ПолучитьНДСДокумента(ЭтотОбъект);<br><br>//Если запрос пуст значит счет-фактура не введен. <br>Если РезультатЗапроса.Пустой() И СуммНДС > 0 тогда<br> Предупреждение ("Введите счет-фактуру"); <br>КонецЕсли;<br><br>Если есть, что исправить буду рад об этом прочитать. "
В принципе правильно. Вопрос только в том, что при записи нового документа Ссылка еще пустая - её просто нет. Тогда получается, что если (по неизвестным причинам или в следствии обработки) появится СФ с пустым основанием, то запрос будет не пустым.
можно ли это как-нибудь учесть в процедуре, описанной мною выше?