Как зделать начисления з/п по групам справочника

1. matviiv 23.03.09 12:39 Сейчас в теме
Конфигурация бух учьот для Украины, в документе начисления зп кнопка заполнить закидывает всех сотрудников, а мне нужно групами. Если у ково есть какая то розроботка сбросте пожалуста:matviiv@i.ua
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. seermak 665 23.03.09 13:20 Сейчас в теме
В глобальном модуле делаете процедуру:
Процедура ЗанестиГруппыСотрудников(Список) Экспорт
Перем СпрСотрудники;
////////////////////////////////////////////////////////
СпрСотрудники = СоздатьОбъект("Справочник.Сотрудники");
// добавим значение с невыбранными группами
Список.ДобавитьЗначение(ПолучитьПустоеЗначение("Справочник.Сотрудники"),"<<По умолчанию>>");
Список.ДобавитьЗначение(1,"<<Вне групп>>");

СпрСотрудники.ВключатьПодчиненные(0);//проход только по группам
СпрСотрудники.ВыбратьЭлементы();
Пока СпрСотрудники.ПолучитьЭлемент() = 1 Цикл
Если СпрСотрудники.ЭтоГруппа() =1 Тогда
Список.ДобавитьЗначение(СпрСотрудники.ТекущийЭлемент(),СпрСотрудники.Наименование);
КонецЕсли;
КонецЦикла;
/////////////////////////////////////////////////////////
СпрСотрудники =0;
КонецПроцедуры


Далее: В документ добавляем в форму Поле со списком с Идентификатором: СписокРасч
В процедуре ПриОткрытии() добавляем: ЗанестиГруппыСотрудников(СписокРасч);// в глоб.модуле
СписокРасч.ТекущаяСтрока();//список устанавливается на первый элемент списка
В модкле формы вносим переменную: Перем ОбобщРасч;// хранится название выбранной групп
В процедуру на кнопке Заполнить добавляем:
Процедура Заполнить()
СпрСотрудники = СоздатьОбъект("Справочник.Сотрудники");
Если ОбобщРасч = 1 Тогда //выбор <<Вне групп>> ВыбратьИзСписка
СпрСотрудники.ВключатьПодчиненные(0);//выбираем тех кто в корне
Иначе
СпрСотрудники.ИспользоватьРодителя(ОбобщРасч);//выбор в группе сотрудников
КонецЕсли;
СпрСотрудники.ВыбратьЭлементы();//открываем выборку из справочника
Пока СпрСотрудники.ПолучитьЭлемент() = 1 Цикл
и далее.....
если непонятно - вариант 2 скачайте мою конфу Расчет зарплаты - возьмите любой документ,который заполнякется списком и сделайте по образу и подобию
3. matviiv 24.03.09 10:55 Сейчас в теме
Все зделал как написано, вибираю групу а оно мне всеодно забрасывает всех сотрудников.
4. seermak 665 24.03.09 11:56 Сейчас в теме
а сотрудники то в справочнике по подгруппам ли лежат?
5. matviiv 24.03.09 12:00 Сейчас в теме
В справочнике ко-во уровней - 2
Все сотрудники розмещаютса в 6 групах
6. seermak 665 24.03.09 12:11 Сейчас в теме
в поле со списком на вкладке дополнительно добавьте в поле формула:
ВыбратьИзСписка(СписокРасч,ОбобщРасч); ДатаДок = ДатаДок;
а в глобальном модуле процедуру:
Процедура ВыбратьИзСписка(ЭлДиал,Куда,ОткудаВызывается = 0) Экспорт
Перем ЗначЭлДиал;
//////////////////////////////////////////////////////////
Если ОткудаВызывается = 0 тогда
Попытка
Куда=ЭлДиал.ПолучитьЗначение(ЭлДиал.ТекущаяСтрока());
Исключение
КонецПопытки;
Иначе
ЗначЭлДиал = ЭлДиал.ПолучитьЗначение(ЭлДиал.ТекущаяСтрока());
Куда.Форма.Расч.НазначитьТип(?(ТипЗначенияСтр(ЗначЭлДиал)="Справочник","Справочник.Сотрудники","Число"));
Куда.Расч = ЗначЭлДиал;
КонецЕсли;
////////////////////////////////////////////////////////
ЗначЭлДиал=0;
КонецПроцедуры

и снова попробуйте
7. matviiv 24.03.09 14:36 Сейчас в теме
Большое спасибо, все работает отлично!!!
8. matviiv 26.03.09 10:30 Сейчас в теме
А как можна зделать щтоб поле со списком могло видеть 3 уровень справочника (Папка в папке)?
9. matviiv 26.03.09 11:31 Сейчас в теме
Igor пишет:

А как можна зделать щтоб поле со списком могло видеть 3 уровень справочника (Папка в папке)?

Забираю слова назад все, разобралса!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот