1. 1C / Говнокод #6763

    −128

    1. 1
    2. 2
    тПодр	= Справочники.СотрудникиОрганизаций.НайтиПоКоду(Физлицо.Код).ПолучитьОбъект().ТекущееПодразделениеОрганизации;
    тДолжн	= Справочники.СотрудникиОрганизаций.НайтиПоКоду(Физлицо.Код).ПолучитьОбъект().ТекущаяДолжность;

    а может, только так и надо?

    Запостил: -ggorky, 26 Мая 2011

    Комментарии (27) RSS

    • Роисся код - такой Роисся!
      Ответить
    • curUnit = Directories.OrganizationEmployees.FindBy Code(PhysicalPerson.Code).GetObject().Cu rrentOrganizationUnit;
      curPosition = Directories.OrganizationEmployees.FindBy Code(PhysicalPerson.Code).GetObject().Cu rrentPosition;

      // ...чуешь разницу, чуешь!?(с)
      Ответить
      • спасибо за перевод на понятный язык!
        Ответить
      • Справочник - это словарь, дубина.
        Ответить
        • показать все, что скрыто%username%, у тебя дома жена, сын двоешник, за кооперативную квартиру не заплачено, а ты тут мозги пудришь. Плохо кончится, родной.(C)
          Ответить
        • согласен, надо перевести как Dictionaries
          Ответить
          • По-моему, понятие «справочник» в 1С несколько другое, чем понятие «словарь», к примеру, в том же Python.
            Ответить
          • в английской версии языка адинэс это Catalog называется
            Ответить
    • Слишком много через точку.... Лучше запросом получить.
      Ответить
      • тХз = Справочники.СотрудникиОрганизаций.НайтиП оКоду(Физлицо.Код).ПолучитьОбъект();
        тПодр = тХз.ТекущееПодразделениеОрганизации;
        тДолжн = тХз.ТекущаяДолжность;
        Ответить
        • Запрос = Новый Запрос;
          Запрос.Текст = "ВЫБРАТЬ
          | СотрудникиОрганизаций.ТекущееПодразделен иеОрганизации КАК тПодр,
          | СотрудникиОрганизаций.ТекущаяДолжностьОр ганизации КАК тДолжн
          |ИЗ
          | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
          |ГДЕ
          | СотрудникиОрганизаций.Физлицо = &Физлицо";
          Результат = Зарпос.Выполнить;
          Если не Результат.Пустой() тогда
          Выборка = Результат.Выбрать;
          Выборка.Следующий();
          тПодр = Выборка.тПодр;
          тДолжн = Выборка.тДолжн;
          КонецЕсли;
          Ответить
          • Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо);
            Ответить
            • Один краше другого, ппц.
              Нах воще тут запрос?
              тПодр = ФизЛицо.ТекущееПодразделениеОрганизации;
              тДолжн = ФизЛицо.ТекущаяДолжностьОрганизаци;
              Ответить
        • Объект не надо получать
          Ответить
    • тПодр = Физлицо.ТекущееПодразделениеОрганизации;
      тДолжн = Физлицо.ТекущаяДолжность;

      //Ваш Кэп
      Ответить
    • Сурово. Очень сурово.
      Ответить
    • А нах объект получать?
      Ответить
    • А может это у него экспортные переменные и они вычисляются при вызове объекта хитрым методом? :)
      Ответить
    • а если несколько сотрудников по одному ФизЛицу??? че получим?
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий