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

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

Бухгалтерский учет - Зарплата

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Значение); // возвращает массив с элементом = Значение
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицуИзМассива(Таблица, Массив, ИмяПоля); // добавляет в таблицу строки и заполняет поле из массива
AliceLight; Pete; V_Ladeska; SlavaKron; +4 Ответить
27. GeterX 968 23.11.18 17:14 Сейчас в теме
(7) Спасибо за пример, добавил в статью.
AliceLight; Pete; SergeySol-82; +3 Ответить
30. GeterX 968 27.11.18 17:59 Сейчас в теме
(7) Процедура УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников выводит данные только за один месяц, а не знаете каким образом можно получить отработанное время за период, есть ли стандартная процедура получения подобных данных?
10. fxmike 59 15.11.18 09:32 Сейчас в теме
Эх, я только собрался писать похожую статью! Вообще, давно тема назрела.
tatyana_schukina; +1 Ответить
13. fxmike 59 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 968 23.11.18 17:46 Сейчас в теме
(13) Спасибо за пример, добавил в статью.
86. lushka 8 18.09.19 09:04 Сейчас в теме
(13) У Вас ошибка в коде, надо так:
ДополнительныеПараметры.Индексации = ДанныеДляРасчетаСотрудник.ДанныеОбИндексации;

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

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

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

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


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

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

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

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


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

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

Не срабатывает, по причине того, что эта процедура не экспортная.Смотрел на 3.1.5 и 3.1.7
35. GeterX 968 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 653 13.12.18 22:18 Сейчас в теме
ЗУП.3.1 ОбщийМобдуль.ЗарплатаКадрыБазовый:
Функция ПолучитьСведенияОбОрганизации

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

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

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

Разработчики обещали обратную совместимость только для методов, описанных в области #ПрограммныйИнтерфейс
user774630; +1 Ответить
52. Rusleg 79 21.12.18 16:08 Сейчас в теме
(51)Мне об этом обещании ничего неизвестно.
Вот если бы были комментарии к этим областям было бы другое дело.
haereticus; +1 Ответить
53. laperuz 47 21.12.18 16:41 Сейчас в теме
(52) Как-то так
Прикрепленные файлы:
user774630; GeterX; +2 Ответить
54. AlX0id 21.12.18 22:00 Сейчас в теме
(47)
Да не только разработчики ЗУП.. В той же КА/ЕРП/УТ толком пользоваться ИХ АПИ для себя в долгосрочной перспективе всегда ведет к тому, что они что-нибудь переименуют/исправят ошибку в названии функции/ поменяют формат входных данных..
Но с другой стороны - рисовать свои функции может быть еще хуже, ибо можно что-то не учесть в расчетах, это раз. А два - все равно метаданные/алгоритмы будут меняться, и вероятность того, что свой код станет не рабочим не меньше той, что нерабочим станет код с использованием типовых процедур..
AlexO; user1235208; SanchoD; Туки Туки; +4 Ответить
49. sansys 73 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
DimaP; zforall; romulanin; marv-ua; user774630; GeterX; Max27; +7 Ответить
59. Somaha 21.03.19 16:32 Сейчас в теме
Доброго времени суток. Код использованный для получения данных табеля Т-13 некорректен.
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);

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

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


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

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

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала, ДатаОкончания)
	ТаблицаСотрудники = Новый ТаблицаЗначений;
	ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); 
	
	Для Каждого Сотрудник Из МассивСотрудников Цикл
		СтрокаСотрудники = ТаблицаСотрудники.Добавить();
		СтрокаСотрудники.Сотрудник = Сотрудник;
	КонецЦикла;
	
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаНачала, "ДатаНачала");
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаОкончания, "ДатаОкончания");
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ТаблицаСотрудники.Сотрудник,
	|	ТаблицаСотрудники.ДатаНачала,
	|	ТаблицаСотрудники.ДатаОкончания
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудники КАК ТаблицаСотрудники");
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
	Запрос.Выполнить();
КонецПроцедуры
Показать
user1078309; eksetro; user1235208; uralcentr; +4 Ответить
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 2 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 968 13.06.19 17:44 Сейчас в теме
(66)
Может что пропустил конечно.

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

Меня интересует, можно ли получить её с помощью типовых функций. Мы же теперь вроде как API используем?
70. GeterX 968 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 248 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. marv-ua 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));
	
	ЭлементОтбора = ПостроительЗапроса.Отбор.Добавить("ФизическоеЛицо");
	ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке;
	ЭлементОтбора.Использование = Истина;
	СписокЗначенийФизлица = Новый СписокЗначений;
	СписокЗначенийФизлица.ЗагрузитьЗначения(Физлица);
	ЭлементОтбора.Значение = СписокЗначенийФизлица;
	
	Запрос = ПостроительЗапроса.ПолучитьЗапрос();
	МенеджерВТ = Новый МенеджерВременныхТаблиц;		
	Запрос.МенеджерВременныхТаблиц = МенеджерВТ;	

	// Результат в ТЗ
	ТЗ = Запрос.Выполнить().Выгрузить();
Показать
shapoval; GeterX; +2 Ответить
130. dimmkan 26.04.21 11:45 Сейчас в теме
(93) А не подскажите, как накинуть отбор по подразделению? Почему-то этот код не срабатывает:
Если ОтборПоПодразделению Тогда
		ЭлементОтбора = ПостроительЗапроса.Отбор.Добавить("Подразделение");
		ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
		ЭлементОтбора.Использование = Истина;
		ЭлементОтбора.Значение = Подразделение;
КонецЕсли;
94. GeterX 968 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;
            ПервыйОбход    = Ложь;    
            
        КонецЦикла;
        
    КонецЕсли;
        
    
    Возврат ТаблицаЗначений;
    
КонецФункции
Показать
Оставьте свое сообщение

См. также

Расчет премий по формулам Промо

Зарплата v8 v8::СКД КА2 УУ Бесплатно (free)

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

17.05.2021    3877    RocKeR_13    3    

Программный интерфейс для доработки форм

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

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

25.11.2021    2376    AtamanovYS    19    

Готовые механизмы 1С: ЗУП, представления

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

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    1651    Margo462    17    

Простейший способ учета изменений управляемых форм объектов 1С

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

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

02.11.2021    978    avalakh    12    

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

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

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

27.01.2016    85945    Serginio    116    

Функции для преобразования справочников и документов в соответствие и обратно

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

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

01.11.2021    741    avalakh    5    

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

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

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом)... То вам - сюда.

08.10.2021    1506    e-9    13    

Взаимодействие с api Честный знак (Молочная продукция)

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

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021    2097    user5300    45    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

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

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    9029    comol    31    

Изменение расшифровки макета СКД до компоновки

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

Это не про работу с данными расшифровки. Это про изменение расшифровок полей ДО того, как СКД выполнилась. Быстрый способ сделать нужные расшифровки.

12.07.2021    2448    Yashazz    6    

Тайны расчета удержаний по исполнительным листам. Ограничения взысканий. ЗУП 3.1

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

В ЗУП 3.1 изменился расчет удержания по исполнительным листам. В статье описывается алгоритм расчета в ЗУП 3.1 удержания по исполнительным листам в случаях, когда используют ограничения взысканий.

29.06.2021    8892    user_2010    37    

Префиксация объектов - полезный типовой функционал БСП

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

В данной публикации предлагаю рассмотреть основные типовые возможности библиотеки стандартных подсистем (БСП), касаемые префиксации объектов конфигураций.

21.06.2021    4889    quazare    4    

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

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

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

26.02.2016    43358    unichkin    47    

Нулевой отчет 6-НДФЛ за 1 квартал 2021 в УПП

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

Как сохранить и выгрузить отчет из УПП в файл?

27.04.2021    2349    VAAngelov    14    

6-НДФЛ за 1 квартал 2021

Зарплата v8 v8::СПР ЗУП3.x Россия БУ НДФЛ Бесплатно (free)

Особенности новой формы 6НДФЛ.

13.04.2021    1976    niko11s    1    

Последний раз про срез последних (на каждую дату в запросе)

Инструментарий разработчика Консоль запросов Универсальные функции Практика программирования v8 v8::Запросы Бесплатно (free)

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

15.02.2021    11357    randomus    47    

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

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

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

19.02.2018    50103    ildarovich    47    

Перенос данных из ЗУП 2.5 в ЗУП 3.1

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

Довольно часто сталкиваюсь с тем, что у коллег возникает вопрос, как правильно выполнить перенос данных из ЗУП 2.5 в ЗУП 3.1. (Неужели еще кто-то до сих пор работает в ЗУП 2.5? Да, и очень много людей)

25.01.2021    8979    VAAngelov    71    

Способы получения данных из ЗУП

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

Рассмотрены варианты получения данных в конфигурации Зарплата и управление персоналом 3.1.

31.12.2020    3639    vazelin    3    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

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

Пользователи привыкли искать на форме списка, но, вбивая в поиск некорректные данные, могут завесить всю систему, а если еще искать нужно по НЕ полям списка, то решение только в своём поиске - все это решим в публикации с открытым кодом.

14.12.2020    23907    SizovE    2    

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

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

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

13.01.2016    25287    unichkin    13    

Отображение и редактирование в дереве большого количества настроек/параметров/опций программы, конфигурации, документа, справочника - без программного создания элементов формы

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

Очень много реквизитов (настроечные опции, параметры) у справочника или документа, и их все необходимо разместить на управляемую форму - лень! Хочется - добавил в метаданные и всё! В публикации отличное, простое и олдскульное решение с открытым кодом, научимся работать с ДанныеФормыДерево, ДеревомЗначений, сделаем быстрый поиск, создадим универсальный инструмент.

11.12.2020    1070    SizovE    6    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

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

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

30.11.2020    6467    SizovE    4    

Сохранение настроек

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

Делюсь еще одним не самым очевидным способом хранения настроек в базах на БСП без доработки конфигурации. Весь код в статье.

22.11.2020    4501    the1    8    

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

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

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

1 стартмани

01.02.2015    81197    52    spec8s    31    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

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

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    2332    SizovE    2    

Сохранение настроенного запроса набора данных СКД

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

Как сохранить запрос набора данных СКД в том виде, каким он будет выполнен системой для открытия в консоли запросов с диска ИТС.

09.11.2020    1744    Serge R    0    

Об отрицательном доходе замолвите слово...

Зарплата v8 v8::СПР ЗУП2.5 ЗКБУ ЗКГУ3.0 ЗУП3.x Россия БУ НУ НДФЛ ФОМС, ПФ, ФСС Бесплатно (free)

В данной статье речь пойдет о проблемах сдачи нашими любимыми бухгалтерами регламентированных отчетов «Расчет по страховым взносам» и «2-НДФЛ» в части т.н. "отрицательного дохода". Формируются и сдаются эти отчеты через 1С, а, значит, проблемы бухгалтеров касаются и нас, специалистов по техподдержке и сопровождению 1С.

20.10.2020    4781    Богатырев Артур    6    

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

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

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

04.08.2014    19569    Трактор    5    

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

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

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

07.10.2020    5418    ellavs    3    

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

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

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

04.09.2020    15041    Kaval88    32    

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

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

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

07.08.2020    13556    YPermitin    23    

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

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

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

24.11.2014    41092    PAVI    6    

Выполнение внешней обработки по расписанию для управляемого и обычного приложения

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

Использование БСП для выполнения внешних обработок в управляемом и обычном приложении

06.08.2020    13786    RPGrigorev    0    

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

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

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

05.08.2020    2311    Yashazz    0    

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

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

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

10.07.2020    7854    quazare    5    

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

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

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

24.05.2012    34752    shakmaev    47    

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

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

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

09.07.2020    4374    Yashazz    7    

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

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

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

25.05.2020    4858    1СERP    3    

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

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

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

08.05.2020    80561    user5300    24    

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

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

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

20.02.2012    79641    kondrp    52    

Получение нормы времени между двумя датами из Производственного календаря

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

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

06.05.2020    2255    ivnik    4    

Подробная инструкция для перехода с ЗУП 2.5 КОРП на ЗУП 3.1

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

Инструкция по переходу с ЗУП 2.5 КОРП на ЗУП 3.1 для программиста и бухгалтера.

06.04.2020    7583    user1233082    6