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

Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-fars, 12 окт 2017, 03:16

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

ksander-fars

Здравствуйте. ЗУП 2.5.
Подскажите куда смотреть для решения следующей проблемы. Есть документ "Зарплата к выплате", нужно что бы при подборе сотрудника в документ, в форме списка сотрудников документа подобранные помечались другим цветом, что бы было видно кто уже есть в списке документа а кого нет. Есть следующий листинг при подборе:

Процедура ОткрытьФормуВыбораСотрудникаОрганизации(Владелец, Ключ, ЗакрыватьПриВыборе, ДатаСреза, ГоловнаяОрганизация = Неопределено, Режим = 0, СтандартнаяОбработка = Неопределено, ТекущееЗначение = Неопределено, НеВыбиратьГруппы = Истина, ВыборФизлица = Ложь, ПараметрыПодбора = Неопределено, ПараметрыОтбора = Неопределено) Экспорт

СтандартнаяОбработка = Ложь;

Форма = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора(, Владелец, Ключ);

Форма.ДатаСреза = ДатаСреза;
Если НеВыбиратьГруппы Тогда
Форма.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
Иначе
Форма.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.ГруппыИЭлементы;
КонецЕсли;
Форма.РежимВыбора = Истина;
Форма.ЗакрыватьПриВыборе = ЗакрыватьПриВыборе;
Форма.ВыборФизлица = ВыборФизлица;
Форма.мПараметрыПодбора = ПараметрыПодбора;

Если ТекущееЗначение <> Неопределено Тогда
Если ТипЗнч(ТекущееЗначение) = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда
Форма.ПараметрТекущаяСтрока = ТекущееЗначение;

ИначеЕсли ТипЗнч(ТекущееЗначение) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
Форма.ПараметрТекущаяСтрока = ОсновнойСотрудникФизлица(ТекущееЗначение, ГоловнаяОрганизация);

ИначеЕсли ТипЗнч(ТекущееЗначение) = Тип("Массив") Тогда
Форма.мМассивВыбранныхЗначений = ТекущееЗначение;

Иначе
ОбщегоНазначенияЗК.СообщитьОбОшибке("Неверный тип параметра: " + ТипЗнч(ТекущееЗначение));

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

//установим отборы
Если ЗначениеЗаполнено(ГоловнаяОрганизация) Тогда
Форма.Отбор.Организация.Установить(ГоловнаяОрганизация);
Форма.Отбор.Организация.Использование = ЗначениеЗаполнено(ГоловнаяОрганизация);
КонецЕсли;

Форма.Отбор.ВидДоговора.ВидСравнения = ВидСравнения.ВСписке;
Форма.Отбор.ВидДоговора.Использование = Истина;
Форма.Отбор.ВидДоговора.Значение = ПроцедурыУправленияПерсоналомПереопределяемый.СписокДоговоровФормыВыбораСотрудника(Режим);

Если НЕ ПараметрыОтбора = Неопределено Тогда

Для каждого ЭлементОтбора Из ПараметрыОтбора Цикл

Если Форма.Отбор.Найти(ЭлементОтбора.Ключ) = Неопределено Тогда
Продолжить;
КонецЕсли;

ЗаполнитьЗначенияСвойств(Форма.Отбор[ЭлементОтбора.Ключ], ЭлементОтбора.Значение);

Если ЭлементОтбора.Значение.Свойство("НастройкаОтбора") Тогда
ТабличноеПоле = Форма.ЭлементыФормы.СправочникСписок;
ТабличноеПоле.НастройкаОтбора[ЭлементОтбора.Ключ].Доступность =  ЭлементОтбора.Значение.НастройкаОтбора;
КонецЕсли;

КонецЦикла;

КонецЕсли;

Форма.Открыть();

КонецПроцедуры // ОткрытьФормуВыбораСотрудникаОрганизации()

Будьте добры направьте на путь истинный :dfbsdfbsdf:

ksander-fars

Самое не понятное как можно пройтись по форме списка сотрудников?
Добавлено: 12 окт 2017, 04:48


Подсказали решение по аналогии с документом "Сдельный наряд", добавил параметр при обращении к процедуре выше при подборе. Нужно было выгрузить колонку Физлица ТабЧасти зарплата. То есть вот было так:

ПроцедурыУправленияПерсоналом.ОткрытьФормуВыбораСотрудникаОрганизации(ЭлементыФормы.Зарплата, Ссылка, Ложь, Дата, мГоловнаяОрганизация, 0);

а надо так:

ПроцедурыУправленияПерсоналом.ОткрытьФормуВыбораСотрудникаОрганизации(ЭлементыФормы.Зарплата, Ссылка, Ложь, Дата, мГоловнаяОрганизация, 0,
,Зарплата.ВыгрузитьКолонку("Физлицо"));

Плюс я раньше писал где то в модуле изменение цвета текста.

Осталось разобраться как при открытии помечать уже имеющихся сотрудников в документе.

wise

(0) выгрузи в массив ВСЕХ из документа
и на форму выбора поставь НЕ в списке
и НЕ придётся заморачиваться с оформлением...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

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

Рейтинг@Mail.ru

Поиск