Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Активизация процедур  (Прочитано 13843 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vogde
Участник

ru
Offline Offline

« : 30-06-2013 23:29 » 

Приветствую всех!.  На форме есть поле флажка, в модуле прописано несколько процедур. Подскажите как сделать чтобы при установленном флажке процедуры выполнялись, а при пустом нет?
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #1 : 01-07-2013 05:05 » 

В флажке нужно заполнить реквизит - "ПутьКДанным", переменной типа булево (например ЭтоГарантия). Потом проверять

Код:
Если ЭтоГарантия Тогда
//выполняем процедуры
КонецЕсли;
Записан
Vogde
Участник

ru
Offline Offline

« Ответ #2 : 01-07-2013 05:43 » 

В документе я создал реквизит Услуга (переменная типа булево) на форме добавил поле флажка путь к данным определил реквизит Услуга

Код: (1C v8)
Если Документы.ОказаниеУслуги.НайтиПоРеквизиту("Услуга") = Истина тогда
&НаКлиенте
Процедура ПереченьНоменклатурыМатериалОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
               
          ПроверитьВыбранноеЗначние(ВыбранноеЗначение, СтандартнаяОбработка);
      Если СтандартнаяОбработка = Ложь Тогда
          Предупреждение("В данном документе разрешено выбирать только услуги!");
                  Возврат;
          КонецЕсли;
           
КонецПроцедуры


&НаСервереБезКонтекста
Процедура  ПроверитьВыбранноеЗначние(ВыбранноеЗначение, СтандартнаяОбработка)
      РазрешенныйРодитель = Справочники.Номенклатура.НайтиПоКоду("000000001");
      Если НЕ ВыбранноеЗначение.ПринадлежитЭлементу(РазрешенныйРодитель)  Тогда
           СтандартнаяОбработка = Ложь;
           КонецЕсли;
КонецПроцедуры

КонецЕсли;

Или как-то по другому. Что-то не пойму как надо поставить условие выполнения.
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #3 : 01-07-2013 05:48 » 

А в чем суть? Проверить, есть ли  табличной части услуги?

Добавлено через 2 минуты и 54 секунды:
Вы так и не создали реквизит "Услуга" у элемента справочника?
« Последнее редактирование: 01-07-2013 05:51 от dest » Записан
Vogde
Участник

ru
Offline Offline

« Ответ #4 : 01-07-2013 05:55 » 

Создал но может что не так . Суть в том чтобы те процедуры которые вы помогли создать работали только при активном флажке если он пустой  то эти процедуры бы не включались.
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #5 : 01-07-2013 05:59 » 

А тот вариант, который Kivals  указывал в  прошлой теме, вам не понравился? Тот вариант грамотнее и проще.

Добавлено через 20 секунд:
Я имею ввиду отбор по услугам
« Последнее редактирование: 01-07-2013 05:59 от dest » Записан
Vogde
Участник

ru
Offline Offline

« Ответ #6 : 01-07-2013 06:01 » 

Все таки вы правы у элемента справочника не создал, создал в документе ОказаниеУслуг  реквизит Услуга типа булево а на форме поле флажка путь к данным (Объект Услуга) может из-за этого ничего и не выходит

Добавлено через 2 минуты и 18 секунд:
Дело втом что вариант Kivals не подходит потому что там в подгруппе Услуги есть еще подгруппы и получается что открываются только подгруппы а сами элементы не видны
« Последнее редактирование: 01-07-2013 06:03 от Vogde » Записан
Dest
Опытный

ru
Offline Offline

« Ответ #7 : 01-07-2013 06:06 » 

Вы, наверно, номенклатурам - услугам флажок "услуга" не установили.

Добавлено через 1 минуту и 9 секунд:
Вариант Kivals правильнее.
А от статья про параметры выбора, может пригодится http://1c-esse.buter.ru/8esse9.php?pg=4
« Последнее редактирование: 01-07-2013 06:07 от dest » Записан
Vogde
Участник

ru
Offline Offline

« Ответ #8 : 01-07-2013 06:15 » 

Спасибо за совет.

Добавлено через 8 минут и 28 секунд:
Dest, Подскажите все таки в том варианте котором вы прописали 2 процедуры возможно их при необходимости отключать или нет?
« Последнее редактирование: 01-07-2013 06:24 от Vogde » Записан
Dest
Опытный

ru
Offline Offline

« Ответ #9 : 01-07-2013 06:41 » 

Код:
&НаКлиенте
Процедура ПереченьНоменклатурыМатериалОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
          Если Объект.Услуга Тогда Возврат КонецЕсли;           
   
          ПроверитьВыбранноеЗначние(ВыбранноеЗначение, СтандартнаяОбработка);
      Если СтандартнаяОбработка = Ложь Тогда
          Предупреждение("В данном документе разрешено выбирать только услуги!");
                  Возврат;
          КонецЕсли;
           
КонецПроцедуры

Записан
Vogde
Участник

ru
Offline Offline

« Ответ #10 : 01-07-2013 09:43 » new

Спасибо Вам большое, вы в очередной раз меня выручили и дали немного знаний.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines