Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 21:59
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Запрет на выбор подгруппы справочника  (Прочитано 9370 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vogde

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-24
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте уважаемые форумчани. Есть документ Оказание услуги, в табличной части документа есть реквизит у которого тип данных ссылка на справочник. Справочник иерархический в нем две подгруппы: Услуги и Материалы. Как сделать чтобы при заполнении документа в поле этого реквизита пользователь мог выбрать только элементы одной подгруппы Услуги, а при выборе элементов другой подгруппы выдавалось сообщение " в этом документе выбирать эти элементы нельзя"

Пытался найти подобную ситуацию по форуму через поиск, ничего подобного найти не смог.

Подскажите пожалуйста как можно выпольнить мою задачу?


Оффлайн Vit1501

  • ****
  • Сообщений: 360
  • РЕПУТАЦИЯ: 60
  • КПД: 17%
  • Регистрация: 2010-06-05
  • Сайт: 
  • Профессия: Программист 1С
В форме документа у нужного тебе поля прописываешь нужные обработчики событий. Скорее всего придется использовать "окончаниеВводаТекста" и "обработкаВыбора"

Оффлайн Vogde

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-24
  • Сайт: 
  • Профессия: Ученик 1С
Теоретически я это понимаю, но как это сделать на практике не хватает опыта и знаний.Если не сложно напишите код который нужно будет вставить в модуль при событии обработкаВыбора

Оффлайн Soulidium

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 1
  • КПД: 5%
  • Регистрация: 2012-11-04
  • Сайт: 
  • Профессия: Ученик 1С
Тоже хотел бы узнать ответ на этот вопрос, сложилась похожая ситуация.

Оффлайн Vit1501

  • ****
  • Сообщений: 360
  • РЕПУТАЦИЯ: 60
  • КПД: 17%
  • Регистрация: 2010-06-05
  • Сайт: 
  • Профессия: Программист 1С
В обработке выбора есть параметр "ВыбранноеЗначение" - это значение, которое вы выбрали и оно будет установлено в поле формы. Так же есть параметр "СтандартнаяОбработка" - если истина, тогда платформа устанавливает выбранное  значение в реквизит и т д делает все необходимое, если ложь - то ничего не делает - программист сам должен прописывать все действия. В обработчике "обработкаВыбора" можно проверить если ВыбранноеЗначение не удовлетворяет вашим условиям, то выставить стандарнаяОбработка = ложь и далее можно там вывести сообщение пользователю...

Оффлайн Vogde

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-24
  • Сайт: 
  • Профессия: Ученик 1С
программист сам должен прописывать все действия.
Покажите пожалуйста как можно программно в обработчике прописать условие отбора одной из подгрупп иерархического справочника. ( пробовал поНаименованию, поСписку нечего не выходит)
вот код который я написал, но в нем где-то косяк.

&НаКлиенте
Процедура ТабличнаяЧастьНоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

      ПроверитьВыбранноеЗначние(ВыбранноеЗначение, СтандартнаяОбработка)
      Если СтандартнаяОбработка = Ложь Тогда
          Предупрежедение("в этом документе выбирать эти элементы нельзя");
      КонецЕсли;
КонецПроцедуры

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

      Если ВыбранноеЗначение.Родитель <> РазрешенныйРодитель  Тогда
           СтандартнаяОбработка = Ложь Тогда
      КонецЕсли;

КонецПроцедуры

Оффлайн wise

  • ****
  • Сообщений: 428
  • РЕПУТАЦИЯ: 58
  • КПД: 14%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
 Если ВыбранноеЗначение.Родитель <> РазрешенныйРодитель  Тогда
           СтандартнаяОбработка = Ложь Тогда
      КонецЕсли;

ну а вообще в ТВОЁМ случае ЛУЧШЕ использовать проверку реквизита элемента "ВидНоменклатуры"
Добавлено: 26 Июн 2013, 09:06

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

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Оффлайн Vogde

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-24
  • Сайт: 
  • Профессия: Ученик 1С
Уважаемый wise непонятно почему но при использование вашего варианта компилятор выдает ошибку:

{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(5,11)}: Процедура или функция с указанным именем не определена (Предупрежедение)
          <<?>>Предупрежедение("в этом документе выбирать эти элементы нельзя"); (Проверка: Тонкий клиент)

Добавлено: 26 Июн 2013, 11:47

Понял в чем ошибка. Но теперь выдает другую:
 {Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(4,45)}: Переменная не определена (Перечисления)
    Если ВыбранноеЗначение.ВидНоменклатуры <> <<?>>Перечисления.ВидНоменклатуры.Услуга Тогда (Проверка: Тонкий клиент)

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
пользуйтесь функцией ПредопределенноеЗначение() - описание есть в синтаксис помощнике
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
создайте предопределенные группы в справочнике Номенклатура, затем в документе ОказаниеУслуги, в свойствах реквизита услуга настройте парметры выбора, то же самое сделайте для докумнета Расходная (или как там у вас она называется), и тогда в пользоватлеьсокм режиме можно только будет выбирать в документах ОказаниеУслуги и Расходная соответственно только услугу или материал


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 6501
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4203
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 639
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2048
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 271
Последний ответ 12 Окт 2017, 14:02
от wise

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
51 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 211
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal