Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 08:07

Автоматическое заполнения реквизита

Автор AlexKag, 29 сен 2012, 15:25

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

AlexKag

Добрый день! Столкнулся с такой проблемой. Есть некий документ, в нем два реквизита "группа" и "специальность". (СправочникСсылка.Группы и СправочникСсылка.Специальности соответственно). Так вот, есть группы 1ИС, 2ИС, 3ИС, 4 ИС, и все они относятся к специальности "ИС". Подскажите, как сделать так чтобы при выборе одной из этих групп, специальность ИС ставилась в реквизите "Специальности" автоматически??

AlexKag

Вот, написал на модуле, но не работает почему-то...
&НаКлиенте
      Процедура СпециальностьПриИзменении(Элемент)
         ГруппаПриИзменении(Элемент);
      КонецПроцедуры
     
      Процедура ГруппаПриИзменении(Элемент)
         Если Группа = Справочники.Группы.НайтиПоНаименованию("1ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("2ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("3ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("4ИС")
            Тогда
            Специальность = Справочники.Специальности.НайтиПоНаименованию("ИС");
            КонецЕсли;
      КонецПроцедуры

mixqn

очевидно, надо как-то связать группу со специальностью. как - лучше решить вам. варианты:
1) связать в виде иерархии: сделать справочник группы подчиненным справочнику специальности - в этом случае специальность будет в стандартном реквизите Родитель
2) связать простым реквизитом - добавить в справочник Группы реквизит Специальность
3) извратиться как-то еще (в данном случае по-моему это лишнее) - например сделать регистр сведений, в одной колонке (измерении) хранить группу, в другой (ресурсе) - специальность
выбор за вами))
дальше, когда связь есть - просто вешаете обработчик события "ПриИзменении" на поле ввода Группа, в котором задается значение специальности.
Добавлено: 29 сен 2012, 15:47


Цитата: AlexKag от 29 сен 2012, 15:39Если Группа = Справочники.Группы.НайтиПоНаименованию("1ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("2ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("3ИС") ИЛИ
            Группа = Справочники.Группы.НайтиПоНаименованию("4ИС")
            Тогда
            Специальность = Справочники.Специальности.НайтиПоНаименованию("ИС");
            КонецЕсли;
вы меня извините за прямоту, но это говнокод. сделайте так, как я написал выше.
Цитата: AlexKag от 29 сен 2012, 15:39Процедура СпециальностьПриИзменении(Элемент)
         ГруппаПриИзменении(Элемент);
      КонецПроцедуры
вот это вообще не нужно

AlexKag

Ага, все, спасибо большое разобрался!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск