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

Изменение цвета сотрудника при подборе в документ Зарплата к выплате ЗУП 2.5

Автор ksander-fars, 20 июн 2017, 09:26

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

ksander-fars

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

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)

СотрудникиОрганизацийПереопределяемый.ЗаполнитьДанныеПоРаботникамОрганизации(ЭлементыФормы.СправочникСписок, ОформленияСтрок, мИспользоватьКешПриПолученииДанных, мКешПриПолученииДанных);

ИмяРеквизитаПорядка = СправочникСписок.Порядок[мКодПорядка].Имя;

// по коду не группируем
ПоказыватьГруппы = ИмяРеквизитаПорядка <> "Код" И ЭлементыФормы.ДействияФормы.Кнопки.Подменю.Кнопки.ОтображатьСГруппировкой.Пометка;

ПервыеСотрудники = мКешПриПолученииДанных.ПервыеСотрудники;
Если ПоказыватьГруппы И (Не мИспользоватьКешПриПолученииДанных ИЛИ ПервыеСотрудники = Неопределено) Тогда
ПервыеСотрудники = ПолучитьПервыхСотрудников(ОформленияСтрок, ИмяРеквизитаПорядка);
КонецЕсли;

Для Каждого Оформление Из ОформленияСтрок Цикл
ДанныеСтроки = Оформление.ДанныеСтроки;

Если РежимВыбора Тогда
Если мМассивВыбранныхЗначений <> Неопределено И мМассивВыбранныхЗначений.Найти(ДанныеСтроки.Ссылка) <> Неопределено Тогда


// Старый Цвет Оформление.ЦветТекста = ЦветаСтиля.ЦветПодобранногоЭлемента;
Оформление.ЦветТекста = Новый Цвет(145, 0, 255);
               

КонецЕсли;
КонецЕсли;

Если НЕ ДанныеСтроки.ЭтоГруппа И Не ДанныеСтроки.Актуальность Тогда
Оформление.ЦветТекста = ЦветаСтиля.ЦветРамки;
КонецЕсли;

Если ПоказыватьГруппы Тогда
Группа = ПолучитьГруппуПорядка(ДанныеСтроки, ИмяРеквизитаПорядка);
КонецЕсли;

Если ПоказыватьГруппы
И ПервыеСотрудники.Получить(Группа) = ДанныеСтроки.Ссылка Тогда
Если ЗначениеЗаполнено(Группа) Тогда
Если Найти(ИмяРеквизитаПорядка, "Дата") = 1  Тогда
Оформление.Ячейки.Группа.УстановитьТекст(Формат(Группа, "ДФ='ММММ гггг""г.""'"));

Иначе
Оформление.Ячейки.Группа.УстановитьТекст(Группа);

КонецЕсли;

Иначе
Если ИмяРеквизитаПорядка = "ТекущееПодразделениеОрганизации" Тогда
Оформление.Ячейки.Группа.УстановитьТекст("Подразделение не указано");

ИначеЕсли ИмяРеквизитаПорядка = "ТекущаяДолжностьОрганизации" Тогда
Оформление.Ячейки.Группа.УстановитьТекст("Должность не указана");

ИначеЕсли ИмяРеквизитаПорядка = "ДатаПриемаНаРаботу" Тогда
Оформление.Ячейки.Группа.УстановитьТекст("Не работают");

Иначе
Оформление.Ячейки.Группа.УстановитьТекст(СотрудникиОрганизацийПереопределяемый.СформироватьТекстПриПолученииДанныхДляПустойГруппы(ИмяРеквизитаПорядка));

КонецЕсли;

КонецЕсли;

Если ИмяРеквизитаПорядка <> "Наименование" Тогда
Оформление.Ячейки.Группа.Шрифт = Новый Шрифт(, 10, Истина);
КонецЕсли;

Иначе
Оформление.Ячейки.Группа.Видимость = Ложь;

КонецЕсли;

Оформление.Ячейки.Наименование.УстановитьТекст("   " + Оформление.Ячейки.Наименование.Текст);

Если ДанныеСтроки.ВидДоговора = Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор Тогда
Оформление.Ячейки.Состояние.УстановитьТекст(ДанныеСтроки.ВидЗанятости);
Иначе
Оформление.Ячейки.Состояние.УстановитьТекст(ДанныеСтроки.ВидДоговора);
КонецЕсли;

КонецЦикла;

РабочееМестоПриПолученииДанных(ЭлементыФормы.СправочникСписок, ОформленияСтрок);

СотрудникиОрганизацийПереопределяемый.ФормаСпискаПриПолученииДанныхДополнительно(ЭтаФорма, Элемент, ОформленияСтрок);

мИспользоватьКешПриПолученииДанных = Ложь;

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

А если обращение к справочнику идёт при подборе в документ ЗарплатаКВыплате то не знаю как сделать... Обходится весь справочник как при запуске и не меняет цвет подобранного сотрудника... Как сделать направьте на путь истинный ....

oleg-x

Делай в событие при выводе строки, должно все работать тогда.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

ksander-fars

Такая же проблема, обходит весь справочник... Всех сотрудников...

AIFrame

Цитироватьизменил в справочнике СотрудникиОрганизации оформление на нужный цвет
Это форма списка справочника. Ок.
У справочников также бывает "форма подбора". Если эта форма не рисуется в объекте, из которого осуществляется подбор, то будет использована форма подбора справочника. Если такой формы у справочника нет - будет нарисована автоматически с базовыми реквизитами. Иногда форму списка указывают для использования в подборе. Но это именно должно быть явно указано.
Таким образом - нужно этому справочнику создать форму подбора, если ее нет и прописать раскраску "ПриВыводеСтроки" на нужную ТЗ формы.

Теги:

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

Рейтинг@Mail.ru

Поиск