Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Публикация № 942569

Учет и отчетность - Зарплата

ЗКГУ ЗУП универсальные процедуры и функции кадровые данные склонение работающие сотрудники плановые начисления средний заработок отработанное время БСП стажи сотрудников

В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.
 
ПОЛУЧИТЬ ОБЩИЕ СВЕДЕНИЯ
 
ПОЛУЧИТЬ СВЕДЕНИЯ ОБ ОРГАНИЗАЦИИ
 
ПОЛУЧИТЬ ОТВЕТСТВЕННЫХ ОРГАНИЗАЦИИ
 
ЗАПОЛНИТЬ ПЕРВОНАЧАЛЬНЫЕ ЗНАЧЕНИЯ НА ФОРМЕ (ОРГАНИЗАЦИЯ)
 
ПОЛУЧИТЬ РАЗЛИЧНЫЕ КАДРОВЫЕ ДАННЫЕ
 
ПОЛУЧИТЬ ДАННЫЕ ПОЗИЦИИ ШТАТНОГО РАСПИСАНИЯ
 
ПОЛУЧИТЬ РАБОТАЮЩИХ СОТРУДНИКОВ ПО ЗАДАННЫМ ПАРАМЕТРАМ ОТБОРА
 
ПОЛУЧИТЬ ДЕЙСТВУЮЩИЕ ПЛАНОВЫЕ НАЧИСЛЕНИЯ НА ДАТУ
 
ПОЛУЧИТЬ КАДРОВЫЕ ДАННЫЕ СОТРУДНИКА
 
ПОЛУЧИТЬ КАДРОВУЮ ИСТОРИЮ СОТРУДНИКА
 
ПОЛУЧИТЬ СТАЖИ СОТРУДНИКОВ
 
ПОЛУЧИТЬ ОСНОВНОГО СОТРУДНИКА ФИЗИЧЕСКОГО ЛИЦА
 
ПОЛУЧИТЬ ПАСПОРТНЫЕ ДАННЫЕ ФИЗИЧЕСКОГО ЛИЦА
 
ПОЛУЧИТЬ ДАННЫЕ ГРАФИКОВ РАБОТЫ
 
ПОЛУЧИТЬ ДАННЫЕ РАСЧЕТА ЗАРПЛАТЫ И БУХГАЛТЕРСКОГО УЧЕТА
 
ПОЛУЧИТЬ ДАННЫЕ РАБОЧЕГО (ОТРАБОТАННОГО) ВРЕМЕНИ, ДАННЫЕ ТАБЕЛЯ Т-13
 
ПОЛУЧИТЬ ДАННЫЕ СРЕДНЕГО ЗАРАБОТКА, ОСТАТКА ОТПУСКОВ, РЕЗЕРВА ОТПУСКОВ
 
ПОЛУЧИТЬ ДАННЫЕ БУХГАЛТЕРСКОГО УЧЕТА (ОРГАНИЗАЦИИ, ПОДРАЗДЕЛЕНИЯ, СОТРУДНИКА, НАЧИСЛЕНИЯ)
 
ПОЛУЧИТЬ НАЧИСЛЕННУЮ ЗАРПЛАТУ, НДФЛ, УДЕРЖАНИЯ ВЗНОСЫ (фактически начисляет зарплату за период)
 
ФУНКЦИИ ДЛЯ ОТРАЖЕНИЯ ДАННЫХ В ПЕЧАТНЫХ ФОРМАХ (ПРЕОБРАЗОВАНИЕ СТРОК)
 
ВЫВОД ИНИЦИАЛЫ ФАМИЛИЯ
 
ВЫВОД ФАМИЛИЯ ИНИЦИАЛЫ
 
СКЛОНЕНИЕ ФИО
 
СКЛОНЕНИЕ ТЕКСТА
 
УДАЛИТЬ ПРЕФИКС НОМЕРА ОБЪЕКТА И ЛИДИРУЮЩИЕ НУЛИ (СПРАВОЧНИКА, ДОКУМЕНТА)
 
ТАБЕЛЬНЫЙ НОМЕР НА ПЕЧАТЬ (функция эквивалентна удалению префиксов)
 
ПРЕОБРАЗОВАТЬ СТРОКУ В ДАТУ
 
ПРЕОБРАЗОВАТЬ СТРОКУ В ЧИСЛО
 
СУММА ПРОПИСЬЮ
 
ФУНКЦИИ ДЛЯ РАБОТЫ С ДАТАМИ
 
ПРОВЕРКА ВХОЖДЕНИЯ ДАТЫ В ИНТЕРВАЛ
 
ПРОЦЕДУРЫ ПО СОЗДАНИЮ ВТ (ВРЕМЕННЫХ ТАБЛИЦ) / МенеджерВременныхТаблиц
 
СоздатьВТПериоды
 
ПРОЦЕДУРЫ И ФУНКЦИИ БСП
 
ШАБЛОН ВНЕШНЕЙ ПЕЧАТНОЙ ФОРМЫ
 
ПРЕОБРАЗОВАНИЕ ДАННЫХ (ТАБЛИЦА ЗНАЧЕНИЙ, МАССИВ И Т.Д.)
 
ЗНАЧЕНИЕ В МАССИВ
 
ТАБЛИЦА ЗНАЧЕНИЙ В МАССИВ
 
СТРОКА ТАБЛИЦЫ ЗНАЧЕНИЙ В СТРУКТУРУ
 
ДОПОЛНИТЬ ТАБЛИЦУ ЗНАЧЕНИЙ ДАННЫМИ ИЗ МАССИВА
 
ДОПОЛНИТЬ ТАБЛИЦУ ЗНАЧЕНИЙ ДАННЫМИ ИЗ ТАБЛИЦЫ ЗНАЧЕНИЙ
 
СРАВНЕНИЕ ДАННЫХ СО СЛОЖНОЙ СТРУКТУРОЙ
 
СВЕДЕНИЯ ОБ АДРЕСЕ В ВИДЕ СТРУКТУРУ (АДРЕС ИЗ XML В СТРУКТУРУ)
 
ПОЛУЧИТЬ ССЫЛКУ НА ПРЕДОПРЕДЕЛЕННЫЙ ЭЛЕМЕНТ НА КЛИЕНТЕ (СПРАВОЧНИК, ПЕРЕЧИСЛЕНИЕ, ПЛАН СЧЕТОВ, ПЛАН ВИДОВ РАСЧЕТА)
 
ПРОВЕРИТЬ АДРЕС НА СООТВЕТСТВИЕ КЛАССИФИКАТОРУ
 
СООБЩЕНИЯ ПОЛЬЗОВАТЕЛЮ (ОПОВЕЩЕНИЕ, ПРОГРЕСС БАР)
 
ПРОГРАММНОЕ ОТКРЫТИЕ ФОРМ
 
СПИСОК РЕГИСТРОВ МЕХАНИЗМА ПРЕДСТАВЛЕНИЙ

Список регистров представлений актуален для релиза 3.1.11.133

 
Представления_Периоды
 
Представления_КадровыеДанныеСотрудников
 
Представления_ОтработанноеВремя
 
Список представлений действующих до релиза 3.1.10


Буду очень признателен, если Вы будите делиться своим опытом и найденными процедурами и функциями.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lord_soth 293 14.11.18 16:36 Сейчас в теме
Так как адрес физ.лиц в ЗУП 3 хранится в виде XML, то довольно часто требуется получить структуру адреса, пользуюсь вот это типовой функцией, у меня она правда переделана, но суть понятна:
АдресСтруктура = МодульРаботаСАдресами.СведенияОбАдресе(АдресXML, ДополнительныеПараметры);
noon; Lilia; MGraf; GeterX; welder; +5 Ответить
2. VmvLer 14.11.18 17:16 Сейчас в теме
можно (нужно) потратить день на вдумчивое пролистывание общих модулей ЗУПа с составлением похожих заметок в свой блокнотик(сразу в мозг) - знания станут более глубоки, полезны и свои.

а представленная выборка годна лишь для отчетов и слишком мелка, мое мнение может не совпадать с мнением... и бла бла бла
Neuroproton; Qarasique; sukorskis; SlavaKron; acanta; +5 13 Ответить
3. GeterX 796 14.11.18 18:15 Сейчас в теме
(2) Вы как более опытный специалист, не могли бы поделиться своими заметками?
Не у всех есть огромный опыт работы с конфигурацией.
asdPerepel; practik1c; olegans; Award; mongiilol; Tolpinski; KEV8383; dbachinsky; Dmitri93; payta; alanto23; ambabas; sansys; Kavar; ivnik; NNomad; haereticus; rintik; Hans; json; +20 Ответить
4. the1 601 14.11.18 22:29 Сейчас в теме
(2) Вы все 1150 общих модулей предлагаете пролистать? Не считая прочих
Прикрепленные файлы:
nata_v_m; Nelli_A86; olegans; mongiilol; alanto23; NNomad; +6 Ответить
6. json 15.11.18 06:40 Сейчас в теме
(2) у вас есть возможность выложить свою выборку, годную не только для отчетов.
Но вы ею скорее всего не воспользуютесь, потому что гундеть на чужие статьи это одно, а написать свою это совсем другое.
kulabuha; JulianK; olegans; adamst; alanto23; d4rkmesa; Krio2; gradi; Kavar; NNomad; NatalkaBal; +11 Ответить
8. VmvLer 15.11.18 08:55 Сейчас в теме
(6) совершенно верно, гундеть дело нужное и правильное - это хоть как-то может задержать вал Г-кода!
Qarasique; +1 Ответить
9. json 15.11.18 09:21 Сейчас в теме
(8)а вы не выкладывайте Г-код, выкладывайте нормальный.
Смотрю вы на ходу показания меняете, то не устраивает количество функций, а теперь уже вы беспокоитесь за качество кода.

Сначала покажите свою компетентность, а потом критикуйте других. А так получается просто троллинг. Таких умников много, только их комментарии доверия не вызывают.
kulabuha; asdPerepel; alanto23; +3 Ответить
11. VmvLer 15.11.18 10:01 Сейчас в теме
(9) Я не нуждаюсь в вашем доверии. И тут выражают мнения.

Если с моим мнением кто-то не согласен, то это повод приводить контраргументы,
а не пенять на компетентность. Если бомбит - идите отчитайте своих подчиненных,
возьмите с них показания, наконец.
Qarasique; +1 Ответить
12. json 15.11.18 10:16 Сейчас в теме
(11)
вот мои контраргументы:
человек постарался и выложил статью. Потратил свое свободное время на то, чтобы поделиться с другими.
Но ему пишут типа: молодец конечно, но это не то что нужно (а представленная выборка годна лишь для отчетов и слишком мелка). Это вы называете контраргументом? И где тут конструктив?

Каков итог? Он больше не будет ничего выкладывать, потому что осадок остается, и пропадает желание делиться с другими.
А мне как разработчику выгодно, чтобы появлялись такие статьи с наработками. Тем более, что у автора нет Г-кода, как вы его назвали. Лучше статьи зарабатывают высокий рейтинг и другие смогут использовать чужие наработки.

А теперь аргументируйте свое нытье. Если вы умеете рассуждать логически, то ожидаю от Вас контраргументов. А если это просто задето Ваше ЧСВ, то можете сделать из этого вывод или не сделать.
portalUg; kulabuha; Hirondelle; Feelthis; Award; mongiilol; snood; dbachinsky; d4rkmesa; Kavar; MikStyle; NNomad; +12 Ответить
15. VmvLer 15.11.18 10:56 Сейчас в теме
(12)
а представленная выборка годна лишь для отчетов и слишком мелка

да это мое мнение, лаконичное и понятное.

И в ответ на это я не увидел никаких контраргументов от вас и попытки представить
мое мнение как нытье выглядят непорядочно и нелепо.

Добавлю, я по прежнему считаю, что копипастить методы общих модулей в некие
блокнотики - непродуктивно. Образно таких людей называют "кэп" или "Копетан Америка"

Повторю свой аргумент еще раз, если вы не внимательно читаете:
Проще изучить общие модули и освоить для себя поиск в них
- это быстрее и эффективное, чем копаться в черти чем.

ах да - это вообще смех:

Каков итог? Он больше не будет ничего выкладывать, потому что осадок остается, и пропадает желание делиться с другими.

Профессиональные разработчики не пятиклассницы чтобы плакать если кому-то не понравился их бант.
Профессионалы берут из критики рациональное зерно и становятся опытнее, а ваш тезис полезен для защиты профанов и халтурщиков.
Qarasique; +1 5 Ответить
17. fxmike 54 15.11.18 12:25 Сейчас в теме
(15)
Просто Ваше мнение выглядит как чуть более детальное КГАМ. Пройди Вы мимо, пользы было ровно столько же.
user774630; JulianK; d4rkmesa; Ponommax; json; +5 Ответить
18. VmvLer 15.11.18 12:29 Сейчас в теме
(17) все верно, но почему это воспринимают в штыки я сам в шоке.
Qarasique; +1 Ответить
19. json 15.11.18 12:51 Сейчас в теме
(15)могу сказать, что я своими комментариями убил двух зайцев
- Поддержал автора
- Дал обратную связь троллю, который в следующий раз возможно подумает, прежде чем критиковать других

И то и другое полезно для развития нашего с Вами сообщества.

А какой цели добились вы - решайте сами
Award; alanto23; MGraf; d4rkmesa; mnb-next; NNomad; +6 Ответить
21. VmvLer 15.11.18 13:18 Сейчас в теме
114. kulabuha 04.08.20 09:56 Сейчас в теме
(19) согласен с вами, автор молодец, я как начинающий разработчик воспользовался этой статьей для создания печатной формы в зуп. а критики не избежать чтобы и какбы ты не делал, найдется человек, которому это не понравиться. так что авторам всех статей терпения и пусть желание поделиться знаниями не угасает никогда!
23. SlavaKron 17.11.18 13:16 Сейчас в теме
(6) При всём уважении, посыл в (2) верный. Большую часть полезных процедур я почерпнул анализируя модули, которые всплывали в процессе отладки, анализируя экспортные методы, имеющие описание интерфейса в комментарии. Приведённые приёмы в статье будут полезны для начинающих, но чаще требуется всё таки что-то вокруг расчётов – в комментариях увидел более интересную информацию.
24. json 17.11.18 14:17 Сейчас в теме
(23)не готов с вами спорить по поводу полезности процедур, т.к. ЗУПа не касался уже много лет. Но судя по звездам полезность все таки присутствует.

Я для себя считаю, что сам такой формат статей полезен и его необходимо развивать. Т.к. не раз пользовался подобными статьями с Инфостарта, когда что-нибудь писал.
Поэтому я поддерживаю авторов, которые пишут в таком формате.

Кроме того, вы сами указали, что в комментариях есть более полезные (с вашей точки зрения) процедуры.
Вот только комментарии появились благодаря тому, что кто-то написал публикацию.

Если бы автор второго поста написал бы, что мол "выборка неполная, я бы еще добавил вот такую процедуру, такую и такую". И выложил свои примеры, то это был бы конструктив. Комментатору был бы респект.

Но критиковать других, не предлагая альтернативы, я считаю невежливо. Это уже не критика, а троллинг. Подобные комментарии получать к своим публикациям неприятно, и они демотивируют. Комментатор из (2) этого не понимает, т.к. он сам еще не написал ни одной статьи.

Ну и по поводу того, что нужно изучать модули - никто ж не спорит. Это приходится делать всем.
Просто некоторые процедуры приходится использовать чаще других. И подход, когда часто используемые процедуры вы ищете в своем блокноте, а не в конфигурации - экономит время. Автор вместо блокнота использует ИС, я тоже так делаю периодически.
kulabuha; cefey-kurgan; Torin57; Nelli_A86; snood; hopter; SvetaH; Dmitri93; alanto23; mnb-next; rybolovlev_ms; +11 Ответить
73. SanchoD 201 16.07.19 09:15 Сейчас в теме
(2) В ЗУП 3.1 свыше 21 тысячи экспортных процедур/функций. За день вдумчиво пролистать? Ну-ну.
74. VmvLer 16.07.19 09:59 Сейчас в теме
(73) не вижу сложности.

все таки считаю, что изучать модули и функции проще и удобнее именно в дереве конфигурации.
а эту поделку можно использовать ну разве что один раз для создания реперных точек у себя в голове если вы полный новичок в конфигурации. С опытом дерево модулей удобнее.
75. SanchoD 201 16.07.19 10:13 Сейчас в теме
(74) Понятно дело, что изучать функции придется в конфигурации. Но во-первых, это дело не одного дня. Во-вторых, когда нужна конкретная информация, а времени в обрез, то вдумчивое изучение всех модулей/функций не вариант. Результат (в виде отчета/обработки) нужен уже сейчас.
76. VmvLer 16.07.19 10:21 Сейчас в теме
(75) для меня такие отчеты это информационный мусор, исключая реперные точки для первичной оценки.
если вам непонятна моя картина мира, то вряд ли имеет смысл открывать ее более чем.
79. NoRazum 28 17.07.19 09:47 Сейчас в теме
(2) Потратить время перечитать. Вышел новый релиз. Опять это надо делать.
Пока не успокоится там с модулями. Бесполезное занятие.
80. VmvLer 17.07.19 10:16 Сейчас в теме
(79) доколе! Вот в 7.7. был один глобальный модуль, а теперь сиди перечитывай, да.
5. Malfarion 200 15.11.18 02:46 Сейчас в теме
Очень полезная статья, было бы очень здорово если вы поддерживали ее в актуальном состоянии и обновляли, не так давно все тоже самое приходилось рыскать самому.
kulabuha; adamst; +2 Ответить
7. SlavaKron 15.11.18 08:40 Сейчас в теме
Пример использования УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников (данные, формирующие Т-13):
&НаСервере
Процедура Команда1НаСервере()
	ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
	ДатаНачала = '20181001';
	ДатаОкончания = КонецМесяца(ДатаНачала);
	ПараметрыПолученияДанных.ДатаНачала = ДатаНачала;
	ПараметрыПолученияДанных.ДатаОкончания = ДатаОкончания;
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	МассивСотрудников = Новый Массив;
	МассивСотрудников.Добавить(Справочники.Сотрудники.НайтиПоНаименованию("Иванов Иван Иванович"));
	СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала);
	УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	ТЗ = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаРабочегоВремениСотрудников").ПолучитьДанные().Выгрузить()
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, Месяц, ДатаАктуальности = Неопределено, ДатаНачала = Неопределено, ДатаОкончания = Неопределено)
	ТаблицаСотрудники = Новый ТаблицаЗначений;
	ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	ТаблицаСотрудники.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаАктуальности", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));	
	
	Для Каждого Сотрудник Из МассивСотрудников Цикл
		СтрокаСотрудники = ТаблицаСотрудники.Добавить();
		СтрокаСотрудники.Сотрудник = Сотрудник;
	КонецЦикла;
	
	ТаблицаСотрудники.ЗаполнитьЗначения(Месяц, "Месяц");
	ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаАктуальности = Неопределено, ТекущаяДата(), ДатаАктуальности), "ДатаАктуальности");
	ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаНачала = Неопределено, Месяц, ДатаНачала), "ДатаНачала");
	ТаблицаСотрудники.ЗаполнитьЗначения(?(ДатаОкончания = Неопределено, КонецМесяца(Месяц), ДатаОкончания), "ДатаОкончания");
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ТаблицаСотрудники.Сотрудник,
	|	ТаблицаСотрудники.Месяц,
	|	ТаблицаСотрудники.ДатаАктуальности,		
	|	ТаблицаСотрудники.ДатаНачала,
	|	ТаблицаСотрудники.ДатаОкончания
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудники КАК ТаблицаСотрудники");
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
	Запрос.Выполнить();
КонецПроцедуры
Показать
GeterX; acanta; fxmike; +3 Ответить
14. fxmike 54 15.11.18 10:32 Сейчас в теме
(7) Просто в качестве наблюдения, в БСП, на котором построен ЗУП и практически все современные конфигурации, есть много хороших функций, которые сокращают код, да и вообще радуют глаз, может пригодятся.
Например:

ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Значение); // возвращает массив с элементом = Значение
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицуИзМассива(Таблица, Массив, ИмяПоля); // добавляет в таблицу строки и заполняет поле из массива
V_Ladeska; SlavaKron; +2 Ответить
27. GeterX 796 23.11.18 17:14 Сейчас в теме
(7) Спасибо за пример, добавил в статью.
SergeySol-82; +1 Ответить
30. GeterX 796 27.11.18 17:59 Сейчас в теме
(7) Процедура УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников выводит данные только за один месяц, а не знаете каким образом можно получить отработанное время за период, есть ли стандартная процедура получения подобных данных?
10. fxmike 54 15.11.18 09:32 Сейчас в теме
Эх, я только собрался писать похожую статью! Вообще, давно тема назрела.
tatyana_schukina; +1 Ответить
13. fxmike 54 15.11.18 10:23 Сейчас в теме
Я пользовался следующими функциями:
1. Получение среднего заработка - УчетСреднегоЗаработка.СреднийЗаработок(Сотрудник, ДатаНачалаСобытия, ДополнительныеПараметры = Неопределено);
2. Получение остатка отпусков сотрудника - ОстаткиОтпусков.ОстаткиОтпусковСотрудниковНаДату(СписокСотрудников,ДатаОтпуска,ВидыОтпусков)

В составе скрипта с помощью этих функций получал остатки отпусков сотрудников, средний заработок, сумму необходимую для начисления оценочных обязательств (в скрипте ограничение на 10 человек, потому что может долго считать). Вычисление среднего заработка слегка модифицировал, чтобы получать данные по массиву сотрудников

Скрипт запускал в этой обработке https://infostart.ru/public/610812/ если будете запускать в своей обработке, уберите последнюю строку

ДатаОтпуска 	= Дата(2018,01,01);
ДатаНачала 		= Дата(2017,01,01);
ДатаОкончания 	= Дата(2017,12,31);

ИсходнаяТаблица = УчетСреднегоЗаработка.ПустаяТаблицаИсходныхДанныхРасчетаОбщегоСреднегоЗаработка();
мПараметры = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛи­ц();
мПараметры.НачалоПериода 	= ДатаОтпуска;
мПараметры.ОкончаниеПериода	 = ДатаОтпуска;
мПараметры.КадровыеДанные 		= "Подразделение";

// 1. получаем сотрудников организации

СотрудникиОрганизации = КадровыйУчет.СотрудникиОрганизации(Истина,мПараметры);

// 2. получаем средний заработок сотрудников

СотрудникиОрганизации.Колонки.Добавить("СреднийЗаработок",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));
СотрудникиОрганизации.Колонки.Добавить("ОстатокОтпуска",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(4, 0)));
СотрудникиОрганизации.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));

ОграничитьКоличество = 10;
// получем данные для расчета среднего
СтрокиКУдалению = Новый Массив;
Индекс = 1;

Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл
	Если Индекс <= ОграничитьКоличество Тогда
		СтрокаТаблицы = ИсходнаяТаблица.Добавить();
		СтрокаТаблицы.Сотрудник 						= СтрокаСотрудник.Сотрудник;
		СтрокаТаблицы.ПорядокРасчета 					= Перечисления.ПорядокРасчетаСреднегоЗаработкаОбщий.Постановление2010;
		СтрокаТаблицы.ДатаНачалаСобытия 				= ДатаОтпуска;
		СтрокаТаблицы.НачалоПериодаРасчетаСреднего 		= ДатаНачала;
		СтрокаТаблицы.ОкончаниеПериодаРасчетаСреднего 	= ДатаОкончания;
		Индекс = Индекс + 1;
	Иначе 
		СтрокиКУдалению.Добавить(СтрокаСотрудник);
	КонецЕсли;
КонецЦикла;

Для каждого пСтрока из СтрокиКУдалению Цикл
	СотрудникиОрганизации.Удалить(пСтрока);
КонецЦикла;

ДанныеДляРасчета = УчетСреднегоЗаработка.ДанныеДляРасчетаОбщегоСреднегоЗаработкаСотрудников(ИсходнаяТаблица, Неопределено, Неопределено, Истина);

Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл

	Отбор = Новый Структура("Сотрудник",СтрокаСотрудник.Сотрудник);
	
	ДанныеОВремени 		= ДанныеДляРасчета.ДанныеОВремени;
	ДанныеОНачислениях 	= ДанныеДляРасчета.ДанныеОНачислениях;
	ДанныеОбИндексации 	= ДанныеДляРасчета.ДанныеОбИндексации;
	
	ДанныеДляРасчетаСотрудник = Новый Структура("ДанныеОВремени,ДанныеОНачислениях,ДанныеОбИндексации");
	
	ДанныеДляРасчетаСотрудник.ДанныеОВремени 		= ДанныеОВремени.Скопировать(ДанныеОВремени.НайтиСтроки(Отбор));
	ДанныеДляРасчетаСотрудник.ДанныеОНачислениях 	= ДанныеОНачислениях.Скопировать(ДанныеОНачислениях.НайтиСтроки(Отбор));
	ДанныеДляРасчетаСотрудник.ДанныеОбИндексации 	= ДанныеОбИндексации.Скопировать(ДанныеОбИндексации.НайтиСтроки(Отбор));
	
	ДополнительныеПараметры = УчетСреднегоЗаработкаКлиентСервер.ДополнительныеПараметрыРасчетаСреднегоЗаработка();
	
	ДополнительныеПараметры.ДатаНачалаСобытия = ДатаОтпуска;
	
	Если Не ЗначениеЗаполнено(ДополнительныеПараметры.НачалоПериода) 
		Или Не ЗначениеЗаполнено(ДополнительныеПараметры.ОкончаниеПериода) Тогда
		ПериодРасчета = УчетСреднегоЗаработка.ПериодРасчетаОбщегоСреднегоЗаработкаСотрудника(ДатаОтпуска, СтрокаСотрудник.Сотрудник, ДополнительныеПараметры.Начисление);
		ДополнительныеПараметры.НачалоПериода = ДатаНачала;
		ДополнительныеПараметры.ОкончаниеПериода = ДатаОкончания;
	КонецЕсли;
		
	Если ДополнительныеПараметры.ПорядокРасчета = Неопределено Тогда
		ДополнительныеПараметры.ПорядокРасчета = УчетСреднегоЗаработкаКлиентСервер.ПорядокРасчетаОбщегоСреднегоЗаработка(ДатаОтпуска);
	КонецЕсли;
	ДополнительныеПараметры.ПорядокРасчета		 = Перечисления.ПорядокРасчетаСреднегоЗаработкаОбщий.Постановление2010;
	ДополнительныеПараметры.СпособРасчетаОтпуска = Перечисления.СпособыРасчетаНачислений.ОплатаОтпускаПоКалендарнымДням;
		
	ДополнительныеПараметры.Индексации = ДанныеДляРасчета.ДанныеОбИндексации;
	
	СтрокаСотрудник.СреднийЗаработок = УчетСреднегоЗаработкаКлиентСервер.СреднийЗаработокОбщий(ДанныеДляРасчетаСотрудник.ДанныеОНачислениях, ДанныеДляРасчетаСотрудник.ДанныеОВремени, ДополнительныеПараметры);
	
КонецЦикла;

// 3. считаем остатки отпусков

СписокСотрудников = СотрудникиОрганизации.ВыгрузитьКолонку("Сотрудник");
ВидыОтпусков = Неопределено;
//ВидыОтпусков = Новый Массив;
//ВидыОтпусков.Добавить(Справочники.ВидыОтпусков.Основной);

ТаблицаОстаткиОтпусков   = ОстаткиОтпусков.ОстаткиОтпусковСотрудниковНаДату(СписокСотрудников,ДатаОтпуска,ВидыОтпусков);

Для каждого СтрокаСотрудник из СотрудникиОрганизации Цикл

	Отбор = Новый Структура("Сотрудник",СтрокаСотрудник.Сотрудник);
	СтрокиОтпуска = ТаблицаОстаткиОтпусков.НайтиСтроки(Отбор);
	
	ОстатокОтпуска = 0;
	
	Для каждого СтрокаОтпуска из СтрокиОтпуска Цикл
		ОстатокОтпуска = ОстатокОтпуска + СтрокаОтпуска.КоличествоДней;
	КонецЦикла;
	
	СтрокаСотрудник.ОстатокОтпуска = ОстатокОтпуска;
	СтрокаСотрудник.Сумма = ОстатокОтпуска * СтрокаСотрудник.СреднийЗаработок;
	
КонецЦикла;

//СотрудникиОрганизации.Колонки.Добавить("СреднийЗаработок",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15, 2)));
//Сообщить(УчетСреднегоЗаработка.СреднийЗаработок(СотрудникиОрганизации[0].Сотрудник,Дата(2017,12,31)));

ЗаполнитьТаблицуЗначенийНаФорме(СотрудникиОрганизации,"ТЗ2");

Показать
oitnur; for-elenak; GeterX; alex020690; the1; SlavaKron; +6 Ответить
28. GeterX 796 23.11.18 17:46 Сейчас в теме
(13) Спасибо за пример, добавил в статью.
86. lushka 8 18.09.19 09:04 Сейчас в теме
(13) У Вас ошибка в коде, надо так:
ДополнительныеПараметры.Индексации = ДанныеДляРасчетаСотрудник.ДанныеОбИндексации;

У меня в организации у нескольких человек нет индексации и по "счастливому совпадению" они в списке оказывались. Долго не могла понять почему по одному сотруднику средний считается правильно, а по нескольким - средний без индексации получается.
(65) Это видимо и на Ваш вопрос ответ.
88. fxmike 54 18.09.19 12:44 Сейчас в теме
(86) Спасибо за уточнение! Поправлю.
16. Skin123 158 15.11.18 11:46 Сейчас в теме
Функция, которая возвращает по сотрудникам их параметры отражения в учете (подразделения, способы отражения, статьи финасирования):
ОтражениеЗарплатыВБухучете.СоздатьВТСведенияОБухучетеЗарплатыСотрудников();

Для её использования нужно сохранить в менеджере временных таблиц таблицу сотрудников, для которых нужно получить сведения.
Ниже пример использования:
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
	
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
		
Запрос.Текст =
"ВЫБРАТЬ
|	ТаблицаСотрудников.Сотрудник,
|	ТаблицаСотрудников.Период,
|	ТаблицаСотрудников.Подразделение
|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
|	&ТаблицаСотрудников КАК ТаблицаСотрудников"; 

Запрос.УстановитьПараметр("ТаблицаСотрудников", ТаблицаСотрудников);
Запрос.Выполнить();

ОтражениеЗарплатыВБухучете.СоздатьВТСведенияОБухучетеЗарплатыСотрудников(МенеджерВременныхТаблиц, "ВТСотрудники", "Сотрудник,Период", Организация);
Показать
for-elenak; alex020690; the1; SlavaKron; fxmike; +5 Ответить
43. GeterX 796 19.12.18 18:46 Сейчас в теме
(16)
СоздатьВТСведенияОБухучетеЗарплатыСотрудников


Добавил процедуру в статью. Только для редакции 3.1.8 пришлось немного изменить запрос.
20. NatalkaBal 27 15.11.18 13:00 Сейчас в теме
СведенияОбОрганизации = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Выборка.Организация, Выборка.Дата, "<Параметры через запятую>");

Список параметров Общий модуль ЗарплатаКадрыБазовый Функция ПолучитьСведенияОбОрганизации(Знач Организация, Знач ДатаЗначения = Неопределено, Знач СписокПоказателей = Неопределено) Экспорт

Р.S. Автор расширяй свою статью данными из комментариев. Будет бомба)
nazirovramzil; the1; +2 Ответить
44. GeterX 796 19.12.18 19:15 Сейчас в теме
(20)
(37) Добавил функцию в статью.
22. Dmitry77 82 15.11.18 14:27 Сейчас в теме
Статью дополняйте. Из комментариев в статью собирите. Вечером постараюсь выложить функции работы с временем. Получение отработанного времени и норм времени.
barsuk-best; +1 Ответить
25. lexushka 21.11.18 12:11 Сейчас в теме
А не подскажете -- как при подобной верстке на печать текст статьи вывести? Спасибо
26. GeterX 796 22.11.18 10:47 Сейчас в теме
(25) Попробуйте раскрыть каждый из спойлеров, выделить нужный материал и вывести выделенное на печать. Правда не все влезает .

(1) Добавил процедуру в статью. Немного ее видоизменил.
29. Hla 64 26.11.18 14:38 Сейчас в теме
Добрый день. Если мне надо получить данные по сотруднику, то пользуюсь механизмом -> https://infostart.ru/public/836840/
31. alexalexme 29.11.18 13:38 Сейчас в теме
Актуально для регионов РКС:
РазмерСН = ПроцентСевернойНадбавки(Объект, ДатаПолученияДанных)


Возвращает процент северной надбавки физического лица или сотрудника.
//
// Параметры:
// Объект - СправочникСсылка.Сотрудники, СправочникСсылка.ФизическиеЛица
// ДатаПолученияДанных
//
// ВозвращаемоеЗначение: Число
Bene_Valete; +1 Ответить
32. GeterX 796 29.11.18 14:31 Сейчас в теме
(31) Спасибо. Вы наверное имели ввиду функцию: КадровыйУчетРасширенный.ПроцентСевернойНадбавки(Объект, ДатаПолученияДанных)
nofear; user774630; +2 Ответить
33. Malfarion 200 04.12.18 17:47 Сейчас в теме
Ребят, как получить ДлительностьИспытательногоСрока ? через КадровыеДанныеСотрудников не хочет - не знает такой реквизит. Раньше была функция КадровыйУчет.ДанныеТрудовыхДоговоров() а ее взяли и выпилили в последних версиях программы.
chernovaolga68; cefey-kurgan; alexander-lubich; kadild; +4 Ответить
34. haereticus 09.12.18 16:40 Сейчас в теме
Плановые начисления для списка сотрудников

ТекущиеДанныеОплатыТруда = КадровыйУчетРасширенный.ТекущиеНачисленияСотрудников(МассивСотрудник, ТекущаяДата(),,);

Не срабатывает, по причине того, что эта процедура не экспортная.Смотрел на 3.1.5 и 3.1.7
35. GeterX 796 09.12.18 20:06 Сейчас в теме
(34) Значит просто скопируйте процедуру к себе.
Или можно попробовать нечто похожее:

&НаСервере
Процедура Команда1НаСервере()
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Период", ТекущаяДата());
	
	//Если Сотрудник = Неопределено Тогда
		Запрос.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ПлановыеНачисления.Сотрудник КАК Сотрудник,
		|	&Период КАК ДатаНачала,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияНачислений,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияГрафика,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияПоказателей,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияКоличестваСтавок,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДействуетДо,
		|	ЛОЖЬ КАК ИзменениеКоличестваСтавок,
		|	ЛОЖЬ КАК ИзменениеГрафика,
		|	ЛОЖЬ КАК ИзменениеЗначенийПоказателей,
		|	ЛОЖЬ КАК ИзменениеНачислений,
		|	ЛОЖЬ КАК ИзменениеДанныхГрафика,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияДанныхГрафика,
		|	ЛОЖЬ КАК ИзменениеДанныхСтажа,
		|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияДанныхСтажа,
		|	ЛОЖЬ КАК УдалениеДанных
		|ПОМЕСТИТЬ ВТПериодыОбновленияВторичныхДанных
		|ИЗ
		|	РегистрСведений.ПлановыеНачисления КАК ПлановыеНачисления";	
	//Иначе
	//	Запрос.УстановитьПараметр("Сотрудник", ПараметрыВыполнения.Сотрудник);
	//	Запрос.Текст = 
	//	"ВЫБРАТЬ
	//	|	&Сотрудник КАК Сотрудник,
	//	|	&Период КАК ДатаНачала,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияНачислений,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияГрафика,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияПоказателей,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияКоличестваСтавок,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДействуетДо,
	//	|	ЛОЖЬ КАК ИзменениеКоличестваСтавок,
	//	|	ЛОЖЬ КАК ИзменениеГрафика,
	//	|	ЛОЖЬ КАК ИзменениеЗначенийПоказателей,
	//	|	ЛОЖЬ КАК ИзменениеНачислений,
	//	|	ЛОЖЬ КАК ИзменениеДанныхГрафика,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияДанныхГрафика,
	//	|	ЛОЖЬ КАК ИзменениеДанныхСтажа,
	//	|	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаИзмененияДанныхСтажа,
	//	|	ЛОЖЬ КАК УдалениеДанных
	//	|ПОМЕСТИТЬ ВТПериодыОбновленияВторичныхДанных";
	//КонецЕсли;	
	
	Запрос.Выполнить();
	
	МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("МаксимальнаяДата", ЗарплатаКадрыПериодическиеРегистры.МаксимальнаяДата());
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПериодыПолученияДвижений.Сотрудник,
	|	МИНИМУМ(ПериодыПолученияДвижений.ДатаНачала) КАК ДатаНачала,
	|	МИНИМУМ(ПлановыйФОТ.Год) КАК Год
	|ПОМЕСТИТЬ ВТПериодыПолученияПлановогоФОТ
	|ИЗ
	|	ВТПериодыОбновленияВторичныхДанных КАК ПериодыПолученияДвижений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыйФОТ КАК ПлановыйФОТ
	|		ПО ПериодыПолученияДвижений.Сотрудник = ПлановыйФОТ.Сотрудник
	|			И ПериодыПолученияДвижений.ДатаНачала >= ПлановыйФОТ.Период
	|			И (ВЫБОР
	|				КОГДА ПериодыПолученияДвижений.ДатаНачала = ДАТАВРЕМЯ(1, 1, 1)
	|					ТОГДА ИСТИНА
	|				ИНАЧЕ ДОБАВИТЬКДАТЕ(ПериодыПолученияДвижений.ДатаНачала, СЕКУНДА, -1) <= ПлановыйФОТ.ДатаОкончания
	|			КОНЕЦ)
	|
	|СГРУППИРОВАТЬ ПО
	|	ПериодыПолученияДвижений.Сотрудник
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ПлановыйФОТ.Период,
	|	ПериодыПолученияДвижений.Сотрудник,
	|	ВЫБОР
	|		КОГДА ПлановыйФОТ.ДатаОкончания > ПериодыПолученияДвижений.ДатаНачала
	|			ТОГДА &МаксимальнаяДата
	|		ИНАЧЕ ПлановыйФОТ.ДатаОкончания
	|	КОНЕЦ КАК ДатаОкончания,
	|	ПлановыйФОТ.Начисление,
	|	ПлановыйФОТ.ФизическоеЛицо,
	|	ПлановыйФОТ.ДокументОснование,
	|	ПлановыйФОТ.ГоловнаяОрганизация,
	|	ПлановыйФОТ.Год,
	|	ПлановыйФОТ.ВкладВФОТ,
	|	ПлановыйФОТ.ПересчетНеТребуется,
	|	ПлановыйФОТ.ВторичнаяЗапись,
	|	ПлановыйФОТ.РегистраторСобытия КАК РегистраторСобытия,
	|	ПлановыйФОТ.ПериодПредыдущейЗаписи,
	|	ПлановыйФОТ.Используется,
	|	ВЫБОР
	|		КОГДА НЕ ПлановыйФОТ.Период ЕСТЬ NULL
	|				И ПериодыПолученияДвижений.ДатаНачала > ПлановыйФОТ.Период
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК АктуальнаяЗапись
	|ИЗ
	|	ВТПериодыПолученияПлановогоФОТ КАК ПериодыПолученияДвижений
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыйФОТ КАК ПлановыйФОТ
	|		ПО ПериодыПолученияДвижений.Сотрудник = ПлановыйФОТ.Сотрудник
	|			И ПериодыПолученияДвижений.Год <= ПлановыйФОТ.Год";
	
	ТЗ = Запрос.Выполнить().Выгрузить();
	
КонецПроцедуры

Показать
eLeMeNtaLe; haereticus; +2 Ответить
36. haereticus 10.12.18 13:02 Сейчас в теме
(35) Сделал копированием. Однако интересный подход у 1С , взять и на пустом месте закрыть доступ к нужным вещам
Denis_Lebedinsky; +1 Ответить
37. user_2010 517 13.12.18 22:18 Сейчас в теме
ЗУП.3.1 ОбщийМобдуль.ЗарплатаКадрыБазовый:
Функция ПолучитьСведенияОбОрганизации

Здесь можно найти все возможные показатели организации:
Если СписокПоказателей = Неопределено Тогда

СписокПоказателей = Новый Массив;
СписокПоказателей.Добавить("ТипНП");
СписокПоказателей.Добавить("КатНП");
СписокПоказателей.Добавить("КодНО");
СписокПоказателей.Добавить("ОснВидДеят");
СписокПоказателей.Добавить("ОКВЭД");
СписокПоказателей.Добавить("ОснВидДеят2");
СписокПоказателей.Добавить("ОКВЭД2");
СписокПоказателей.Добавить("ОГРН");
СписокПоказателей.Добавить("ОКАТО");
СписокПоказателей.Добавить("ОКТМО");
СписокПоказателей.Добавить("РегНомПФР");
СписокПоказателей.Добавить("ОКПО");
СписокПоказателей.Добавить("ОКФС");
СписокПоказателей.Добавить("ДатаРегистрации");
СписокПоказателей.Добавить("АдрПочт");
СписокПоказателей.Добавить("АдрПочт_XML");
СписокПоказателей.Добавить("СвидСН");
СписокПоказателей.Добавить("СвидНО");
СписокПоказателей.Добавить("СвидНОКод");
СписокПоказателей.Добавить("НаимНО");
СписокПоказателей.Добавить("НаимЮЛПол");
СписокПоказателей.Добавить("НаимЮЛСокр");
СписокПоказателей.Добавить("ИННЮЛ");
СписокПоказателей.Добавить("КППЮЛ");
СписокПоказателей.Добавить("АдрЮР");
СписокПоказателей.Добавить("АдрЮР_XML");
СписокПоказателей.Добавить("ПолныйАдрЮР");
СписокПоказателей.Добавить("АдрФакт");
СписокПоказателей.Добавить("АдрФакт_XML");
СписокПоказателей.Добавить("ОргИндекс");
СписокПоказателей.Добавить("ОргСубъект");
СписокПоказателей.Добавить("ОргКодСубъект");
СписокПоказателей.Добавить("ОргРайон");
СписокПоказателей.Добавить("ОргГород");
СписокПоказателей.Добавить("ОргНПункт");
СписокПоказателей.Добавить("ОргУлица");
СписокПоказателей.Добавить("ОргДом");
СписокПоказателей.Добавить("ОргКорпус");
СписокПоказателей.Добавить("ОргКвартира");
СписокПоказателей.Добавить("НаимОППол");
СписокПоказателей.Добавить("КППОП");
СписокПоказателей.Добавить("АдрОП");
СписокПоказателей.Добавить("АдрОП_XML");
СписокПоказателей.Добавить("ИндексОП");
СписокПоказателей.Добавить("СубъектОП");
СписокПоказателей.Добавить("КодСубъектОП");
СписокПоказателей.Добавить("РайонОП");
СписокПоказателей.Добавить("ГородОП");
СписокПоказателей.Добавить("НПунктОП");
СписокПоказателей.Добавить("УлицаОП");
СписокПоказателей.Добавить("ДомОП");
СписокПоказателей.Добавить("КорпусОП");
СписокПоказателей.Добавить("КвартираОП");
СписокПоказателей.Добавить("ФИО");
СписокПоказателей.Добавить("ФамилияИП");
СписокПоказателей.Добавить("ИмяИП");
СписокПоказателей.Добавить("ОтчествоИП");
СписокПоказателей.Добавить("ФИООтпрФЛ");
СписокПоказателей.Добавить("ИННФЛ");
СписокПоказателей.Добавить("СНИЛС");
СписокПоказателей.Добавить("ДатаРожд");
СписокПоказателей.Добавить("МестоРожд");
СписокПоказателей.Добавить("Пол");
СписокПоказателей.Добавить("Гражд");
СписокПоказателей.Добавить("ГраждСтрана");
СписокПоказателей.Добавить("КодУдЛичн");
СписокПоказателей.Добавить("ВидУдЛичн");
СписокПоказателей.Добавить("ОрганВыданУдЛичн");
СписокПоказателей.Добавить("КодПодрУдЛичн");
СписокПоказателей.Добавить("СерияУдЛичн");
СписокПоказателей.Добавить("НомерУдЛичн");
СписокПоказателей.Добавить("ДатаУдЛичн");
СписокПоказателей.Добавить("АдрПрописки");
СписокПоказателей.Добавить("АдрПрописки_XML");
СписокПоказателей.Добавить("АдрМЖ");
СписокПоказателей.Добавить("АдрМЖ_XML");
СписокПоказателей.Добавить("ИндексМЖ");
СписокПоказателей.Добавить("СубъектМЖ");
СписокПоказателей.Добавить("КодСубъектМЖ");
СписокПоказателей.Добавить("РайонМЖ");
СписокПоказателей.Добавить("ГородМЖ");
СписокПоказателей.Добавить("НПунктМЖ");
СписокПоказателей.Добавить("УлицаМЖ");
СписокПоказателей.Добавить("ДомМЖ");
СписокПоказателей.Добавить("КорпусМЖ");
СписокПоказателей.Добавить("КвартираМЖ");
СписокПоказателей.Добавить("ТелСлуж");
СписокПоказателей.Добавить("ТелДом");
СписокПоказателей.Добавить("ФИОРук");
СписокПоказателей.Добавить("ФамилияРук");
СписокПоказателей.Добавить("ИмяРук");
СписокПоказателей.Добавить("ОтчествоРук");
СписокПоказателей.Добавить("ИННРук");
СписокПоказателей.Добавить("ДатаРождРук");
СписокПоказателей.Добавить("МестоРождРук");
СписокПоказателей.Добавить("ПолРук");
СписокПоказателей.Добавить("ГраждРук");
СписокПоказателей.Добавить("ГраждСтранаРук");
СписокПоказателей.Добавить("ТелРук");
СписокПоказателей.Добавить("ДолжнРук");
СписокПоказателей.Добавить("КодУдЛичнРук");
СписокПоказателей.Добавить("ВидУдЛичнРук");
СписокПоказателей.Добавить("ОрганВыданУдЛичнРук");
СписокПоказателей.Добавить("КодПодрУдЛичнРук");
СписокПоказателей.Добавить("СерияУдЛичнРук");
СписокПоказателей.Добавить("НомерУдЛичнРук");
СписокПоказателей.Добавить("ДатаУдЛичнРук");
СписокПоказателей.Добавить("АдрМЖРукРФ");
СписокПоказателей.Добавить("АдрМЖРукРФ_XML");
СписокПоказателей.Добавить("ИндексМЖРук");
СписокПоказателей.Добавить("СубъектМЖРук");
СписокПоказателей.Добавить("КодСубъектМЖРук");
СписокПоказателей.Добавить("РайонМЖРук");
СписокПоказателей.Добавить("ГородМЖРук");
СписокПоказателей.Добавить("НПунктМЖРук");
СписокПоказателей.Добавить("УлицаМЖРук");
СписокПоказателей.Добавить("ДомМЖРук");
СписокПоказателей.Добавить("КорпусМЖРук");
СписокПоказателей.Добавить("КвартираМЖРук");
СписокПоказателей.Добавить("ФИООтпр");
СписокПоказателей.Добавить("ФИОБух");
СписокПоказателей.Добавить("ФамилияБух");
СписокПоказателей.Добавить("ИмяБух");
СписокПоказателей.Добавить("ОтчествоБух");
СписокПоказателей.Добавить("ИННБух");
СписокПоказателей.Добавить("ДатаРождБух");
СписокПоказателей.Добавить("МестоРождБух");
СписокПоказателей.Добавить("ПолБух");
СписокПоказателей.Добавить("ПолУпПред");
СписокПоказателей.Добавить("ГраждБух");
СписокПоказателей.Добавить("ГраждУпПред");
СписокПоказателей.Добавить("ГраждСтранаБух");
СписокПоказателей.Добавить("ГраждСтранаУпПред");
СписокПоказателей.Добавить("ТелБух");
СписокПоказателей.Добавить("ТелОтпр");
СписокПоказателей.Добавить("КодУдЛичнБух");
СписокПоказателей.Добавить("ВидУдЛичнБух");
СписокПоказателей.Добавить("ОрганВыданУдЛичнБух");
СписокПоказателей.Добавить("КодПодрУдЛичнБух");
СписокПоказателей.Добавить("СерияУдЛичнБух");
СписокПоказателей.Добавить("НомерУдЛичнБух");
СписокПоказателей.Добавить("ДатаУдЛичнБух");
СписокПоказателей.Добавить("АдрМЖБухРФ");
СписокПоказателей.Добавить("АдрМЖБухРФ_XML");
СписокПоказателей.Добавить("ИндексМЖБух");
СписокПоказателей.Добавить("СубъектМЖБух");
СписокПоказателей.Добавить("КодСубъектМЖБух");
СписокПоказателей.Добавить("РайонМЖБух");
СписокПоказателей.Добавить("ГородМЖБух");
СписокПоказателей.Добавить("НПунктМЖБух");
СписокПоказателей.Добавить("УлицаМЖБух");
СписокПоказателей.Добавить("ДомМЖБух");
СписокПоказателей.Добавить("КорпусМЖБух");
СписокПоказателей.Добавить("КвартираМЖБух");
СписокПоказателей.Добавить("ФИОУпПред");
СписокПоказателей.Добавить("ИННУпПред");
СписокПоказателей.Добавить("ТелУпПред");
СписокПоказателей.Добавить("КодУдЛичнУпПред");
СписокПоказателей.Добавить("ВидУдЛичнУпПред");
СписокПоказателей.Добавить("ОрганВыданУдЛичнУпПред");
СписокПоказателей.Добавить("СерияУдЛичнУпПред");
СписокПоказателей.Добавить("НомерУдЛичнУпПред");
СписокПоказателей.Добавить("ДатаУдЛичнУпПред");
СписокПоказателей.Добавить("ДатаРождУпПред");
СписокПоказателей.Добавить("АдрМЖУпПредРФ");
СписокПоказателей.Добавить("АдрМЖУпПредРФ_XML");
СписокПоказателей.Добавить("МестоРождУпПред");
СписокПоказателей.Добавить("ИндексМЖУпПред");
СписокПоказателей.Добавить("СубъектМЖУпПред");
СписокПоказателей.Добавить("КодСубъектМЖУпПред");
СписокПоказателей.Добавить("РайонМЖУпПред");
СписокПоказателей.Добавить("ГородМЖУпПред");
СписокПоказателей.Добавить("НПунктМЖУпПред");
СписокПоказателей.Добавить("УлицаМЖУпПред");
СписокПоказателей.Добавить("ДомМЖУпПред");
СписокПоказателей.Добавить("КорпусМЖУпПред");
СписокПоказателей.Добавить("КвартираМЖУпПред");
СписокПоказателей.Добавить("ФаксИсп");
СписокПоказателей.Добавить("ДолжнОтпр");
СписокПоказателей.Добавить("ДатаПереходаНаУСН");
СписокПоказателей.Добавить("БанкСчетНомер");
СписокПоказателей.Добавить("БанкСчетНаимБанка");
СписокПоказателей.Добавить("БанкСчетКоррСчетБанка");
СписокПоказателей.Добавить("БанкСчетБИКБанка");
СписокПоказателей.Добавить("РегистрационныйНомерФСС");
СписокПоказателей.Добавить("КодПодчиненностиФСС");
СписокПоказателей.Добавить("СтраховойТариф");
СписокПоказателей.Добавить("ТелОрганизации");
СписокПоказателей.Добавить("ФаксОрганизации");
СписокПоказателей.Добавить("ОбъектНалогообложенияУСН");
СписокПоказателей.Добавить("НаимГоловнОрг");
СписокПоказателей.Добавить("КППГоловнОрг");
СписокПоказателей.Добавить("ФИОИсп");
СписокПоказателей.Добавить("ДолжнИсп");
СписокПоказателей.Добавить("ТелИсп");
СписокПоказателей.Добавить("АдресЭлПочтыИсп");
СписокПоказателей.Добавить("КодОрганаПФР");
СписокПоказателей.Добавить("АдресЭлектроннойПочтыОрганизации");
СписокПоказателей.Добавить("КодПодчФССДобрСтрах");
СписокПоказателей.Добавить("ШифрСтрахователяФСС");
СписокПоказателей.Добавить("СистемыНалогообложения");
СписокПоказателей.Добавить("ВидПлательщикаСтраховыхВзносов");
СписокПоказателей.Добавить("КодТарифаПлательщикаПоУмолчаниюДляРСВ");
СписокПоказателей.Добавить("КодОрганаФСГС");
LavinVadik; user1235208; +2 Ответить
38. the1 601 18.12.18 14:57 Сейчас в теме
Коллеги, не подскажет кто, есть ли типовая функция для получения расчетной базы удержаний?
Bene_Valete; +1 Ответить
39. GeterX 796 18.12.18 16:10 Сейчас в теме
(38) стоит посмотреть на процедуру РассчитатьЗначениеПоказателяРасчетнаяБазаУдержаний (Обработки.МенеджерРасчетаЗарплаты)
40. the1 601 18.12.18 16:20 Сейчас в теме
(39) Смотрел, спасибо. Но там на входе уже есть заполненный МенеджерВременныхТаблиц, и покуда до этой процедуры дойдет, уже прошла куча расчетов с этим менеджером, 48 таблиц рассчитано.
Прикрепленные файлы:
41. GeterX 796 18.12.18 16:57 Сейчас в теме
(40) мне кажется, выцепить эту процедуру не реально, быстрее и проще написать свой запрос.
Этими запросами часть данных берется из уже начисленных документов, а часть из документа начисления, а затем все это объединятся в одну таблицу.
42. the1 601 18.12.18 17:20 Сейчас в теме
(41) Да, там полная жесть творится в этих МенеджерахРасчетаЗарплаты,Времени,РасчетнойБазы. Что-то отловить очень трудно, т.к. передача данных идет вся через МенеджерВременныхТаблиц, а этот менеджер еще болтается между несколькими обработками и общими модулями.

Думал, есть готовая ф-ия по типу указанных в публикации, было бы удобно.
Туки Туки; +1 Ответить
48. leosoft 147 20.12.18 12:37 Сейчас в теме
(40) Не подскажите - каким инструментом это получено?
50. the1 601 20.12.18 20:27 Сейчас в теме
(48) Отладчик же, Shift+F9 по строке МенеджерВременныхТаблиц
user597231_DNorov; +1 Ответить
45. krollzlat 20.12.18 07:56 Сейчас в теме
Отличная статья, особенно для тех, кто редко работает с подобными задачами.
46. German_Tagil 21 20.12.18 09:32 Сейчас в теме
47. Rusleg 77 20.12.18 11:14 Сейчас в теме
Господа разработчики ЗУП имеют тенденцию перетряхивать программный интерфейс. Так что все что тут написано, возможно, уже неактуально в ЗУП 3.1.8. Полагаться на их программный интерфейс себе дороже.
Например, почему-то они ликвидировали функцию ДанныеТрудовыхДоговоров из общего модуля КадровыйУчет.
Max27; haereticus; AlX0id; fxmike; +4 Ответить
51. laperuz 44 21.12.18 14:59 Сейчас в теме
(47)
ДанныеТрудовыхДоговоров - процедура, описанная в области #СлужебныеПроцедурыИФункции.

Разработчики обещали обратную совместимость только для методов, описанных в области #ПрограммныйИнтерфейс
user774630; +1 Ответить
52. Rusleg 77 21.12.18 16:08 Сейчас в теме
(51)Мне об этом обещании ничего неизвестно.
Вот если бы были комментарии к этим областям было бы другое дело.
haereticus; +1 Ответить
53. laperuz 44 21.12.18 16:41 Сейчас в теме
(52) Как-то так
Прикрепленные файлы:
user774630; GeterX; +2 Ответить
54. AlX0id 21.12.18 22:00 Сейчас в теме
(47)
Да не только разработчики ЗУП.. В той же КА/ЕРП/УТ толком пользоваться ИХ АПИ для себя в долгосрочной перспективе всегда ведет к тому, что они что-нибудь переименуют/исправят ошибку в названии функции/ поменяют формат входных данных..
Но с другой стороны - рисовать свои функции может быть еще хуже, ибо можно что-то не учесть в расчетах, это раз. А два - все равно метаданные/алгоритмы будут меняться, и вероятность того, что свой код станет не рабочим не меньше той, что нерабочим станет код с использованием типовых процедур..
AlexO; user1235208; SanchoD; Туки Туки; +4 Ответить
49. sansys 60 20.12.18 17:35 Сейчас в теме
Автору огромное спасибо, однозначно плюс!!! Коллеги, подобные статьи делают наш труд легче, а зарабатывание денег проще ))) В типовых конфигурациях информацию приходится собирать по крупицам и любая помощь всегда на вес золота.
user597231_DNorov; +1 Ответить
55. d4rkmesa 22.12.18 23:02 Сейчас в теме
Респект! Тут мини-перепись балаболов форумных... По себе знаю, что нужно далеко не один день изучать ЗУП, чтобы понять какие функции можно использовать, а какие нет. Была бы подобная статья полгода назад, существенно бы облегчила работу.
56. user619273_alevtina 30.12.18 18:05 Сейчас в теме
Спасибо за статью.
user597231_DNorov; +1 Ответить
57. alanto23 33 09.01.19 11:09 Сейчас в теме
Спасибо за статью! В цвет!
user597231_DNorov; +1 Ответить
58. SlavaKron 26.02.19 10:47 Сейчас в теме
Программное получение начислений, взносов, НДФЛ, удержаний и т.д. – в общем всё то, что рассчитывается в документе начисления зарплаты (проверял на ЗУП 3.1.8.246):
&НаСервереБезКонтекста
Процедура ПолучитьДанныеНачисленийНаСервере(МассивСотрудников, ДатаНачала, ДатаОкончания, Организация)
	ДополнительныеПараметры = РасчетЗарплатыРасширенный.ДополнительныеПараметрыЗаполненияТаблицДокумента();
	ДополнительныеПараметры.Сотрудники = МассивСотрудников;
	ДополнительныеПараметры.ОкончаниеПериода = ДатаОкончания;
	ДополнительныеПараметры.РежимНачисления = Перечисления.РежимНачисленияЗарплаты.ОкончательныйРасчет;	
	
	ПараметрыОписания = Новый Структура;
	ПараметрыОписания.Вставить("ИзменениеБезОграничений" ,Истина);
	ПараметрыОписания.Вставить("РегистрацияНачисленийДоступна", Истина);
	ПараметрыОписания.Вставить("СпособыРасчетаСреднегоЗаработка", Неопределено);
	ПараметрыОписания.Вставить("ПризнакКомпенсацииУдержанияОтпуска", Перечисления.КомпенсацияУдержаниеОтпускаПриУвольнении.НеИспользовать);
	ОписаниеДокумента = КадровыйУчетРасширенныйКлиентСервер.ОписаниеДокумента(ПараметрыОписания);
	
	ДанныеНачислений = РасчетЗарплатыРасширенный.ДанныеДляЗаполненияТаблицДокумента(ОписаниеДокумента, Организация, ДатаНачала, ДополнительныеПараметры);
КонецПроцедуры
Показать
Прикрепленные файлы:
ПолучениеДанныхНачисленийЗУП318.epf
romulanin; lg2marvel; user774630; GeterX; Max27; +5 Ответить
59. Somaha 21.03.19 16:32 Сейчас в теме
Доброго времени суток. Код использованный для получения данных табеля Т-13 некорректен.
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);

Возвращает таблицу с "плановым" временем по графику, т.е. как сотрудник работал, если бы ничего не происходило. Отклонения (отпуска, болезни и т.д.) не учитываются.
Для получения фактических данных использовал процедуру
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыЗаполнения);

Параметр "ПараметрыЗаполнения" определяется тут:
УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();


Релиз 3.1.9.159
vakrikun; Skolkovo; uralcentr; SlavaKron; +4 Ответить
60. SlavaKron 26.03.19 10:32 Сейчас в теме
(59) Точно! Соответственно, решается вопрос в (30) - СоздатьВТДанныеУчетаВремениИСостоянийСотрудников возвращает все дни за период. Исправьте пожалуйста:
&НаСервере
Процедура Команда1НаСервере()
	
	ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();
	ПараметрыПолученияДанных.ДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.ДатаОкончания = Период.ДатаОкончания;
	
	ПараметрыПолученияДанных.МесяцДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.МесяцДатаОкончания = Период.ДатаОкончания;
	ПараметрыПолученияДанных.ДатаАктуальности = ТекущаяДата();
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	СоздатьВТСотрудники(МенеджерВременныхТаблиц, СписокСотрудников.ВыгрузитьЗначения(), Период.ДатаНачала, Период.ДатаОкончания);
	
	УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	ТЗ = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаВремениИСостоянийСотрудников").ПолучитьДанные().Выгрузить();
	ТЗ.Сортировать("Дата");
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала, ДатаОкончания)
	ТаблицаСотрудники = Новый ТаблицаЗначений;
	ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); 
	
	Для Каждого Сотрудник Из МассивСотрудников Цикл
		СтрокаСотрудники = ТаблицаСотрудники.Добавить();
		СтрокаСотрудники.Сотрудник = Сотрудник;
	КонецЦикла;
	
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаНачала, "ДатаНачала");
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаОкончания, "ДатаОкончания");
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ТаблицаСотрудники.Сотрудник,
	|	ТаблицаСотрудники.ДатаНачала,
	|	ТаблицаСотрудники.ДатаОкончания
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудники КАК ТаблицаСотрудники");
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
	Запрос.Выполнить();
КонецПроцедуры
Показать
eksetro; user1235208; uralcentr; +3 Ответить
77. user1235208 16.07.19 13:33 Сейчас в теме
(60) Всем привет, в дополнение к указанному коду рекомендую к использованию остальные ВТ текущего МенеджерВременныхТаблиц, вот список:

ВТСотрудники
ВТПериодыРаботыСотрудников
ВТМесяцы
ВТСотрудникиМесяцы
ВТПериодыДействияГрафиковДляКалендарей
ВТСоответствиеСостоянийВидамУчетаВремени
ВТДатыСостояний
ВТПараметрыЗарегистрированныхДанныхУчетаВремени
ВТСотрудникСРассчитаннымиДанными
ВТПараметрыПолученияДанныхПоСотрудникам
ВТЗарегистрированныеВидыДанныхУчетаВремени
ВТИспользуемыеВидыДанных
ВТВытесняющиеВидыДанных
ВТВспомогательнаяТаблицаОпределенияУстановленныхДнейПериода
ВТИспользуемыеИсточникиДанныхНеотфильтрованные
ВТИсточникиПолученияДанныхУчетаВремени
ВТИзмеренияДатыДляСрезаГрафиков
ВТГрафикРаботыСотрудниковСрезПоследних
ВТГрафикРаботыСотрудниковСрезПервых
ВТГрафикРаботыСотрудников
ВТГрафикРаботыСотрудниковСрезПоследнихДополненный
ВТГрафикиСотрудниковСрезИДвижения
ВТИнтервалыГрафиков
ВТПериодыДейсвияОбщихГрафиковСотрудников
ВТОбщиеГрафики
ВТДанныеОбщихГрафиков
ВТДанныеРегистровУчетаВремени
ВТНормаВремени
ВТДанныеУчетаРабочегоВремениСотрудников
ВТСостоянияСотрудников
ВТДанныеУчетаВремениПоСостояниям
ВТДанныеУчетаВремениИСостоянийСотрудников
Bene_Valete; +1 Ответить
78. user1235208 17.07.19 06:41 Сейчас в теме
(60)
ПараметрыПолученияДанных.МесяцДатаНачала = Период.ДатаНачала;


Дополню важный нюанс, если запрашиваете данные за произвольный период, тогда необходимо указать начало месяца в МесяцДатаНачала, иначе данные за неполный месяц начала посчитаны не будут. Однако дата переданная в МесяцДатаОкончания произвольным числом даст итоги по неполному месяцу.

ПараметрыПолученияДанных.ДатаНачала = Период.ДатаНачала  //Оставляем без изменений
ПараметрыПолученияДанных.МесяцДатаНачала = НачалоМесяца(Период.ДатаНачала);


------
Версия ЗКГУ 3.1.9.205
61. tamepjlah 26.03.19 12:00 Сейчас в теме
Функция, позволяющая получить работающих сотрудников по заданным параметрам отбора
ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолучения);

работает некорректно в случае, если в регистре сведений "Данные для подбора сотрудников" нет записи с видом события "Увольнение" по сотруднику, который по факту уволен. У нас такие сотрудники вылезли после переноса из старой базы (думается мне, что была кривая обработка по переносу).
В этом случае данный сотрудник будет считаться трудоустроенным.
Также данного сотрудника нельзя будет выбрать, например, в расчетном листке, если указана организация. База просто не видит этого сотрудника.
62. Somaha 04.04.19 10:06 Сейчас в теме
Доброго времени суток.
Релиз 3.1.9.187. Получение действующих плановых начислений для списка сотрудников не сработает, т.к. функция не экспортная.
ТекущиеДанныеОплатыТруда = КадровыйУчетРасширенный.ТекущиеНачисленияСотрудников(МассивСотрудник, ТекущаяДата(),,);
63. haereticus 04.04.19 13:32 Сейчас в теме
(62) Выше писали: скопируйте себе эту функцию да и всё
64. Somaha 04.04.19 14:31 Сейчас в теме
65. Centa96 15.05.19 13:49 Сейчас в теме
Ребята у меня вопрос по поводу Получить данные среднего заработка, остатка отпусков, резерва отпусков. Я использовала её для получения данных для печати Подробного расчета начислений, но я не совсем поняла как заполняется индексация.
87. lushka 8 18.09.19 09:07 Сейчас в теме
(65) Исправьте строчку одну
Вместо

ДополнительныеПараметры.Индексации = ДанныеДляРасчета.ДанныеОбИндексации;

надо

ДополнительныеПараметры.Индексации = ДанныеДляРасчетаСорудник.ДанныеОбИндексации;
66. mikeA 1 04.06.19 07:10 Сейчас в теме
1. Статья нужная, плюс однозначно. Автору респект.

2. Как получить с помощью типовых функций периоды работы сотрудника в подразделениях? Там вроде везде только ДатаПриема и ДатаУвольнения. Может что пропустил конечно.
68. GeterX 796 13.06.19 17:44 Сейчас в теме
(66)
Может что пропустил конечно.

Мне кажется нужная для вас информация содержится в Регистре сведений Кадровая история сотрудников.
Выводится простым запросом.
69. mikeA 1 18.06.19 10:43 Сейчас в теме
(68) Как получить кадровую историю запросом я знаю. У меня даже есть процедура, добавляющая в менеджер временных таблиц таблицу с кадровой историей с блэкджеком и с учётом особенностей компании.

Меня интересует, можно ли получить её с помощью типовых функций. Мы же теперь вроде как API используем?
70. GeterX 796 18.06.19 11:16 Сейчас в теме
(69) В конфигурации кадровая история получается следующим образом (Справочники - Сотрудники - ФормаИсторииИзмененияМестаРаботы):

&НаСервере
Процедура СформироватьКадровуюИсторию()
	КадроваяИстория.Очистить();
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	Измерения = Новый ТаблицаЗначений;
	Измерения.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	Измерения.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	Измерения.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));
	СтрокаИзмерения = Измерения.Добавить();
	СтрокаИзмерения.Сотрудник = СсылкаНаСотрудника;
	СтрокаИзмерения.ДатаОкончания = КонецГода(ТекущаяДатаСеанса());
	
	ПараметрыПостроения = ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистра();
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
		ПараметрыПостроения.Отборы, "ВидСобытия", "<>", Перечисления.ВидыКадровыхСобытий.НеподтвержденныеДанные);
	
	ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
		"КадроваяИсторияСотрудников",
		Запрос.МенеджерВременныхТаблиц,
		Истина,
		ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(Измерения),
		ПараметрыПостроения);
		
	ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра(
		"ГрафикРаботыСотрудников",
		Запрос.МенеджерВременныхТаблиц,
		Истина,
		ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(Измерения));
	
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	КадроваяИсторияСотрудников.Период КАК Период
	|ПОМЕСТИТЬ ВТПериоды
	|ИЗ
	|	ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ГрафикРаботыСотрудников.Период
	|ИЗ
	|	ВТГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	|	Периоды.Период КАК Период,
	|	МАКСИМУМ(ГрафикРаботыСотрудников.Период) КАК ПериодГрафикиРаботы,
	|	МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК ПериодКадроваяИстория
	|ПОМЕСТИТЬ ВТПериодыИстории
	|ИЗ
	|	ВТПериоды КАК Периоды
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
	|		ПО Периоды.Период >= КадроваяИсторияСотрудников.Период
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
	|		ПО Периоды.Период >= ГрафикРаботыСотрудников.Период
	|
	|СГРУППИРОВАТЬ ПО
	|	Периоды.Период
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ПериодыИстории.Период КАК Период,
	|	КадроваяИсторияСотрудников.Организация КАК Организация,
	|	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
	|	КадроваяИсторияСотрудников.Должность КАК Должность,
	|	КадроваяИсторияСотрудников.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
	|	КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок,
	|	КадроваяИсторияСотрудников.ВидСобытия КАК ВидСобытия,
	|	ГрафикРаботыСотрудников.ГрафикРаботы КАК ГрафикРаботы,
	|	ВЫБОР
	|		КОГДА ПериодыИстории.Период = ГрафикРаботыСотрудников.Период
	|			ТОГДА ГрафикРаботыСотрудников.Регистратор
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК РегистраторГрафикРаботы,
	|	ВЫБОР
	|		КОГДА ПериодыИстории.Период = КадроваяИсторияСотрудников.Период
	|			ТОГДА КадроваяИсторияСотрудников.Регистратор
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК РегистраторКадроваяИстория
	|ПОМЕСТИТЬ ВТИстория
	|ИЗ
	|	ВТПериодыИстории КАК ПериодыИстории
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
	|		ПО ПериодыИстории.ПериодКадроваяИстория = КадроваяИсторияСотрудников.Период
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
	|		ПО ПериодыИстории.ПериодГрафикиРаботы = ГрафикРаботыСотрудников.Период
	|ГДЕ
	|	НЕ ПериодыИстории.ПериодКадроваяИстория ЕСТЬ NULL
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	История.Период КАК Период,
	|	История.Организация КАК Организация,
	|	ВЫБОР
	|		КОГДА История.Организация = ИсторияПредыдущие.Организация
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК ОрганизацияИзменена,
	|	История.Подразделение КАК Подразделение,
	|	ВЫБОР
	|		КОГДА История.Подразделение = ИсторияПредыдущие.Подразделение
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК ПодразделениеИзменено,
	|	История.Должность КАК Должность,
	|	ВЫБОР
	|		КОГДА История.Должность = ИсторияПредыдущие.Должность
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК ДолжностьИзменена,
	|	История.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
	|	ВЫБОР
	|		КОГДА История.ДолжностьПоШтатномуРасписанию = ИсторияПредыдущие.ДолжностьПоШтатномуРасписанию
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК ДолжностьПоШтатномуРасписаниюИзменена,
	|	История.КоличествоСтавок КАК КоличествоСтавок,
	|	ВЫБОР
	|		КОГДА История.КоличествоСтавок = ИсторияПредыдущие.КоличествоСтавок
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК КоличествоСтавокИзменено,
	|	История.ВидСобытия КАК ВидСобытия,
	|	История.ГрафикРаботы КАК ГрафикРаботы,
	|	ВЫБОР
	|		КОГДА История.ГрафикРаботы = ИсторияПредыдущие.ГрафикРаботы
	|			ТОГДА ЛОЖЬ
	|		ИНАЧЕ ИСТИНА
	|	КОНЕЦ КАК ГрафикРаботыИзменен,
	|	История.РегистраторГрафикРаботы КАК РегистраторГрафикРаботы,
	|	История.РегистраторКадроваяИстория КАК РегистраторКадроваяИстория
	|ИЗ
	|	ВТИстория КАК История
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			История.Период КАК Период,
	|			МАКСИМУМ(ИсторияПредыдущая.Период) КАК ПериодПредыдущий
	|		ИЗ
	|			ВТИстория КАК История
	|				ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИстория КАК ИсторияПредыдущая
	|				ПО История.Период > ИсторияПредыдущая.Период
	|		
	|		СГРУППИРОВАТЬ ПО
	|			История.Период) КАК ПредыдущиеПериоды
	|			ЛЕВОЕ СОЕДИНЕНИЕ ВТИстория КАК ИсторияПредыдущие
	|			ПО ПредыдущиеПериоды.ПериодПредыдущий = ИсторияПредыдущие.Период
	|		ПО История.Период = ПредыдущиеПериоды.Период
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период";
	
	КадроваяИстория.Загрузить(Запрос.Выполнить().Выгрузить());
	
	Для Каждого СтрокаКадроваяИстория Из КадроваяИстория Цикл
		Если ЗначениеЗаполнено(СтрокаКадроваяИстория.РегистраторКадроваяИстория) Тогда
			СтрокаКадроваяИстория.Основания.Добавить(СтрокаКадроваяИстория.РегистраторКадроваяИстория);
		КонецЕсли; 
		Если ЗначениеЗаполнено(СтрокаКадроваяИстория.РегистраторГрафикРаботы) 
			И СтрокаКадроваяИстория.РегистраторГрафикРаботы <> СтрокаКадроваяИстория.РегистраторКадроваяИстория Тогда
			СтрокаКадроваяИстория.Основания.Добавить(СтрокаКадроваяИстория.РегистраторГрафикРаботы);
		КонецЕсли; 
		СтрокаКадроваяИстория.КоличествоСтавокПредставление = КадровыйУчетРасширенныйКлиентСервер.ПредставлениеКоличестваСтавок(СтрокаКадроваяИстория.КоличествоСтавок);
	КонецЦикла;
	
КонецПроцедуры

Показать
67. kievol 13.06.19 17:20 Сейчас в теме
Спасибо. Очень полезно и познавательно.
71. Somaha 03.07.19 10:05 Сейчас в теме
Кстати, для пункта "Получить работающих сотрудников по заданным параметрам отбора", в строке
ПараметрыПолучения.КадровыеДанные = "Сотрудник,ФизическоеЛицо,Подразделение,Должность,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ВидЗанятости,ДатаПриема,ДатаУвольнения,ГрафикРаботы";

Сотрудник и ФизическоеЛицо можно убрать, т.к. это "предопределенные" колонки в возвращаемой ТЗ. Если оставить как есть, то в ТЗ будут колонки Сотрудник, ФизическоеЛицо, Сотрудник1, ФизическоеЛицо1.
user1235208; GeterX; +2 Ответить
72. graphbuh 228 09.07.19 17:13 Сейчас в теме
Отличная подборка!
...может загнать ее в html -файл как это было в книге "Простые примеры разработки" ?
А там и до книги недалего.. )
81. user1235208 22.07.19 05:32 Сейчас в теме
Может кому пригодится, или кто предложит как сделать лучше)

Функция для расчета количества полных месяцев стажа по трудовой книжке:

Функция ПолучитьНепрерывныйСтажНадбавку(Сотрудник, ДатаПеревода)
	
	ПолныхМесяцевСтажаПоДатуПеревода = 0;
	НадбавкаЗаСтаж  = 0;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	СтажиФизическихЛицСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо,
		|	СтажиФизическихЛицСрезПоследних.ВидСтажа КАК ВидСтажа,
		|	СтажиФизическихЛицСрезПоследних.ДатаОтсчета КАК ДатаОтсчета,
		|	СУММА(СтажиФизическихЛицСрезПоследних.РазмерМесяцев) КАК РазмерМесяцев,
		|	СУММА(СтажиФизическихЛицСрезПоследних.РазмерДней) КАК РазмерДней,
		|	СтажиФизическихЛицСрезПоследних.ИсчисляетсяСДатыПриема КАК ИсчисляетсяСДатыПриема
		|ИЗ
		|	РегистрСведений.СтажиФизическихЛиц.СрезПоследних(&Дата, ) КАК СтажиФизическихЛицСрезПоследних
		|ГДЕ
		|	СтажиФизическихЛицСрезПоследних.ФизическоеЛицо = &ФизическоеЛицо
		|
		|СГРУППИРОВАТЬ ПО
		|	СтажиФизическихЛицСрезПоследних.ВидСтажа,
		|	СтажиФизическихЛицСрезПоследних.ФизическоеЛицо,
		|	СтажиФизическихЛицСрезПоследних.ДатаОтсчета,
		|	СтажиФизическихЛицСрезПоследних.ИсчисляетсяСДатыПриема";
	
	//Запрос.УстановитьПараметр("ВидСтажа", ВидСтажа);
	Запрос.УстановитьПараметр("ФизическоеЛицо", Сотрудник.ФизическоеЛицо);
	Запрос.УстановитьПараметр("Дата", ДатаПеревода);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	ТаблицаМедицинскихСтажей = Новый ТаблицаЗначений;
	ТаблицаМедицинскихСтажей.Колонки.Добавить("ДатаОтсчета");
	ТаблицаМедицинскихСтажей.Колонки.Добавить("РазмерМесяцев");
	ТаблицаМедицинскихСтажей.Колонки.Добавить("РазмерДней");
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Если СтрНайти(ВРЕГ(ВыборкаДетальныеЗаписи.ВидСтажа), "МЕДИЦИНСКИЙ СТАЖ")>0 Тогда
			СтрокаМедстаж = ТаблицаМедицинскихСтажей.Добавить();
			СтрокаМедстаж.ДатаОтсчета = ВыборкаДетальныеЗаписи.ДатаОтсчета;
			СтрокаМедстаж.РазмерМесяцев = ВыборкаДетальныеЗаписи.РазмерМесяцев;
			СтрокаМедстаж.РазмерДней = ВыборкаДетальныеЗаписи.РазмерДней;
		КонецЕсли;	
	КонецЦикла;
	
	Если ТаблицаМедицинскихСтажей.Количество() = 1 Тогда
		ДатаНачалоСтаж = ДобавитьМесяц(ТаблицаМедицинскихСтажей[0].ДатаОтсчета, -ТаблицаМедицинскихСтажей[0].РазмерМесяцев);
		ДатаНачалоСтаж = НачалоДня(ДатаНачалоСтаж) - ТаблицаМедицинскихСтажей[0].РазмерДней*24*60*60;
		Если ДатаПеревода > ДатаНачалоСтаж Тогда
			
			Запрос = Новый Запрос;
			Запрос.Текст = 
				"ВЫБРАТЬ
				|	РАЗНОСТЬДАТ(&ДатаНачалоСтаж, &ДатаПеревода, МЕСЯЦ) КАК Поле1";
			
			Запрос.УстановитьПараметр("ДатаНачалоСтаж", ДатаНачалоСтаж);
			Запрос.УстановитьПараметр("ДатаПеревода", ДатаПеревода);
			РезультатЗапроса = Запрос.Выполнить();
			ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
			Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
				ПолныхМесяцевСтажаПоДатуПеревода = ВыборкаДетальныеЗаписи.Поле1;
			КонецЦикла;
			ДатаПереводаДень = День(ДатаПеревода);
			ДатаНачалоСтажаДень = День(ДатаНачалоСтаж);
			Если ДатаПереводаДень < ДатаНачалоСтажаДень Тогда  
				ПолныхМесяцевСтажаПоДатуПеревода = ПолныхМесяцевСтажаПоДатуПеревода - 1;
			КонецЕсли;			
		КонецЕсли;	
	ИначеЕсли ТаблицаМедицинскихСтажей.Количество()>1 Тогда	
		Сообщить("У данного сотрудника, зафиксированны более чем 1 запись медицинского стажа, обратитесь к администратору");
	КонецЕсли;
	Если ПолныхМесяцевСтажаПоДатуПеревода>=36 И ПолныхМесяцевСтажаПоДатуПеревода<60 Тогда
		НадбавкаЗаСтаж = 20;
	ИначеЕсли ПолныхМесяцевСтажаПоДатуПеревода>=60 Тогда
		НадбавкаЗаСтаж = 30;
	Иначе
		НадбавкаЗаСтаж = 0;	
	КонецЕсли;
	
	Возврат НадбавкаЗаСтаж;
