Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как поставить проверку на установленную вид операции

Как поставить проверку на установленную вид операции
Я
   1сЮлия
 
04.07.19 - 14:07
Добрый день!Как поставить проверку на установленную вид операции,значениезаполнено не подходит,берет первый элемент перечисления ВидОперации и подставляет,а мне нужно чтобы шла проверка выбрана ли операция в подменю или нет
 
 
   lxs
 
1 - 04.07.19 - 15:04
(0) Почему не подходит?
   palsergeich
 
2 - 04.07.19 - 15:10
ПроверкаЗаполнения - ВыдаватьОшибку в настройках элемента формы
   1сЮлия
 
3 - 04.07.19 - 15:11
Я пишу в процедуре передзаписью() 
Если  Не(ЗначениеЗаполнено(ВидОперации)) Тогда
     сообщить("Для документа не установлен вид операции!");
        Возврат;
КонецЕсли;
   palsergeich
 
4 - 04.07.19 - 15:13
(2) Сделай так, вообще без кода
   1сЮлия
 
5 - 04.07.19 - 15:13
Там ПодменюВидаОперации,где в настройках?
   palsergeich
 
6 - 04.07.19 - 15:15
(5) Судя по коду - это реквизит формы, тогда в свойствах реквизита https://yadi.sk/i/mPCSyEiY7TqCUg
   1сЮлия
 
7 - 04.07.19 - 15:17
ВидОперации,реквизит объекта
   palsergeich
 
8 - 04.07.19 - 15:18
(3) По этом коду это реквизит формы, если бы был реквизит объекта, тогда код выглядел бы так:
Если  Не(ЗначениеЗаполнено(Объект.ВидОперации)) Тогда
     сообщить("Для документа не установлен вид операции!");
        Возврат;
КонецЕсли;
   lxs
 
9 - 04.07.19 - 15:21
надо не Возврат, а Отказ = Истина;
   1сЮлия
 
10 - 04.07.19 - 15:21
уже и так делала
 
 Рекламное место пустует
   lxs
 
11 - 04.07.19 - 15:22
Возврат завершит исполнение процедуры, но не запретит запись документа. Либо (2).
   lxs
 
12 - 04.07.19 - 15:22
(10) тогда посмотри отладчиком, что тебе возвращает система в качестве значения..
   1сЮлия
 
13 - 04.07.19 - 15:26
На форме есть типКнопки Подменю, ПодменюВидаОперации туда заполняются значения ВидаОперации и мне нужно прописать проверку,если из этого подменю не выбрана ни одна операция тогда возвращает ВидаОперации.Пустая,а иначе выбранную операцию.
   lxs
 
14 - 04.07.19 - 15:47
(13) Покажи это подменю в раскрытом виде
   1сЮлия
 
15 - 04.07.19 - 15:50
Вот заполнения Процедура ДействияФормыДействиеУстановитьОперацию(Кнопка)
    //ВидОперации = Перечисления.аэсВидыОперацийКВЛ[Кнопка.Имя];

    Если (ВидОперации = Перечисления.аэсВидыОперацийКВЛ.МеханическиеИспытания) тогда
        ЭлементыФормы.ОсновнаяПанель.Страницы.Анализы.Видимость=истина;
    иначе
        ЭлементыФормы.ОсновнаяПанель.Страницы.Анализы.Видимость=Ложь;
    КонецЕсли;
    
    ЭлементыФормы.ДействияФормы.Кнопки.ПодменюВидаОперации.Доступность = ДоступностьВидаОперации;
    УстановитьВидимость();
    РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(ВидОперации), ЭтотОбъект, ЭтаФорма);
КонецПроцедуры// Действ
   1сЮлия
 
16 - 04.07.19 - 15:51
в форме в процедуре приоткрытии()
    МассивКВЛ=Новый Массив();
    МассивКВЛ=ПолучитьМассивОпераций(Подразделение);
    
    //РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(ВидОперации), ЭтотОбъект, ЭтаФорма);

    
    // Заполняем подменю, вызываемое нажатием кнопки "Операция" командной панели 

    // формы, значениями перечисления "Вид операции" данного вида документа.

    // В качестве обработки выбора вида операции назначается процедура 

    // ДействияФормыДействиеУстановитьОперацию модуля формы.

                            
    РаботаСДиалогами.УстановитьПодменюВыбораВидаОперации(ЭлементыФормы.ДействияФормы.Кнопки.ПодменюВидаОперации,
                                        МассивКВЛ,
                                        Новый Действие("ДействияФормыДействиеУстановитьОперацию"));
   lxs
 
17 - 04.07.19 - 15:55
В момент якобы проверки посмотри в отладчике, какое значение содержит реквизит ВидОперации
   1сЮлия
 
18 - 04.07.19 - 17:19
В отладчике в модуле формы документа ВидОперации правильные значения принимает,а в модуле объекта передается первоезначение Перечисления. ВидОперации это РеквизитОбъекта с типом Перечисление.Ссылка,как мне передать я не могу понять почему в модуле формы одно значение,а в модуле объекта другое
   Eg0rkas
 
19 - 04.07.19 - 18:02
девушка, вас очень тяжело читать и понимать, хотя бы разделяйте пробелами предложения. Как-то яснее излагайте свою мысль, тогда вам будет гораздо легче помогать.
Можете выложить принтскрин самой формы?
   lxs
 
20 - 05.07.19 - 09:12
(15) Почему присвоение закомментарила?

Вот заполнения Процедура ДействияФормыДействиеУстановитьОперацию(Кнопка)
    //ВидОперации = Перечисления.аэсВидыОперацийКВЛ[Кнопка.Имя];




Где у тебя реквизиту ВидОперации присваивается выбранное интерактивно значение?
   1сЮлия
 
21 - 05.07.19 - 09:35
Это вот это
   1сЮлия
 
22 - 05.07.19 - 09:35
?
   1сЮлия
 
23 - 05.07.19 - 09:52
Вы не поверите ошибка вот здесь ,в отладчике
        Если ЭтоНовый() Тогда
        
      ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, ,ПараметрОбъектКопирования);
     КонецЕсли;
   lxs
 
24 - 05.07.19 - 09:57
О, боже... Юлия.. Ты можешь ответить на мой вопрос?
   lxs
 
25 - 05.07.19 - 10:01
По сути логика при разработке должна быть такой:
1. При открытии формы ты "рисуешь" подменю для каждого подразделения.
2. При выборе любого из пунктов ты должна присвоить реквизиту объекта выбранное значение, нормально значение с типом ПеречислениеСсылка.
3. Перед записью тебе надо проверить, было ли выбрано значение, простым сравнением (либо ВидОперации.Пустая(), либо Не ЗначениеЗаполнено(...), неважно, должно отработать и то. и другое, если ты не накосячила).
4. Если значение реквизита не было установлено, то либо ты присваиваешь то, которое требуется, либо делаешь отказ от записи.

Проверь свою логику в коде.
   1сЮлия
 
26 - 05.07.19 - 10:02
Спачибо большое!!!
   1сЮлия
 
27 - 05.07.19 - 10:03
Спасибо!!!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует