Мы перешли с 1С:Зарплата и Кадры 7.7 на 1С:Зарплата и Управление Персоналом 8.2 в середине года. Перенос осуществлялся штатной обработкой.
После перехода было принято решение о том, что в первый месяц после перехода (июль 2013) учёт зарплаты будет вестись параллельно в старой и в новой программе.
Но возникла проблема — документов, оформляемых каждый день в 7-ке было настолько много, что перенабивать их в 8-ке вручную было просто нереально. Возникла задача — как-то оперативно перебрасывать вновь создаваемые документы из 7-ки в 8-ку. Как это сделать?
Я не умею пользоваться конвертацией данных, и вообще не люблю это крайне неудачное и бестолковое творение от компании 1С. Поэтому я создал упрощённую самодельную перегрузку наиболее ходовых документов из 7-ки в 8-ку. Упрощённую — потому, что она (в отличие от конвертации данных) не перегружает отсутствующие реквизиты документов, а рассчитывает на то, что они и так имеются в обеих программах. Так оно, собственно, и есть — сразу после переноса данных из 7-ки в 8-ку типовой обработкой.
Здесь на Инфостарте есть аналогичные разработки — работающие через COМ-подключение. Мне это не нравится — потому что COМ-подключение — это лишняя проблема, к примеру, портабельная 7-ка вообще не способна организовать приём COМ-подключения. Поэтому моя обработка работает просто через обычный текстовый файл. Вернее, у меня в пакете 2 обработки — одна выгружает данные из 7-ки в текстовый файл, а вторая — загружает данные из текстового файла в 8-ку.
Вот таблица соответствий перегрузки документов 7.7 — 8.2:
Документы 1С 7.7 | Документы 1С 8.2 |
Выплата заработной платы | Зарплата к выплате организаций |
Приказ по отпуску | Отпуска организаций |
Начисление заработной платы | Начисление зарплаты сотрудникам организаций |
Приказ об увольнении | Увольнение из организаций |
Индивидуальный наряд | Сдельный наряд на выполненные работы |
Невыходы | Невыходы в организациях |
Начисление отпуска | Начисление отпуска сотрудникам организаций |
Расчет при увольнении сотрудника организаций | |
Невыходы в организациях (если отпуск за свой счет) | |
Ввод расчета сотруднику | Регистрация разовых начислений сотрудников организаций |
Регистрация разовых удержаний сотрудников организаций | |
Премии сотрудников организаций | |
Ввод расчета списку сотрудников | Регистрация разовых начислений сотрудников организаций |
Премии сотрудников организаций | |
Приказ на оплату по среднему заработку | Оплата по среднему заработку |
Больничный лист | Начисление по больничному листу |
Кадровое перемещение | Кадровое перемещение организаций |
Как видно из таблицы, обработка перегружает наиболее популярные виды документов. Некоторые виды семёрочных документов перегружаются не в один, а в несколько восьмёрочных документов. Обработка сама автоматически опеределяет вид восьмёрочного документа в таком случае.
Если Вам понадобится перегрузить ещё какие-то виды документов — то потребуется добавить программный код обработчиков выгрузки-загрузки. Это относительно несложно сделать (особенно прост код выгрузки).
Описание использования
Открываем в ЗиК обработку «ВыгрузкаДокументов77.ert». Выставляем диапазон дат выгружаемых документов. Указываем каталог, куда будут выгружаться файлы переноса. Далее можно выгрузить весь справочник «Должности» — он нам потребуется потом в 8-ке — хотя бы для кадровых перемещений. Кнопка «2. Выгрузить новых сотрудников» означает, что мы выгружаем всех тех сотрудников, кто присутствует в документах «Приём на работу», попавших в диапазон дат выгрузки. Кнопка «3. Выгрузить расценки» нужна не всем — а только тем, кто использует сдельные наряды — тут выгружается справочик «Нормы».
Кнопка «4. Выгрузить документы» — основная, она выгружает все документы (из таблицы выше), попавшие в заданный диапазон дат. Каждый вид документа выгружается в отдельный одноимённый текстовый файл.
Загрузка в 8-ке.
Открываем в ЗУП обработку «ЗагрузкаДокументов82.epf». Указываем организацию и каталог импорта. Загружаем справочник «Должности организаций» кнопкой. Загружаем новых физлиц (только если есть приказы и приёме на работу). Загружаем расценки (только если есть сдельные наряды).
Загрузка документов происходит отдельно по каждому виду документа (в отличие от 7-ки, где выгружались все виды документов одновременно). Пользователь выбирает в выпадающем списке, какой вид документа он хочет загрузить, и нажимает кнопку «4. Загрузить документы».
Технические подробности
Чтобы добавить в 7-ку выгрузку своего вида документа, нужно в модуле формы в самом внизу описать выгрузку Вашего документа вызовами всего лишь нескольких функций. Это просто — смотрите на пример уже готовых выгрузок.
В 8-ке проблем больше. При загрузке документов в 8-ку могут выводиться сообщения вида «не опознан вид начисления» или т.п. — и загрузка будет прерываться. В этом случае Вам понадобиться дописать в обработчик загрузки нужный вид начисления или т.п. Все такие «дописываемые» пользователем функции-обработчики собраны в самом верху модуля обработки — в разделе «Раздел настраиваемых функций». По тексту выдаваемой ошибки Вы легко определите, какую именно фунцию из настраиваемого раздела нужно подкоректировать. Вот пример такой функции:
Функция ПолучитьСтатьюУвольнения(КодОКИН) Экспорт
Если КодОКИН = "08" Тогда
Возврат Справочники.ОснованияУвольненияИзОрганизации.НайтиПоНаименованию("п. 3 ст. 77 ТК");
ИначеЕсли КодОКИН = "13" Тогда
Возврат Справочники.ОснованияУвольненияИзОрганизации.НайтиПоНаименованию("Расторжение срочного трудового договора Ст. 79 ТК РФ");
Иначе
Сообщить("Не опознана причина увольнения с кодом """ + КодОКИН + """.");
Возврат Неопределено;
КонецЕсли;
КонецФункции // ПолучитьСтатьюУвольнения()
Как видите, ничего запредельного. Всё, что Вам может потребоваться — добавить туда ещё одну ветку «Если…». Документы из 7-ки выгружаются построчно, все реквизиты шапки выгружаются в одну строку, и такая строка всегда начинается с символа «#». Каждая строка многострочной части семёрочного документа выгружается в одну строку текстового файла.
В 8-ке ядром обработки загрузки служит процедура «ЗагрузитьДок(ДокВид77, ДокВид82)», которая читает построчно текстовый файл переноса, и для каждой строки с описанием шапки документа вызывает процедуру «ЗаполнитьШапку», а для каждой строки с описанием строки многострочной части вызывает процедуру «ЗаполнитьСтроку».
Каждая из процедур «ЗаполнитьШапку» и «ЗаполнитьСтроку» делится, в свою очередь, на десяток-другой вызовов ЗаполнитьШапку1, ЗаполнитьШапку2, ЗаполнитьШапку3, ЗаполнитьШапку4, … (ЗаполнитьСтроку1, ЗаполнитьСтроку2, ЗаполнитьСтроку3, ЗаполнитьСтроку4, …), где ЗаполнитьШапку1 и ЗаполнитьСтроку1 — это специализированные обработчики заполнения конкретного вида восьмёрочного документа. Можете добавить аналогичный обработчик — для своего вида документа.
Разумеется, в процессе перегрузки могут возникать и иные непредвиденные ошибки — в силу сложности самого процесса. Надеюсь, что Вы сможете самостоятельно разобраться в них — во всяком случае, это будет гораздо проще сделать, чем разобраться в ошибках конвертации данных.
Этими обработками я оперативно перегрузил сотни документов — за один переходный месяц. Всё получилось нормально, и никаких неприятных последствий потом не возникло.
Плюс за самоотверженную борьбу с ЗиКом!
Еще жива на наших просторах 7-ка!
Плюсую. Забираю в копилку. Работаем пока в 7-ке.
Плюсанула, тоже пока выбираю варианты для перехода на 8.
Хоспади, когда же этот монстр (ЗиК) упадёт-то, а? Как вспомню док НачалоМесяца, с охренитительными положительными и отрицательными сальдо по одному сотруднику… БР-Р-Р!
Плюсую за еще одно решение существующей проблемы
Мой тебе совет — подружись с конвертацией данных и будет тебе счастье! Не придется изобретать велосипед с квадратными колесами.
А твое утверждение, что КД «крайне неудачное и бестолковое творение от компании 1С» сам же и объясняешь тем, что не умеешь пользоваться этим полезным инструментом… Пора бы уже и научиться. Потому как КД сама все за тебя сделает. Причем проще и без напряга. Тем более, что есть готовые правила переноса здесь же на Инфостарте.
(8) Согласен
(НЕ РЕКЛАМА!)
http://www.spec8.ru/free-materials .
http://infostart.ru/public/169528/ .
По СКД есть классный бесплатный видеокурс от Гилева Е. Очень рекомендую: http:// /free/. Гилев все объясняет очень доходчиво и с примерами.
Ссылка на бесплатные курсы по КД от него же, тут:
Будет полезно почитать:
Сайт, полностью посвященный КД, живет тут:http://sysadmins.ru/topic240431.html (Конвертация данных 2. Вопросы и ответы).
Ссылку на правила переноса ЗиК-ЗУП поищу и тоже скину чуть позже.
(8)
Абсолютно…
Это «творение» пользователь осваивать вряд ли захочет и будет, а программисту легче ручками программу написать.
Это был просто пример с ручной настройкой.
Не считаю себя корифеем по КД, но скажу, что частенько пользуюсь правилами переноса — потому, что сделать перенос с ее помошью получается быстрей, не надо думать о потере части данных и используются типовые механизмы и обработки.
Хотя и в КД есть свои издержки. Если выгружаемых данных слишком много — процесс выгрузки может прерваться на самом интересном месте из-за банальной нехватки памяти, т.к. файл сначала формируется полностью в оперативке и только потом записывается на диск. + сам по себе XML-файл избыточен. Приходится выгружать порционно либо оптимизировать выгружаемые сведения.
Обмен данными через текстовый файл от этого избавлен.
Переводил 2 крупных предприятия, 2500 и 4000 чел., но делал без переноса документов — только справочники и остатки, ну и данные для расчетов средне конечно. И считаю что это правильно. Оба проекта завершились успешно.
Как бэ афтар халявщик. Отпуск переносится без расчета среднего. Зря потратил мани.
Хотя поставил плюс. Всё таки не с нуля набивать.
Строки с 1283 исправьте пожалуйста. Должно быть так:
(10) fomix, впервый раз про этот сайт слышу
http://sysadmins.ru/topic240431.html