КонецФункции
Показать
cefey-kurgan; aaguselnikova; +2 Ответить
82. DoctorRoza 14.08.19 13:26 Сейчас в теме
Комрады, привет. Мне нужно из ЗУП 3.1 (3.1.10.78), получить данные по начислениям и удержаниям по всем организациям. Эти данные нужно залить в УТ 10.3 (для управленческого учета). Делать буду через com регл. заданием с загрузкой в специальный РС. Что-то вроде, Расчетного листка. Подскажите, пожалуйста, в конфигурации есть готовые модули для этого, какими можно воспользоваться? Спасибо
91. lg2marvel 30.09.19 09:49 Сейчас в теме
83. lemni 67 20.08.19 16:43 Сейчас в теме
Добрый день! Может кому-то попадалась функция по расчету стоимости часа сотрудника (или списка сотрудников)?
84. artem_savonin 06.09.19 03:04 Сейчас в теме
Добрый день. Подскажите, может есть стандартная функция, чтобы получить данные по начислениям и отработанным часам сотрудника в разрезе подразделений и должностей. Проблема в том, что сотрудники в пределах одного месяца перемещаются между должностями внутри подразделения. В регистре НачисленияУдержанияПоСотрудникам нет информации о должности сотрудника по которой происходит начисление. Оплату по окладу возможно и удастся получить, т.к. в НачисленияУдержанияПоСотрудникам есть дата с которой действует данное начисление, а вот начисления премии регистрируется за период в целом, за весь месяц. Посоветуйте как получить начисленные суммы и отработанные часы в разрезе подразделений и должностей.
85. artem_savonin 08.09.19 06:12 Сейчас в теме
89. gsnls15 53 19.09.19 13:12 Сейчас в теме
(85) Поделитесь, пожалуйста, как Вы его решили. Тоже актуально.
90. artem_savonin 26.09.19 16:35 Сейчас в теме
(89) Если коротко: взял запрос из стандартного отчета "Анализ з/п по сотрудникам в целом за период". Но проблему премий он не решает. Премии распределял пропорционально основному заработку.
95. lushka 8 12.02.20 11:48 Сейчас в теме
(90) А если не коротко? Не могли бы вы поделится отчетом? unk111собакаrambler.ru
92. payta 02.10.19 16:18 Сейчас в теме
для склонения можно еще использовать платформенный метод ПолучитьСклоненияСтроки()
user774630; +1 Ответить
93. ktibomail 6 04.10.19 04:37 Сейчас в теме
Практически все, что выводится в расчетном листке, можно получить следующим кодом:

АнализНачисленийИУдержаний = Отчеты.АнализНачисленийИУдержаний.Создать();
		
	ДополнительныеПоля = АнализНачисленийИУдержаний.ДополнительныеПоляПредставлений();
	
	// Удаляем из ДополнительныеПоля все, кроме нужных (в данном случае это ДолжностьПоШтатномуРасписанию)
	ТЗ = ДополнительныеПоля.Представления_КадровыеДанныеСотрудниковАнализНачисленийИУдер­жаний;		
	Для Индекс = -ТЗ.Количество()+1 По 0 Цикл
	    Если ТЗ[-Индекс].ИмяПоля <> "ДолжностьПоШтатномуРасписанию" Тогда
	        ТЗ.Удалить(-Индекс);
	    КонецЕсли;
	КонецЦикла;		
	
	ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(АнализНачисленийИУдержаний, ДополнительныеПоля);	
	АнализНачисленийИУдержаний.ИнициализироватьОтчет();

// Удаляем лишние отборы
	ТекстЗапроса = АнализНачисленийИУдержаний.СхемаКомпоновкиДанных.НаборыДанных.НачисленияУдержанияОбъединенные.Элементы.НачисленияУдержания.Запрос;
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И НЕ ВзаиморасчетыССотрудниками.Регистратор В (&ИсключаемыеСсылки)", "");
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И НЕ НачисленияИУдержания.Регистратор В (&ИсключаемыеСсылки)", "");
	
	// Через построитель устанавливаем нужные отборы (период и физлица)
	ПостроительЗапроса = Новый ПостроительЗапроса(ТекстЗапроса);
	ПостроительЗапроса.Параметры.Вставить("НачалоПериода", НачалоМесяца(Период));
	ПостроительЗапроса.Параметры.Вставить("КонецПериода", КонецМесяца(Период));
	ПостроительЗапроса.Параметры.Вставить("ОкончаниеИнтервалаПредставленияПериоды", ДобавитьМесяц(КонецМесяца(Период),60));
	ПостроительЗапроса.Параметры.Вставить("МаксимальнаяДата", Дата(3999,12,31,23,59,59));
	
	ЭлементОтбора = ПостроительЗапроса.Отбор.Добавить("ФизическоеЛицо");
	ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке;
	ЭлементОтбора.Использование = Истина;
	СписокЗначенийФизлица = Новый СписокЗначений;
	СписокЗначенийФизлица.ЗагрузитьЗначения(Физлица);
	ЭлементОтбора.Значение = СписокЗначенийФизлица;
	
	Запрос = ПостроительЗапроса.ПолучитьЗапрос();
	МенеджерВТ = Новый МенеджерВременныхТаблиц;		
	Запрос.МенеджерВременныхТаблиц = МенеджерВТ;	

	// Результат в ТЗ
	ТЗ = Запрос.Выполнить().Выгрузить();
Показать
94. GeterX 796 22.11.19 12:02 Сейчас в теме
В статью внесены ряд изменений, исправлений и добавлен блок с полезными статьями на тему ЗУП/ЗКГУ 3.1.
Может кому пригодится. Если есть, что дополнить, пишите.
SergeySol-82; +1 Ответить
96. Shefer 3 28.02.20 14:31 Сейчас в теме
Добрый день! А может кто подскажет функцию/процедуру для разделения произвольного периода по месяцам: ну то есть передаем: 11.01.2019-17.06.2019, получаем 11.01.2019-31.01.2019, 01.02.2019-28.02.2019,...,01.06.2019-1706.2019.
97. Amras 43 10.03.20 14:11 Сейчас в теме
(96)
11.01.2019-17.06.2019


Если смотреть на сайте, то данный вопрос уже решался.

В ЗУП (например: 3.1.10), если придерживаться той-же схемы, то получится требуемый результат (11/01/2019 - 31/01/2019......01/06/2019 - 17/06/2019):

ВЫБРАТЬ
	ДанныеПроизводственногоКалендаря.Дата КАК Дата,
	ГОД(ДанныеПроизводственногоКалендаря.Дата) * 100 + МЕСЯЦ(ДанныеПроизводственногоКалендаря.Дата) КАК НомерМесяца
ПОМЕСТИТЬ ВТ_ДатыКалендаря
ИЗ
	РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
	ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ПериодДействияНачало И &ПериодДействияКонец
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МИНИМУМ(ВТ_ДатыКалендаря.Дата) КАК ДатаНачала,
	МАКСИМУМ(ВТ_ДатыКалендаря.Дата) КАК ДатаОкончания
ИЗ
	ВТ_ДатыКалендаря КАК ВТ_ДатыКалендаря

СГРУППИРОВАТЬ ПО
	ВТ_ДатыКалендаря.НомерМесяца
Показать


И есть вариант (не проверял правда):

&НаСервере
Функция РазбитьПериодНаПодпериоды(Знач ДатаНачала, Знач ДатаОкончания)
    
    ТаблицаЗначений = Новый ТаблицаЗначений;
    ТаблицаЗначений.Колонки.Добавить("ДатаНачала");
    ТаблицаЗначений.Колонки.Добавить("ДатаОкончания");
    
    ПервыйОбход = Истина;
    
    Если Отчет.УровеньДетализации = "День" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецДня(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецДня(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецДня(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоДня(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоДня(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецДня(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецДня(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    ИначеЕсли Отчет.УровеньДетализации = "Неделя" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецНедели(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецНедели(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецНедели(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоНедели(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоНедели(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецНедели(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецНедели(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;

        
    ИначеЕсли Отчет.УровеньДетализации = "Месяц" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецМесяца(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецМесяца(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецМесяца(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоМесяца(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоМесяца(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецМесяца(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецМесяца(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    ИначеЕсли Отчет.УровеньДетализации = "Квартал" Тогда
        
        Пока ДатаНачала <= ДатаОкончания Цикл
            
            Если ПервыйОбход Тогда
                
                Если КонецКвартала(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = ДатаНачала;
                    НоваяСтрока.ДатаОкончания    = КонецКвартала(ДатаНачала);
                КонецЕсли;
                
            Иначе
                
                Если КонецКвартала(ДатаНачала) >= ДатаОкончания Тогда
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоКвартала(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = ДатаОкончания;
                    
                    Прервать;
                Иначе
                    НоваяСтрока = ТаблицаЗначений.Добавить();
                    НоваяСтрока.ДатаНачала        = НачалоКвартала(ДатаНачала);
                    НоваяСтрока.ДатаОкончания    = КонецКвартала(ДатаНачала);
                КонецЕсли;
                
            КонецЕсли;
            
            ДатаНачала    = КонецКвартала(ДатаНачала)+1;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    КонецЕсли;
        
    
    Возврат ТаблицаЗначений;
    
КонецФункции
Показать
98. Shefer 3 12.03.20 10:38 Сейчас в теме
(97) Спасибо, конечно, но я имела в виду типовую функцию общего модуля. Задача нетривиальная для ЗУП. Не хотелось городить свои процедуры, зная, что где-то в типовом коде этот вопрос уже решен.
Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    76253    Serginio    108    

Просто о 1С:ЗУП 3.1 за 10 минут

Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ УУ Бесплатно (free)

Когда начинал работать с конфигурацией 1С ЗУП 2.5 не было никакого краткого описания этой конфигурации. Приходилось читать умные книги. Статья представляет собой вводный инструктаж в 1С: ЗУП 3.1 для начинающих.

04.09.2020    1917    Kaval88    27    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    4213    YPermitin    18    

Пользовательское поле СКД одной процедурой

Практика программирования Универсальные функции v8 Бесплатно (free)

Быстрое создание пользовательского поля "выражение" одной процедурой

05.08.2020    1499    Yashazz    0    

Универсальные функции с примерами использования Промо

Универсальные функции v8 Бесплатно (free)

14 универсальных функций, с примерами использования - для обычного и управляемого интерфейса

26.02.2016    41136    unichkin    46    

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции v8 БП3.0 УТ11 Россия Бесплатно (free)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    2681    quazare    5    

Вывод дерева в табличный документ СКД

Практика программирования Универсальные функции v8 v8::СКД Бесплатно (free)

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2475    Yashazz    4    

Учет заработной платы на предприятиях оборонно-промышленного комплекса на 1С:ERP 2.4

Зарплата v8 ERP2 Россия БУ Бесплатно (free)

За последние годы на предприятиях оборонно-промышленного комплекса (далее по тексту – ОПК) ужесточились требования к ведению учета, участились проверки. Одним из учетных разделов, которые проверяются особенно тщательно была и остаётся заработная плата. В этой статье поговорим про опыт Внедренческого центра «Раздолье» в автоматизации расчета и учета заработной платы, налогов и резервов на отпуск на крупных промышленных предприятиях с учетом требований раздельного учета, которые установлены 47м постановлением (постановление Правительства РФ №47 от 19.01.1998 «О правилах ведения организациями, выполняющими государственный заказ за счет средств федерального бюджета, раздельного учета результатов финансово-хозяйственной деятельности») и 275-ФЗ (закона от 29.12.2012 №275 «О государственном оборонном заказе»).

25.05.2020    2707    1СERP    1    

Минимализмы 3 Промо

Практика программирования Универсальные функции v8 Бесплатно (free)

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    46401    ildarovich    45    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    18901    user5300    16    

Снижение тарифа страховых взносов по 102-ФЗ в комплексной автоматизации (КА) 1.1

Зарплата v8 КА1 Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Комплексная автоматизация (КА) 1.1 снята с поддержки, соответственно обновлений по новым ставкам нет. Необходимые доработки представлены в статье.

08.05.2020    2425    v.krivenko    10    

Настройки зарплаты с учетом важных изменений от 25.03.2020

Зарплата v8 v8::СПР ERP2 ЗУП3.x Россия БУ ЕСН ФОМС, ПФ, ФСС Бесплатно (free)

В телевизионном выступлении Президента РФ, которое было опубликовано во второй половине 25 марта 2020 года, было заявлено несколько важных изменений, влияющих на настройки контура учета зарплаты.

26.03.2020    11567    Nikola23    39    

Выполнение произвольного кода в фоновых заданиях Промо

Универсальные функции v8 Бесплатно (free)

Если надо быстро провести 100`000 документов...

13.01.2016    24602    unichkin    13    

Полезные функции БСП (Часть 2)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

10.03.2020    11767    user5300    18    

Заполнение ведомости на выплату в банк, когда у человека несколько зарплатных проектов (ЗУП 3.1)

Зарплата Банковские операции v8 v8::СПР ЗУП3.x Россия Бесплатно (free)

По долгу работы не раз приходилось сталкиваться с проблемой, когда у сотрудника несколько зарплатных карт. Я предлагаю небольшое решение данного вопроса, т.к. не нашёл в интернете и на форуме информацию, которая бы помогла решить вопрос.

04.03.2020    2364    nestokay    5    

Электронные трудовые книжки, СЗВ-ТД в ЗУП 3.1 - сборник ответов на вопросы и полезные ссылки

Документооборот и делопроизводство Зарплата v8 v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

С 1 января 2020 г. начался переход на электронные трудовые книжки. До середины февраля 2020 г. все работодатели должны сдать первый отчет по форме СЗВ-ТД. Не смотря на то, что срок сдачи уже достаточно близок, информация по данному направлению постоянно изменяется и уточняется. Я постаралась собрать ключевые моменты, касающиеся перехода на электронный формат ведения трудовых книжек сотрудников в программе ЗУП 3.1, которые возникли при изучении этого нововведения. Данный сборник будет полезен как бухгалтеру/кадровику, так и 1С программисту или консультанту, сопровождающему переход. Весь предложенный материал можно найти самостоятельно, моей целью было собрать разные источники воедино дабы облегчить работу моим коллегам. В связи с тем, что информация может корректироваться и уточняться, необходимо проверять ее актуальность, поэтому в каждом найденном ответе указан источник для проверки. Внимание - данный сборник является справочным, работодатель должен руководствоваться исключительно Законодательством об электронных трудовых книжках. В сборник первоначально вошли только те вопросы, с которыми я столкнулась в своей работе лично, поэтому критика и предложения по дополнению приветствуются! !!!UPD - произошло значительное изменение функционала СЗВ - ТД https://its.1c.ru/db/updinfo#content:701:1:issogl2_2

28.01.2020    47421    Bene_Valete    220    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    25852    ruha    14    

Секреты 1С:ЗУП 3

Зарплата Пользователю системы v8 v8::СПР ЗУП3.x Бесплатно (free)

В этой статье описаны несколько небольших секретов, позволяющих упростить работу с программой: 1. Как не забыть о Дне рождения сотрудника 2. Как в списке сотрудников отличить сотрудника по основному месту работы от совместителя 3. Как автоматически устанавливать организацию в документах

22.01.2020    5325    Neti    7    

Сходство Джаро - Винклера. Нечеткое сравнение строк

Универсальные функции v8 Россия Бесплатно (free)

В области информатики и статистики сходство Джаро - Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.

25.12.2019    6958    brooho    17    

Полезности | Дерево значений | Обычные формы |

Практика программирования Универсальные функции v8 Бесплатно (free)

Полезные функции при работе с деревом значений.

04.12.2019    5465    Mellow    7    

Полезные функции БСП Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    63313    25    spec8s    31    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    10790    Olesia_Matusevich    10    

Быстрое создание наполненных коллекций

Практика программирования Универсальные функции v8 1cv8.cf Бесплатно (free)

Разберем самые частые способы создания коллекции, значения которой известны заранее. И сравним скорость их выполнения.

28.10.2019    7122    SeiOkami    66    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    11118    kraspila    29    

Распределение оплаты по товарам Промо

Практика программирования Универсальные функции v8 1cv8.cf Бесплатно (free)

Учебная задача. Оплата приходит по заказу. Требуется запросом распределить её по товарам. Практическая задача была сложнее. Упростил специально для иллюстрации. Сначала собираем в одну таблицу заказы и товары. Затем ОБЪЕДИНТЬ ВСЕ с оплатами. Потом намазываем оплату на товар.

04.08.2014    19146    Трактор    5    

Обертка функций Excel на русском. Ускорение процесса разработки.

Загрузка и выгрузка в Excel Универсальные функции v8 Бесплатно (free)

Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

24.10.2019    7214    DmitryKotov    6    

WiseAdvise: Настройка расчета управленческой зарплаты в 1С:ЗУП КОРП 3.1

Зарплата Управление персоналом (HRM) v8 ЗУП3.x Россия УУ Бесплатно (free)

В статье описан механизм настройки расчета управленческой заработной платы в 1С ЗУП 3.1 КОРП в сравнении с аналогичным механизмом в ЗУП 2.5.

23.10.2019    8201    tamriko666@gmail.com    5    

Полезняшки по СКД и построителям. Просто код

Практика программирования Универсальные функции v8 v8::СКД Бесплатно (free)

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    9919    Yashazz    45    

ERP Управление Предприятием 2.0. Сдельная оплата Промо

Управленческий учет (прочее) Бухгалтерский учет Зарплата Зарплата v8 УПП1 ERP2 БУ УУ Бесплатно (free)

За некоторыми маленькими цифрами, которые нужно вносить в базу данных, прячется большой объем работ. К таким цифрам относится расценка по сдельной заработной плате. Как ее рассчитать? Как она меняется и от чего зависит?

24.11.2014    39879    PAVI    6    

Объединение организаций в ЗУП при реорганизации с переносом данных из ЗУП 2.5 в ЗУП 3.1

Зарплата Управление персоналом (HRM) Перенос данных из 1C8 в 1C8 v8 v8::СПР ЗУП2.5 ЗУП3.x БУ Бесплатно (free)

В этой статье описан опыт объединения 2-х организаций при реорганизации в ЗУП 3.1 с переносом данных одной организации из ЗУП 2.5 (релизы баз более или менее свежие, но не самые последние на момент перехода, примерно двух- и трехмесячной давности). За основу было взято решение из этой статьи https://infostart.ru/public/833658/, в которой описан алгоритм решения задачи, за что автору статьи огромная благодарность! Здесь же даны некоторые комментарии и пояснения к алгоритму переноса и объединения, описаны выявленные мною ошибки. Также приведена небольшая инструкция по использованию обработки ирПодборИОбработкаОбъектовБД — она будет полезна для пользователей — «не программистов», впервые работающих в не управляемых формах.

09.10.2019    7854    Neti    2    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    29392    HostHost    40    

Отчеты ЗУП. Решения всех отчетов из сборника задач для подготовки к Специалист-консультант ЗУП с картинками

Решение задач на 1С:Специалист Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

Когда готовился к сдаче экзамена на Специалист консультант по ЗУП, в процессе решения задач из сборника обнаружил, что те решения отчетов, которые есть в сети и на Инфостарте, недостаточно проиллюстрированы, и для новичка это может быть довольно тяжело и затратно по времени - разобраться, что к чему, с "нуля". Делал как шпаргалку для себя. Экзамен сдал на отлично. Рекомендую тем, кто готовится - прорешать все отчеты.

26.08.2019    15363    user1024932    19    

Сканируем без сканера или MXL to JPG Промо

Внешние источники данных Универсальные функции Печатные формы документов v8 1cv8.cf Бесплатно (free)

Хотите конвертировать документы в формат изображения менее чем за минуту, не имея сканера? Тогда эта статья для вас.

24.05.2012    34086    shakmaev    47    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    31242    ids79    16    

Постановка на воинский учет организации

Бухгалтерский учет Управление персоналом (HRM) Управление персоналом (HRM) v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

Привет! Я тут знаете, что поняла? Что за всю свою практику не встречала более или менее конкретных статей про постановку на воинский учет (далее – ВУ) в организациях. Все, конечно, не просто так: довелось организовывать полностью с нуля вот не далее, чем только что. В процессе вспомнились мои первые попытки что-то на этом поприще сделать, сотни общих статей и вот это вот все. В общем, подумала я и решила, что время пришло. Надо написать нормальную статью про ВУ в коммерческих организациях и рассказать тем, кто автоматизировался на 1С зачем вообще нужны эти отчеты. Отмечу, что не претендую на истину любой инстанции. Сегодня я просто хочу рассказать о том, что за зверь такой постановка на воинский учет, опираясь на мой собственный опыт.

06.08.2019    6048    VKuser24804875    1    

Перечисленный НДФЛ и как с этим бороться Промо

Зарплата Бухгалтерский учет Зарплата v8 ЗУП2.5 УПП1 Россия БУ НДФЛ Бесплатно (free)

Описание простой методики избавления от висящих остатков по НДФЛ перечисленному

20.02.2012    74592    kondrp    52    

Сохранение запроса со всеми параметрами и временными таблицами

Универсальные функции v8 v8::УФ Россия Бесплатно (free)

Функция сохранения запроса со всеми параметрами и временными таблицами в формате *.q1c для открытия в консоли запросов с диска ИТС.

13.05.2019    6441    Serge R    5    

ЗУП 3.1: Табель Т-13. Отсутствия в табеле, как в ЗУП 2.5, не по календарным, а по рабочим дням

Бухгалтерские Зарплата Учет рабочего времени Зарплата Учет рабочего времени v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

По запросу бухгалтера сделал печатную форму табеля, в котором сумма дней неявок выводится не по календарным дням, а по рабочим дням по графику сотрудников.

1 стартмани

16.04.2019    3293    5    clev    3    

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4

Практика программирования Универсальные функции Разработка v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free)

Различные варианты корректировки типовых механизмов проведения документов, без корректировки основной конфигурации. Использование расширений, подписок на событие и механизма локализации типовых документов.

22.03.2019    17720    ids79    16    

Неверный расчет СЗВ-СТАЖ. ЗУП 3.1

Адаптация типовых решений Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ ФОМС, ПФ, ФСС Бесплатно (free)

При заполнении отчета СЗВ-СТАЖ на последних релизах ЗУП (ошибка не исправлена и в релизе 3.1.9.107) выявлены ошибки при расчете периодов, а также неверное выделение стажа ДЛОТПУСК.

01.03.2019    7582    dbachinsky    2    

Как сделать в ЗУП 2.5 зарплатную отчетность за 2018 год; полезности для ЗУП 3.1 и БП 3.0 (обзор)

Зарплата Управление персоналом (HRM) Бухгалтерский учет Зарплата Управление персоналом (HRM) v8 v8::БУ v8::СПР ЗУП2.5 БП3.0 ЗУП3.x БУ НДФЛ ФОМС, ПФ, ФСС Бесплатно (free)

Нашла на Инфостарте весьма полезные вещи для бухгалтеров, занимающихся зарплатной отчетностью. Если точнее, для тех, кто делает 2-НДФЛ в «Бухгалтерии 3.0», 6-НДФЛ – в «ЗУП 3.1», либо работает в «ЗУП 2.5» и должен подготовить 2-НДФЛ и СЗВ-СТАЖ за 2018 год.

27.02.2019    9186    udb2007    6    

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников. Управляемые формы. Без снятия конфигурации с поддержки

Работа с интерфейсом Зарплата Зарплата v8 ERP2 ЗУП3.x Россия БУ Бесплатно (free)

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников Подходит для ERP, ЗУП v. 3.0; 3.1

24.02.2019    9611    EVP_EVP    7    

Информирование пользователя. Работа с объектом «СообщениеПользователю»

Практика программирования Разработка v8::УФ 1cv8.cf Бесплатно (free)

Различные варианты и нюансы использования объекта СообщениеПользователю и другие способы информирования пользователя: без привязки к какой-либо форме и с выводом сообщения в отдельном окне.

15.02.2019    51359    ids79    49    

Загрузка ЭЛН (электронных листов нетрудоспособности) из файлов

Внешние источники данных Зарплата Зарплата v8 УПП1 Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Что делать, если по каким-то причинам нет возможности разместить 1С и Крипто-Про на одном рабочем месте? Правильно - открывать конфигуратор и пилить. Благо, там не сложно. Непосредственно решение для УПП 1.3. Для ЗиК 2.5 и Комплексной автоматизации должно быть аналогично.

07.02.2019    6701    SatanClaws    4    

Переход на "Зарплату и управление персоналом 3.1"

Интеграция Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Сменила я тут работу и уже после того, как я приступила к исполнению обязанностей, мой новый начальник мне призналась, что выбор пал на меня только из-за того, что я знаю программу. Справедливости ради, эта уверенность была основана только на том, что я прошла тестирование, включающее только основные операции кадрового делопроизводства. Так или иначе, а работодатель попал в точку, нанимая меня в надежде, что я решу проблему: нужно перейти «с 8.2 на 8.3». Ничего сложного, скажет большинство, я тоже так говорю, но ситуация осложнялась некоторым количеством предшественников, которые уже «нафеячили» в программах до меня. Взять и сделать все заново мне не разрешили, так что пришлось исходить из того, что есть, и именно это дало пищу для размышлений и, в конце концов, привело к написанию этих рекомендаций. Если перед Вами стоит задача перехода с ЗУП 2.5 на ЗУП 3.1, я попробую облегчить Вам жизнь этой статьей.

01.02.2019    13281    VKuser24804875    33    

Работа со строками: от простого к сложному

Практика программирования Универсальные функции v8 Бесплатно (free)

Простые примеры работы со строками, в конце более читаемый разбор сложных текстов.

14.01.2019    28697    Evg-Lylyk    17    

Сдача 2-НДФЛ за 2018 год из конфигурации Зарплата и Управление Персоналом, редакция 2.5 (2.5.130.2)

Зарплата Регламентированная отчетность Зарплата v8 v8::СПР ЗУП2.5 Россия БУ НДФЛ Бесплатно (free)

В статье я пошагово описал процесс сдачи отчётности из 1С ЗУП редакции 2.5 через программу "Налогоплательщик ЮЛ". Весь процесс я разбил на 5 шагов, подробно и с картинками описал каждый шаг.

05.01.2019    23145    busa_nn    23    

Многопоточное восстановление последовательностей

Производительность и оптимизация (HighLoad) Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    13190    _ASZ_    33