Перенос начислений для расчета среднего заработка

Опубликовал Alex Misanets (Misanets) в раздел Обработки - Обработка документов

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

Обработка переносит регистры расчета «Основные начисления…», «Дополнительные начисления…» и «Расчет среднего заработка».

Принцип работы следующий:

1. Создаем документ «Перенос данных»;

2. Заполняем таблицу исходными данными, способы описаны в инструкции;

3. Проверяем данные встроенным механизмом. На этом этапе данные сопоставляются со справочниками, перечислениями и т.д., все комментируется в служебных сообщениях;

4. Инициализируем данные. Данные табличного документа превращаются в элементы справочников, виды расчета и т.д., результатом чего создается таблица значений, из которой в последующем и будет происходить загрузка;

5. Загружаем. Данные из таблицы значений будут превращены в движения по регистру расчета.

Вот собственно и все не хитрые действия. Во встроенной инструкции все описано более детально.

Обработка проверена на конфигурациях УПП 1.3.20.1, ЗУП 2.5.46.1, КА 1.1.13.

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

Наименование Файл Версия Размер
ПереносСреднегоЗаработка.epf
.epf 36,68Kb
02.03.12
416
.epf 36,68Kb 416 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Олег Владимирович (olezhe) (10.00 $m)
Добавить вознаграждение
Комментарии
1. Владимир Лагутин (Lukich66) 79 03.03.12 05:30 Сейчас в теме
Доброе утро. Если я правильно понял (при первом взгляде на обработку) , то речь идет о переносе информации из 77 в 8х :?:
2. Alex Misanets (Misanets) 331 03.03.12 23:12 Сейчас в теме
(1) Lukich66, наверное нет, принципиально не важно от куда перенос, разница будет на этапе загрузке данных.
3. Владимир Лагутин (Lukich66) 79 04.03.12 07:37 Сейчас в теме
(2) Misanets,под этапом загрузки я понимаю наличие к/либо сведений в формате *.txt,dbf,xls,mxl полученных из др. ИБ,структурированных соответствующим образом для загрузки в опр.регистры (РС,РН,РР,РБ). Документ "перенос"-вещь не афишируемая, используется 1с для 77->8. Ваш способ принципиально отличается от метода,который предлагаю я( универсальная ЗДизТД+R)? В Вашей публикации,на мой вгляд, недостаточно исчерпывающей информации в анонсе для принятия решения. А "скачать" и начать разбираться- не самый лучший прием,по жизни-лохотроном попахивает. Оч. оригинально смотрится прием с переключающимися *.GIF окнами, но невозможность управлять тайм-слайдом приводит к раздражению( что-то из sex-заставок).
4. Alex Misanets (Misanets) 331 04.03.12 13:44 Сейчас в теме
(3) Lukich66, моя обработка решает конкретную задачу "Перенос начислений для расчета среднего заработка, больничных и т.д." по этому, в отличии от универсальных механизмов, в ней присутствуют механизмы проверок исходных данных, возможности формирования шапки таблицы для представления пользователю, "а что именно туда загружается", шаблоны простых запрос. Нет ничего такого, что было бы полезно для загрузки в другие регистры.
5. Vladimir (Boroda) 90 04.03.12 22:53 Сейчас в теме
Вот это именно то, что было бы нужно мне неоднократно! Зачастую стандартный полный перенос за два года информации из ЗиК в ЗУП чреват массой проблем, включающий и нестыковки, и ошибки... Да и загромождать базу прошлыми расчётами особого смысла нет. Гораздо удобнее "начать с белого листа". Я имею в виду большие предприятия, малые переносятся более-менее нормально, по крайней мере, в них ошибки искать быстрее.
А для работы в новой базе 8.2 достаточно начального сальдо и данных для среднего заработка и БЛ. Списки сотрудников тоже можно загрузить локальной обработкой. И спокойно приступить к расчёту.
Автору этой полезной обработки огромное спасибо!
dedicated; aqua22; +2 Ответить 1
6. Александр Бессарабов (shurubchik) 83 11.03.12 12:08 Сейчас в теме
Отличная обработка!!!! Спасибо!!!
7. Alex Misanets (Misanets) 331 11.03.12 14:33 Сейчас в теме
(6) shurubchik, всегда пожалуйста :)
8. Ксеня Аксенова (ad-lib) 13.03.12 09:48 Сейчас в теме
Я столкнулась с аналогичной проблемой, когда переносила из 1с 7.7 в 8.2, приходится сейчас вручную доставлять за 1 год средний заработок(( Эта обработка поможет доперенести инфу из 7.7? И сумма среднего заработка будет тянутся автоматически во все необходимые документы?
9. Alex Misanets (Misanets) 331 14.03.12 23:06 Сейчас в теме
(8) ad-lib, Да. Для расчета среднего необходимо иметь начисления за последние два года в регистрах расчета. При помощи обработки вы можете их туда записать.
10. Feddor spammer (FE_D_OR83) 26.03.12 13:05 Сейчас в теме
Спасибо за обработку! Отличная штука. Значительно сэкономила время при переносе данных для расчёта среднего заработка.
11. Наталия Ершова (aqua22) 25.06.12 01:10 Сейчас в теме
(5) Boroda, Спасибо за Ваш комментарий! Именно из него мне стало понятно, что обработка не просто полезная, а очень нужная!
12. Ольга Иванова (IvOlka) 27.07.12 08:22 Сейчас в теме
Как раз стоит задача переноса данных из системы Галактика в УПП. Надеюсь обработка поможет.
13. Ирина (GingerRu) 04.12.12 14:25 Сейчас в теме
(9) Misanets, а для переноса из ЗУП в ЗУП эта обработка подойдет?
14. Alex Misanets (Misanets) 331 04.12.12 14:49 Сейчас в теме
(13) GingerRu, да, источником может являться что угодно. Загрузки производится из табличной части, а каким образом она была заполнена не имеет никакого значения.
15. Павел Никифоров (Lyns_owner) 261 29.01.13 16:53 Сейчас в теме
Хорошая разработка, автору спасибо.
16. mistermp3 mistermp3 (mistermp3) 06.02.13 15:08 Сейчас в теме
17. mistermp3 mistermp3 (mistermp3) 11.02.13 06:53 Сейчас в теме
Есть необходимость "руками" забить информацию. Допустим сотрудник Иванов в декабре 2012 отработал 150 часов и получил 20000 руб. Подскажите, куда и какую информацию вносить? Там столько колонок с периодами, что ничего не понятно. Помогите с примером заполнения пожалуйста.
18. Александр Майнагашев (dedicated) 23 28.03.13 09:40 Сейчас в теме
Использую вашу обработку уже 2 месяца, немного допилив в некоторых местах. Для примера заполнения выкладываю файл. Важно обратите внимание на ПериодДействияКонец, что там указывается время 23:59:59, иначе одного дня не будет хватать. Также Важно задавать периодНачало и периодКонец - по этим значениям вычисляется количество дней для расчета среднего, а не из колонки ОтработаноДней, как может показаться на первый взгляд.

Для тех кто не знает куда вносить данные:
Верхнее Меню - Операции-Документы-ПереносДанных. Там создать документ-регистратор с Регистром расчета - "Основные начисления сотрудникам организации". Заполнить Период регистрации: я ставил последний месяц отчетного года. т.е. выгружая данные за 2012 год, я ставлю период регистрации: Декабрь 2012 года. И ввожу дату документа 31.12.2012.
Затем открыть обработку, выбрать созданный документ в качестве Документа регистратора. Далее выбрать Дополнительные функции - Сформировать Шапку документа. После чего скопировать из ексель данные по среднему и вставить со второй строки в таблицу обработки. Затем выполнить инициализацию и загрузку данных.

От себя я добавил кнопку удалить неполные строки, для удаления строк с пустым физлицом или сотрудником. Это бывает когда в справочниках в 1С нет загружаемых сотрудников, тогда обработка может вылететь на половине загрузки и придется искать на ком она остановилась и начинать новую загрузку с этого места.
Процедура КоманднаяПанельТабличногоДокумента1УдалитьНеполныеСтроки(Кнопка)
		
	ВсегоСтрок = Источник.Количество();
	ВсегоУдалено = 0;
	
	///////////////// Индикатор /////////////////
	ЭлементыФормы.Индикатор.Значение = 0;
	ЭлементыФормы.Индикатор.МинимальноеЗначение = 0;
	ЭлементыФормы.Индикатор.МаксимальноеЗначение = ВсегоСтрок;
	/////////////////////////////////////////////
	
	Для Счетчик = 1 По ВсегоСтрок Цикл 
		НомерСтроки = ВсегоСтрок - Счетчик;
		Строка = Источник[НомерСтроки];
		Если (НЕ ЗначениеЗаполнено(Строка.Сотрудник)) или (НЕ ЗначениеЗаполнено(Строка.ФизЛицо)) Тогда 
			Источник.Удалить(Строка);
		КонецЕсли;
		
		ЭлементыФормы.Индикатор.Значение = ЭлементыФормы.Индикатор.Значение + 1;
		
		#Если Клиент Тогда
			ОбработкаПрерыванияПользователя();
		#КонецЕсли
	КонецЦикла;

	НомерСтроки = 0;
	Для Каждого Строка Из Источник Цикл
		НомерСтроки = НомерСтроки + 1;
		Строка.НомерСтроки = НомерСтроки;
	КонецЦикла;

КонецПроцедуры
...Показать Скрыть


Замечания по работе обработки. При переносе данных свыше 1000 записей Обработка вначале загружает достаточно быстро, но спустя какое то время замедляется, так что оставшиеся 10-20% могут занять несколько часов. Поэтому быстрее будет идти загрузка если разбивать данные, например по подразделениям, и вносить по отдельности в разные документы переноса.
Прикрепленные файлы:
Пример.xls
19. Олег Владимирович (olezhe) 18 03.04.13 09:39 Сейчас в теме
Я в восторге. Куда выслать ящик пива?
20. Alex Misanets (Misanets) 331 03.04.13 14:17 Сейчас в теме
(19) olezhe, Ящики пива принимаю в любом количестве, в любом районе Питера))
21. Александр Майнагашев (dedicated) 23 03.04.13 22:34 Сейчас в теме
22. Олег Владимирович (olezhe) 18 09.04.13 17:07 Сейчас в теме
Нашёл ошибку.
Когда всё заполнено, проверено и инициализировано, жмём кнопку Загрузить, и обработка спотыкается на преобразовании строковых дат в тип "дата".
Конкретно, везде, где есть строка, похожая на "Запись.ПериодРегистрации = Строка.ПериодРегистрации;" обработка падает. Поскольку слева здесь тип Дата, а справа неприводимая к дате Строка вида "01.12.2012 00:00:00"

Решение простое:
Берём функцию отсюда (http://infostart.ru/public/92455/)
И переколачиваем все переменные типа Дата: "Запись.ПериодРегистрации = ПолучитьДатуИзСтроки(Строка.ПериодРегистрации);"

После этого работает как надо.
Странно, что у меня одного эта затыка возникла. Вот тут действительно загадка.
23. Олег Владимирович (olezhe) 18 09.04.13 17:42 Сейчас в теме
И ещё есть подозрение, что при наличии двух сотрудников с одинаковыми ФИО, обработка хватает первого попавшегося. Или Может, по коду заставить её искать?
24. Alex Misanets (Misanets) 331 09.04.13 17:56 Сейчас в теме
(22) olezhe, Странно конечно, судя по комментариям, да и я лично, обработку использовал не один раз, ничего подобного небыло. Могу в личку написать мыло, отправишь свой вариант, я обновлю публикацию с твоим файлом.
25. Alex Misanets (Misanets) 331 09.04.13 17:58 Сейчас в теме
(23) olezhe, Если не ошибаюсь - да, но исправиь, чтобы искал по коду, думаю сможет при необходимости любой.
26. Олег Владимирович (olezhe) 18 09.04.13 18:05 Сейчас в теме
И если в колонке Результат в исходных данных стоит число, форматированное пробелами ("8 345,44"), то в результирующий документ попадает 0.
27. Александр Майнагашев (dedicated) 23 11.10.13 13:44 Сейчас в теме
(23) olezhe, У меня тоже такая проблема с датой была, забыл сказать в комментарии выше, и тоже такой функцией обошёлся.
28. Надежда Шалаховская (botsvana) 01.10.15 08:01 Сейчас в теме
Скажите, пожалуйста, можно ли использовать обработку для переноса данных в ЗиКБУ (зарплата и кадры бюджетного учреждения)?
29. Alex Misanets (Misanets) 331 02.10.15 09:07 Сейчас в теме
(28) botsvana, в принципе думаю да, структура регистров скорее всего одинаковая. Единственный момент публикация писалась давно и тестировалась на уже не актуальной версии конфигурации. Попробуйте на копии - самый верный способ узнать ответ))
30. Алексей Дремучкин (super-drema) 21 17.08.16 23:58 Сейчас в теме