Редактор реестра отпусков в начальных данных ЗУП 3.0 / ЗУП 3.1 / КА 2.2 / ERP 2.2

0. 480 14.11.15 18:46 Сейчас в теме
Редактор реестра отпусков в начальных данных для ЗУП 3.0 / ЗУП 3.1 / КА 2.2 / ERP 2.2.
Позволяет "утрясти" данные, выводимые в личной карточке Т-2 сотрудника до даты перехода на ЗУП 3.0 / ЗУП 3.1 / КА 2.2 / ERP 2.2.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 480 16.02.18 22:55 Сейчас в теме
2. alon 171 29.03.18 15:21 Сейчас в теме
Можно ли вашу обработку доработать для редактирования не только переносов данных, но и исправления ошибок отдела кадров в документах отпусков? Например, когда неправильно указан рабочий год.
3. Brawler 480 29.03.18 15:48 Сейчас в теме
(2) В теории можно доработать, на практике нет смысла, так как ошибки нужно исправлять в самих документах, а не последствия в регистрах.
Исхожу своими соображениями из того, что вы сейчас поправите регистр, потом придет другой специалист на ваше место, он вообще не будет в курсе, что вы так игрались с регистрами, перепроведет документы борясь с другой проблемой, в итоге вылезут старые грехи ошибочных документов, вот сюрприз...
Лучше исправляйте документ под правами расчетчика и выше, потом убеждайтесь что к примеру суммы в нем не поплыли, проводите. Если в перерасчеты велезет, то удалите его оттуда.
5. semenoof 16.11.20 18:34 Сейчас в теме
Пытаюсь сохранить отредактированный файл - получаю ошибку. Картинка во вложении.
Как исправить ошибку?
Подскажите пожалуйста.
Моя почта: 5438995собакаgmail.com
Прикрепленные файлы:
8. Brawler 480 17.11.20 08:53 Сейчас в теме
(5) ошибка на скрине говорит, что некорректные данные пытаются записаться в регистр
посмотрел в чем дело
1С по истечении времени сделала данный регистр периодическим и поэтому такая ситуация выходит, обработка не знает, что регистр периодический
корректнее в коде так правки сделать

		ДокументПомеченНаУдаление = ДокументПереносаДанных.ПометкаУдаления;
		
// + ДОБАВИЛ 2020-11-17
		РегистрПериодический = Метаданные.РегистрыСведений.РеестрОтпусков.ПериодичностьРегистраСведений <> Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический;
// - ДОБАВИЛ 2020-11-17
		
		// по порядку сотрудников как они были в списке, запишем все в регистр реестра отпусков, чтобы все было красивше
		Для Каждого СтрокаСотрудник Из Сотрудники Цикл
			
			Отбор.ИдентификаторСотрудника = СтрокаСотрудник.ИдентификаторСотрудника;
			
			НайденныеСтроки = РеестрОтпусков.НайтиСтроки(Отбор);
			
			Если НайденныеСтроки.Количество() > 0 Тогда
				Для Каждого СтрокаРеестра Из НайденныеСтроки Цикл
					Запись = Набор.Добавить();
					
// + ДОБАВИЛ 2020-11-17
					Если РегистрПериодический Тогда
						Запись.Период = ДокументПереносаДанных.Дата;
					КонецЕсли;
// - ДОБАВИЛ 2020-11-17
					
					Запись.Активность = Не ДокументПомеченНаУдаление;
					
					Запись.Сотрудник = СтрокаСотрудник.Сотрудник;
					Запись.ФизическоеЛицо = СтрокаСотрудник.Сотрудник.ФизическоеЛицо;
					Запись.ДокументОснование = ДокументПереносаДанных;
					Запись.Номер = НомерСтроки;
					
					Запись.ВидОтпуска = СтрокаРеестра.ВидОтпуска;
					Запись.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск = СтрокаРеестра.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск;
					Запись.КонецПериодаЗаКоторыйПредоставляетсяОтпуск = СтрокаРеестра.КонецПериодаЗаКоторыйПредоставляетсяОтпуск;
					Запись.КоличествоДнейОтпуска = СтрокаРеестра.КоличествоДнейОтпуска;
					Запись.ДатаНачалаПериодаОтсутствия = СтрокаРеестра.ДатаНачалаПериодаОтсутствия;
					Запись.ДатаОкончанияПериодаОтсутствия = СтрокаРеестра.ДатаОкончанияПериодаОтсутствия;
					
					Запись.Основание = СформироватьПолноеОснованиеИзСоставляющих(СтрокаРеестра.НомерПриказа, СтрокаРеестра.ДатаПриказа, СтрокаРеестра.Основание, ПриСохраненииУбратьЛидирующиеНулиНомераПриказа);
					
					НомерСтроки = НомерСтроки + 1;
				КонецЦикла;
			Иначе
				Сообщить(СтрШаблон("У сотрудника '%1' (%2 '%3') не указаны периоды отпусков - пропущен.", 
					СтрокаСотрудник.Сотрудник, Метаданные.Справочники.Сотрудники.СтандартныеРеквизиты.Код.Синоним, СтрокаСотрудник.Сотрудник.Код));
			КонецЕсли;
			
		КонецЦикла;
Показать
9. semenoof 17.11.20 11:38 Сейчас в теме
Да, теперь при сохранении ошибок не возникает, но создается дубль организации ((
10. Brawler 480 17.11.20 12:25 Сейчас в теме
(9) это уже другая история, поэтому и говорил, что нужно тестить все, так как вам неизвестно какими способами делали перенос предшественники, может они все вручную вводили или через XLS файлы или еще как, может и модифицированными типовыми правилами переноса данных, где поменяли принципы поиска объектов в базе данных, тех же сотрудников и физиков

нужно для начала понять причину дубляжа, скорее всего это все ссылки с разными уникальными идентификаторами, поэтому при переносе данных они не сопоставляются и двоятся, нужно тогда переделать правила поиска на пример поиск по имени... (нужно загружать правила конвертации в базу Конвертация данных и там допиливать правила) в каждом случае свое решение искать нужно ну или как ранее писал, может быть стоит взять запросы из правил обмена, получать ими данные, сохранить данные в тот же XLS допилить напильником, ну там фио подравнять, название подразделений, должностей..., делать обработку загрузки и грузить данные в 1С из XLS
6. semenoof 17.11.20 01:51 Сейчас в теме
Или как можно отключить эту проверку и записать данные в реестр?
7. semenoof 17.11.20 02:15 Сейчас в теме
В коде закомментировал:
// ОтменитьТранзакцию();
// ВызватьИсключение;
Ошибка не появляется.
Завтра буду проверять форму Т-2 по сотрудникам.
11. semenoof 17.11.20 12:40 Сейчас в теме
Понял. Спасибо за помощь. Вы мне здорово помогли.
Оставьте свое сообщение
Вопросы с вознаграждением