Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • Типовые конфигурации
    • ЗУП 3.1
      • Разработка
        • Обработки
        • Отчеты
        • Печатные формы
        • Расширения
      • Инструкции
      • Ответы техподдержки 1С
      • Общие вопросы
    • ДО 2.1
    • УХ 3.2
    • УПП 1.3
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Обработки
    • Печатные формы
    • Расширения
  • Платформа 1С
  • Разработки
    • Контакты
  • Toggle search form

Расширение «Присвоение свободного табельного номера ЗУП 3.1»

Posted on 6 декабря 22 г.3 июня 24 г. By Алексей 1 комментарий к записи Расширение «Присвоение свободного табельного номера ЗУП 3.1»

Содержание:

  • Как формируются табельные номера в ЗУП?
  • Что будет если кончаться табельные номера ЗУП?
  • Реализация получения последнего свободного табельного номера в расширении

Расширение «Установка свободных табельных номеров»Скачать

В расширении реализован поиск свободного минимального табельного номера и присваивание его сотруднику в момент записи элемента, по аналогии со стандартным алгоритмом.


Как формируются табельные номера в ЗУП?

Табельный номер сотрудника соответствует коду элемента справочника, т.е. при создании нового сотрудника, нумератор определяет максимальный код, увеличивает его на 1 и присваивает вновь-созданному элементу.

Что будет если кончаться табельные номера ЗУП?
Табельные номера сотрудников

После переноса данных из другой учетной системы, возникла ситуация, что в базе появился сотрудник с табельным номером 99899 — это означает, что через 100 приемов на работу, нумератор упрется в свой максимум и все последующие сотрудники будут иметь табельный номер 99999 (не смотря на включённый в настройках контроль уникальности табельных номеров). Для решения этой проблемы было разработано расширение по поиску и присвоению свободных табельных номеров.

Реализация получения последнего свободного табельного номера в расширении

Проверено на версии ЗУП 3.1.23.257. Реализовано, через создание эталонной таблицы из 99999 строк типа «0000-00000» и сравнение в запросе с существующими значениями:

1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Функция ПолучитьПоследнийСвободныйКодСотрудника()
Префикс = "";
ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации(Ссылка, Истина, Префикс);
ТЗДиапазонВсехКодов = Новый ТаблицаЗначений;
ТЗДиапазонВсехКодов.Колонки.Добавить("КодДиапазона", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10)));
Для Сч = 1 По 99999  Цикл
СтрокаРезультат = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(СтрЗаменить(Строка(Сч), Символы.НПП, ""), 5, "0", "Слева");
НоваяСтрока = ТЗДиапазонВсехКодов.Добавить();
НоваяСтрока.КодДиапазона = Префикс+СтрокаРезультат;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТЗДиапазонВсехКодов",ТЗДиапазонВсехКодов);
Запрос.Текст = "ВЫБРАТЬ
               | ТЗДиапазонВсехКодов.КодДиапазона КАК КодДиапазона
               |ПОМЕСТИТЬ ВТДиапазонВсехКодов
               |ИЗ
               | &ТЗДиапазонВсехКодов КАК ТЗДиапазонВсехКодов
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               | МИНИМУМ(ВТДиапазонВсехКодов.КодДиапазона) КАК КодДиапазона
               |ИЗ
               | ВТДиапазонВсехКодов КАК ВТДиапазонВсехКодов
               | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
               | ПО ВТДиапазонВсехКодов.КодДиапазона = Сотрудники.Код
               |ГДЕ
               | Сотрудники.Код ЕСТЬ NULL
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |УНИЧТОЖИТЬ ВТДиапазонВсехКодов";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат ВыборкаДетальныеЗаписи.КодДиапазона;
КонецЕсли;
    
Возврат "";
КонецФункции

Ссылка на скачивание расширения в начале описания.

Рекомендации

  • Расширение "Блокировка изменения иерархии подразделений ЗУП 3.1"
  • Расширение "Убрать информацию при запуске 1С ЗУП 3.1"
  • Расширение "Фото в карточке сотрудника ЗУП 3.1"
ЗУП 3.1, Разработка, Расширения Tags:табель

Навигация по записям

Previous Post: Получение данных о времени ЗУП 3.1
Next Post: Проверка вывода на печать — если не умещается, печатать с нового листа

Комментарий (1) on “Расширение «Присвоение свободного табельного номера ЗУП 3.1»”

  1. Алексей:
    31 января 25 г. в 12:03

    Спасибо!
    Работает сразу.

    Ответить

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

MDM web-сервис XML БСП ЕФС-1 ИИ КД 2.0 НДФЛ СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СФР СЭДО ФСС ФСС НС больничные листы взносы вычеты длительная операция запрос интерфейс кадровая история кадровые данные кадровые переводы легкий труд мастер-данных обмен данными общий модуль отбор отпуска печать без проверки печать с диалогом пользователи представление прием на работу резервы отпусков сверхурочные синхронизация ЗУП и БП средний заработок табель таблица периодов табличный документ фотография штатное расписание

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты