Подсистема справок (ЗУП 3.х)

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

Разработка - Печать - Универсальные печатные формы

обработка справки зуп сотрудники подсистема внешние печатные формы

Подсистема справок внешней печатной формой для 1C: Зарплата и Управление Персоналом, редакция 3.х.

Описание

Хочу показать вам легко кастомизируемую подсистему справок для 1C: Зарплата и Управление Персоналом, редакция 3.х реализованную с помощью подключаемой внешней печатной формы.

 

Что она дает:

  • Легкое и удобное API разработчику для добавление своей справки
  • Работа с дополнительными реквизитами (у каждой справки свои поля)
  • Хранение справок в базе (теперь это не распечатал, забыл и потерял)
  • Удобный интерфейс
  • Легкий доступ через меню "печать" сотрудника или физического лица
  • Пакетная печать справок
  • Для примера реализованы:
    • Сумма заработка за N месяцев
    • Справка для визы (с отпуском и без)
    • Справка для визы на английском
    • Отсутсвие пособия для ребенка за N лет 
    • Отказ от пособия для ребенка

 

Протестировано на версии платформы 8.3.13.1690 и конфигурации Зарплата и управление персоналом, редакция 3.1 (3.1.9.188)

 

Скриншоты

 

Подключение

 

 

Демонстрация

 

Скачать файлы

Наименование Файл Версия Размер
Справки

.epf 217,84Kb
24
.epf 1.3 217,84Kb 24 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Boneman 277 25.04.19 14:57 Сейчас в теме
Никак не могу понять, это по сути свое что ? Просто сохранение в доп реквизитах, какая печатная форма, когда и кем распечатывалась ?
2. 🅵🅾️🆇 488 25.04.19 15:18 Сейчас в теме
(1) Нет, это полноценное использование справочника справок физических лиц, с дополнительными реквизитами для каждого вида справки.
Основное преимущество в том, что реализовал легкое добавление собственных видов справок со своими печатными формами и своими реквизитами.
Естественно все добавленное сохраняется в базе.

Если нет $m или хочется просто посмотреть, Вы всегда можете написать мне, Я поделюсь в безвозмездном порядке)

Вот так выглядит в обработке добавление собственных справок:
// Наименование справки | Название макета | Дополнительные Реквизиты и Типы
ВидыСправокJSON = "
|[
|    {
|        ""Наименование"": ""Сумма заработка"",
|        ""Макет"": ""Заработок"",
|        ""Реквизиты"": [
|            {
|                ""Реквизит"": ""Количество месяцев"",
|                ""Тип"": ""Число""
|            }
|        ]
|    },
|    {
|        ""Наименование"": ""Справка для визы"",
|        ""Макет"": ""Виза"",
|        ""Реквизиты"": [
|            {
|                ""Реквизит"": ""Дата начала отпуска"",
|                ""Тип"": ""Дата""
|            },
|            {
|                ""Реквизит"": ""Дата окончания отпуска"",
|                ""Тип"": ""Дата""
|            }
|        ]
|    },
|    {
|        ""Наименование"": ""Справка для визы (English)"",
|        ""Макет"": ""ВизаАнглийский"",
|        ""Реквизиты"": [ ]
|    },
|    {
|        ""Наименование"": ""Отсутсвие пособия для ребенка"",
|        ""Макет"": ""ОтсутсвиеПособияДляРебенка"",
|        ""Реквизиты"": [ 
|            {
|                ""Реквизит"": ""Ребенок"",
|                ""Тип"": ""СправочникСсылка.РодственникиФизическихЛиц""
|            },
|            {
|                ""Реквизит"": ""Лет без пособия"",
|                ""Тип"": ""Число""
|            }
|        ]
|    }
|]
|";
Показать
3. German_Tagil 27 26.04.19 05:42 Сейчас в теме
Не совсем понял - но в этом что-то есть!!!!
jONES1979; +1 Ответить
4. xan333 50 15.05.19 15:39 Сейчас в теме
А можно к примеру справку о заработке по месяцам сделать на данной подсистеме? Т.е. вывод табличных данных организовать в печатную форму? Вот этот момент неплохо бы в видео показать "Легкое и удобное API разработчику для добавление своей справки" и заодно можно как раз продемонстрировать как выводить таблички. Пока я не понимаю механизм добавления новой справки без скачивания обработки.
5. 🅵🅾️🆇 488 15.05.19 16:19 Сейчас в теме
(4) Чуть выше показано как вы можете создавать новый вид справки со своими реквизитами в JSON формате.
Создать макет и добавить процедуру заполнения этого макета.

Реквизиты могут быть следующего типа:
Булево, Дата, Строка, Число, Дополнительное значение, Дополнительное значение (Иерархия), Позиция, Пользователь, Родственник, Сотрудник.

Если вы хотите справку с окладом по месяцам (она уже есть в примере: "Сумма заработка").
То вам достаточно указать у нее числовой реквизит "Количество месяцев". На его основании, на основании даты справки и Сотрудника - уже можно будет делать запрос к начислениям по сотруднику. Полученную выборку уже можете выводить как душе угодно.

Что делает обработка за вас:
1) Подключается как внешняя печатная форма
2) Создает новые реквизиты и виды справок
3) Выводит список справок с отбором по физическому лицу и форматированием
4) Создает форму справки и выводит на нее дополнительные реквизиты
5) Хранит всю информацию в базе
6) Организовывает пакетную печать
7) Отправляет в вашу процедуру печати 99% необходимой информации для справки

Во вложении пример справки по начислениям из демо базы.
Прикрепленные файлы:
6. ross 18.12.19 13:54 Сейчас в теме
ЗУП 3.1.11.106 демобаза ВнешняяОбработка.Справки.МодульОбъекта(984) Ошибка при вызове метода контекста (ПредопределенноеЗначение). Предопределенный элемент не существует.
7. 🅵🅾️🆇 488 18.12.19 16:15 Сейчас в теме
(6) Зарплата и управление персоналом, редакция 3.1 (3.1.12.76), платформа 8.3.15.1656 - все работает.
Может не включены дополнительные реквизиты или что то вроде того?
Прикрепленные файлы:
8. user1009647 11.02.20 09:04 Сейчас в теме
1С:Предприятие 8.3 (8.3.16.1063), редакция 3.1 (3.1.12.142) ошибка
Прикрепленные файлы:
9. 🅵🅾️🆇 488 11.02.20 11:22 Сейчас в теме
(8) Ага, гдет полгода назад убрали это дело из програмного интерфейса БСП.
Попозже обновлю публикацию.
10. user1009647 11.02.20 12:16 Сейчас в теме
(9)Отлично..очень бы хотелось поправку)
11. OlegBog1971 26 18.05.20 07:47 Сейчас в теме
Добрый день. На платформе 8.3.15.1830 и конфигурации 1С:ЗУП 3.1.13.188 ваша разработка будет работать?
12. German_Tagil 27 22.05.20 08:32 Сейчас в теме
Обновление было? У меня вылетает ошибка
Метод объекта не обнаружен (СтрокаИзМассиваПодстрок)
{ВнешняяОбработка.Справки.МодульОбъекта(1961)}: ТипыСтрокой = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(ПолучитьМассивНазначений(), ",", Истина);
{ВнешняяОбработка.Справки.Форма.ФормаСписка.Форма(41)}: Объект.ОбъектыНазначения.ТипЗначения = МодульОбъекта.ПолучитьОписаниеТиповНазначений();
{ВнешняяОбработка.Справки.Форма.ФормаСписка.Форма(8)}: ЗаполнитьПоУмолчанию();
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(387)}: ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма", ПараметрыОбработки, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(254)}: ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(101)}: МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(26)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(190)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(60)}: ПродолжитьВыполнениеКоманды(Контекст);
{Справочник.Сотрудники.Форма.ФормаСписка.Форма(480)}: ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
13. 🅵🅾️🆇 488 25.05.20 11:52 Сейчас в теме
(12) Привет, это связано с обновленным БСП и тем, что из него убрали метод СтрокаИзМассиваПодстрок.
Лечится заменой метода на платформенный `СтрСоединить()`

UPD: обновил файл публикации
14. German_Tagil 27 27.05.20 06:51 Сейчас в теме
(13) Скачал обновленный вариант - выползает вот такая ошибка - обидно хотел обновиться
Во время транзакции произошла ошибка.
Описание ошибки: {ВнешняяОбработка.Справки.МодульОбъекта(1004)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение): Предопределенный элемент не существует
{ВнешняяОбработка.Справки.МодульОбъекта(1142)}: ВызватьИсключение СтрШаблон("Во время транзакции произошла ошибка.
{ВнешняяОбработка.Справки.Форма.ФормаСписка.Форма(73)}: МодульОбъекта.СоздатьВидыСправокДопРеквизиты();
{ВнешняяОбработка.Справки.Форма.ФормаСписка.Форма(9)}: СоздатьВидыСправокДопРеквизиты();
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(387)}: ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма", ПараметрыОбработки, Форма);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(254)}: ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(101)}: МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(26)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(190)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(60)}:
15. 🅵🅾️🆇 488 27.05.20 09:26 Сейчас в теме
(14) Выпустил обновление.
Проблема была связана с тем, что обновили структуру справочника НаборыДополнительныхРеквизитовИСведений.
Удалив в нем предопределенные значения.
16. OlegBog1971 26 02.06.20 14:44 Сейчас в теме
Добрый день.
Скачал вашу разработку, установил на ЗУП 3.1.13.188, почему то все доп.реквизиты показываются сразу все, а не в зависимости от вида конкретной справки ...
Прикрепленные файлы:
17. temps 20.07.20 17:35 Сейчас в теме
К сожалению, такая же картина ((( Доп.реквизиты показываются сразу все, а не в зависимости от вида конкретной справки...
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку