Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Июн 2021, 07:51
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: Индикация поля в табличной части.  (Прочитано 734 раз)

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

Оффлайн amazonka96

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        //НАДО ЗАПОЛНИТЬ

КонецЦикла;

Вот код -
&НаКлиенте
Процедура СведенияСотрудникПриИзменении(Элемент)
//СтрокаТабличнойЧасти = Элементы.Сведения.ТекущиеДанные;
ТекСтрока = Элементы.Сведения.ТекущиеДанные ;
Значение = ТекСтрока.Сотрудник;
Значение1 = ТекСтрока.Подразделение ;
Дата1 = ТекущаяДата();
Заполнение(Значение, Значение1);

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


&НаСервере
Процедура Заполнение(Значение, Значение1)
//СтрокаТабличнойЧасти = Элементы.Сведения.ТекущиеДанные;
   
    Запрос = Новый Запрос;
    Запрос.Текст =
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
                                                           
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗакреплениеСрезПоследних.ФИО,
| ЗакреплениеСрезПоследних.Закрепление
|ИЗ
| РегистрСведений.Закрепление.СрезПоследних(&МоментВремени, ФИО = &ФИО) КАК ЗакреплениеСрезПоследних";

Запрос.УстановитьПараметр("ФИО",Значение);
Запрос.УстановитьПараметр("МоментВремени", ТекущаяДата());

РезультатЗапроса = Запрос.Выполнить().Выбрать();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        //НАДО ЗАПОЛНИТЬ

КонецЦикла;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   
КонецПроцедуры


Оффлайн Fominv

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


 
&НаКлиенте
Процедура СведенияСотрудникПриИзменении(Элемент)
     //СтрокаТабличнойЧасти = Элементы.Сведения.ТекущиеДанные;
     ТекСтрока = Элементы.Сведения.ТекущиеДанные ;
     Значение = ТекСтрока.Сотрудник;
     //Значение1 = ТекСтрока.Подразделение ;
     ТекСтрока.Подразделение = ПолучитьПодразделение(Значение);
КонецПроцедуры

   
&НаСервере
Функция ПолучитьПодразделение(Значение)
        //СтрокаТабличнойЧасти = Элементы.Сведения.ТекущиеДанные;
   
    Запрос = Новый Запрос;
    Запрос.Текст =
            //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
                                                               
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗакреплениеСрезПоследних.ФИО,
        |    ЗакреплениеСрезПоследних.Закрепление
        |ИЗ
        |    РегистрСведений.Закрепление.СрезПоследних(&МоментВремени, ФИО = &ФИО) КАК ЗакреплениеСрезПоследних";
   
    Запрос.УстановитьПараметр("ФИО",Значение);
    Запрос.УстановитьПараметр("МоментВремени", ТекущаяДата());
   
    РезультатЗапроса = Запрос.Выполнить().Выбрать();
   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        //НАДО ЗАПОЛНИТЬ
        Возврат ВыборкаДетальныеЗаписи.Закрепление;
    КонецЦикла;
   

   
КонецФункции


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

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

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

LexaK
69 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
neek666
33 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
25 Сообщений
KATERINA 861
18 Сообщений
Алексей_1985_06
17 Сообщений
SSC
13 Сообщений
alexandr_ll
12 Сообщений
BuhRust
10 Сообщений

* Кто онлайн

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

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

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

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

Поиск