Как в форме списка журнала расчетов Зарплата вывести только записи, с отбор по графе Образование Это выполняется в предопределенной процедуре ПриОткрытии модуля формы списка Журнала расчетов Зарплата.
Код 1C v 7.x процедура ПриОткрытии() // Предопределенная процедура
перем обр, флаг, сСотр_2, сОбр_2;
// Задаем доступные виды отбора (этот вызов может быть опущен)
ВидыОтбора("Родитель, Образование");
// Отображаем закладки отбора по реквизиту Образование
ЗакладкиОтбора("Образование");
// Установим представление по одному объекту
// Найдем для этого сотрудника, имеющего высшее образование
сСотр_2 = СоздатьОбъект("Справочник.Сотрудники_2");
сОбр_2 = СоздатьОбъект("Справочник.Образование_2");
// Выбираем вид образования обр
флаг = сОбр_2.Выбрать("Выберите вид образования","");
если флаг = 1 тогда
обр = сОбр_2.ТекущийЭлемент();
если сСотр_2.НайтиПоРеквизиту("Образование", обр, 1) = 1 тогда
// Отображаем записи по одному объекту
УстановитьПредставление(2, сСотр_2.ТекущийЭлемент());
конецЕсли;
конецЕсли;
сСотр_2 = 0;
сОбр_2 = 0;
// Для иных процедур модуля определим нтп
нтп = НачалоТекущегоПериода();
конецПроцедуры
Категория:
Журналы расчетов Как сбросить флаг ручной правки расчетов выбранного сотрудника, кроме указанных расчетов В примере обнуляется флаг ручной правки расчетов выбранного сотрудника, кроме
расчетов с ВР ПремияСум, для которых, наоборот, вносится ручная правка результата.
Новая величина премии равна 1250 руб. Попутно выполняется расчет записей,
с которых снимется флаг ручной правки.
Код 1C v 7.x сСотр_2 = СоздатьОбъект("Справочник.Сотрудники");
// Метод Выбрать вызывает диалог для выбора элемента справочника
// Если сотрудник не выбран
если сСотр_2.Выбрать("Выберите сотрудника", "ФормаДляВыбора") = 0 тогда
Предупреждение("Сотрудник не выбран.");
возврат;
конецЕсли;
// Выбран Агальцов Ю. А.
жз = СоздатьОбъект("ЖурналРасчетов.Зарплата");
жз.ВыбратьПериодПоОбъекту(сСотр_2.ТекущийЭлемент());
ВР = ВидРасчета.ПремияСум;
пока жз.ПолучитьЗапись() = 1 цикл
если (жз.Исправлена = 1) и (жз.ВидРасч = ВР) тогда
жз.ОтменитьИсправление(); // Снимаем флаг ручной правки результата
жз.Рассчитать(); // Рассчитываем запись
конецЕсли;
если жз.ВидРасч = ВР тогда
жз.Исправить( 1250.0);
конецЕсли;
конецЦикла; // пока
Предупреждение("Готово.");
конецПроцедуры
Категория:
Журналы расчетов Как вывести все зарегистрированные в текущем периоде расчеты (объект, ВР и результат) Сотрудников Код 1C v 7.x сСотр_2 = СоздатьОбъект("Справочник.Сотрудники");
если сСотр_2.НайтиПоНаименованию("02 Цех", 0) = 0 тогда
Предупреждение("Второй цех не найден.");
возврат;
конецЕсли;
жз = СоздатьОбъект("ЖурналРасчетов.Зарплата");
пер = жз.ТекущийПериод();
// Подразделение предприятия (найденная выше группа справочника Сотрудники)
подр = сСотр_2.ТекущийЭлемент();
жз.ВыбратьПоЗначению("Родитель", подр, пер, пер);
пока жз.ПолучитьЗапись() = 1 цикл
Сообщить("" + жз.Объект + СимволТабуляции + жз.ВидРасч +
СимволТабуляции + жз.Результат);
конецЦикла;
Категория:
Журналы расчетов Как вывести все расчеты, относящиеся к выбранному Сотруднику Код 1C v 7.x сСотр_2 = СоздатьОбъект("Справочник.Сотрудники");
// Метод Выбрать вызывает диалог для выбора элемента справочника
// Если сотрудник не выбран
если сСотр_2.Выбрать("Выберите сотрудника", "ФормаСписка") = 0 тогда
Предупреждение("Сотрудник не выбран.");
возврат;
конецЕсли;
// Выбран Иванов Б. Ю.
жз = СоздатьОбъект("ЖурналРасчетов.Зарплата");
жз.ВыбратьЗаписиПоОбъекту(сСотр_2.ТекущийЭлемент());
пока жз.ПолучитьЗапись() = 1 цикл
Сообщить("" + жз.Объект + СимволТабуляции + жз.ВидРасч +
Символ Табуляции + жз.Результат);
конецЦикла;
Категория:
Журналы расчетов Как в ЗУПе выбрать всех сотрудников, когда-либо работавших в выбранном подразделении? Как в ЗУПе выбрать всех сотрудников, когда-либо работавших в выбранном подразделении и изменить у них значение указанного реквизита.
Код 1C v 8.х Запрос=Новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| РаботникиОрганизаций.Сотрудник,
| РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо,
| РаботникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| РаботникиОрганизаций.Период
|ИЗ
| РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
|ГДЕ
| РаботникиОрганизаций.Сотрудник.Физлицо В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| РаботникиОрганизаций.Сотрудник.Физлицо
| ИЗ
| РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
| ГДЕ
| РаботникиОрганизаций.ПодразделениеОрганизации В ИЕРАРХИИ (&ПодразделениеОрганизации))
| И РаботникиОрганизаций.ЗанимаемыхСтавок > 0
| И РаботникиОрганизаций.ПодразделениеОрганизации В ИЕРАРХИИ(&ПодразделениеОрганизации)
|
|УПОРЯДОЧИТЬ ПО
| Физлицо
|АВТОУПОРЯДОЧИВАНИЕ
|";
Запрос.УстановитьПараметр("ПодразделениеОрганизации",Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию("Дирекция");
Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
н=0;
Пока Результат.Следующий() Цикл
//Получим элемент справочника для изменения
ОбъектСотр=Результат.Сотрудник.ПолучитьОбъект();
//Изменим реквизит
ОбъектСотр.КлассПринадлежности = Перечисления.КлассСотрудников.АппаратУправления;
//Запишем результат
ОбъектСотр.Записать();
//Выведем сообщение для пользователя о том, что обработали
н=н+1;
Сообщить(строка(н)+" "+Строка(ОбъектСотр));
КонецЦикла;
Категория:
1С Зарплата и Управление Персоналом 2.5