Версия для печати темы (https://pro1c.org.ua/index.php?s=b919cb5d0a3eebfee1e79db93f517ff2&showtopic=40480)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Запретить проведение по условию

Автор: Lexveritas 22.09.17, 18:18

1C8.3.10 УПП Обычное приложение.

Задача собственно такая:

Документ, в документе поле ввода, справочник ссылка... Выбираем тот или иной элемент справочника.

Как сделать так, чтоб документ нельзя было провести пока в поле ввода не будет какое то определенное значение?

Пробовал в обработке проведения вот такое:

Если ПолеВвода = "Значение" тогда
Отказ=Ложь;
КонецЕсли;


Как то вообще ничего не выходит... Или документ проводится не проверяя значение, либо вообще никак не проводится, выдает ошибку.
Попрошу сильно не критиковать! Понимаю что это примитивно...


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 5
 

Автор: sava1 22.09.17, 18:52

Если Реквизит<>Значение Тогда
отказ =Истина;
конецЕсли;


Автор: Lexveritas 22.09.17, 20:16

sava1 @ Сегодня, 19:52 * ,
Не проводится. если значение беру в кавычки. Если значение без кавычек то переменная не определена...Хоть условие соблюдено, хоть нет, все равно ошибка проведения.

Автор: sava1 23.09.17, 10:31

Надо смотреть тип

Автор: Lexveritas 23.09.17, 16:02

sava1 @ Сегодня, 11:31 * ,
Тип данных?
СправочникСсылка.Статус

sava1 @ Сегодня, 11:31 * ,
Если меняю тип на "Строка" и вручную пишу текст, всё работает. Я так понимаю что нужно строить что то типа запроса, с которыми я не дружу...

Автор: sava1 23.09.17, 16:53

требуемоеЗначение = Справочники.Статус.НайтиПоКоду("0001"); // или Справочники.Статус.НайтиПоНаименованию("Закрыт")
Если Статус <> ТребуемоеЗначение Тогда
отказ =Истина;
конецЕсли;

Автор: Lexveritas 23.09.17, 18:33

sava1 @ Сегодня, 17:53 * ,
Премного благодарствую!
Именно так и решил вопрос.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua