Основываясь на публикации //infostart.ru/public/125755/, переделал обработку данной публикации в 3 отдельных обработки для переноса данных из Зик 7.7 в ЗУП 8.2 (сгодится и для КОРП, УПП):
1. Перенос общих справочников (рис.1)
— графики работ (только сменные);
— тарифные разряды;
— должности;
— подразделения.
2. Перенос физлиц и кадровых документов:
— прием на работу в организацию;
— кадровое перемещение организаций (в том числе «перерасчет окладов» в 7.7);
— отпуска организаций;
— увольнение из организаций;
— договор на выполнение работ с физлицом;
— зарплата к выплате организаций;
— ручные правки должностей и подразделений в истории по сотрудникам (при необходимости);
3. Перенос записей журнала «Зарплата», страховых взносов:
— перенос начислений, удержаний, нат. доход, выплат, налогов;
— перенос страховых взносов;
— перенос сальдо по сотрудникам на начало первого месяца переноса.
Рекомендуемый порядок действий.
Перед началом переноса должны быть заполнены общие сведения об организации, введен пользователь, на компьютере должен быть доступ как к базе ЗУП 8.2, так и к ЗиК 7.7.
Загрузка справочников:
Запустить обработку «Загрузка справочников», подключиться к базе данных 7.7. Проставить нужные галочки, нажать «Загрузить в ЗУП». Загружать любой справочник можно много раз, новые элементы создаются только при условии, что не найден элемент справочника с нужным наименованием (для тарифных разрядов — кодом). Если до переноса в базе 7.7 часть подразделений будут находиться в папке «Не используемые», то в базе 8.2 им будет присвоен реквизит «Актуальность» = Ложь. Если в базе 7.7 ведется учет списков льготных профессий (в справочнике «Должности» есть элементы с заполненым полем «Код позиции списка»), то при переносе должностей проставляются ссылки на элементы справочника «Списки профессий должностей льготного пенсионного обеспечения».
Загрузка физлиц и кадровых документов:
Запустить обработку «Загрузка кадровых документов», подключиться к базе данных 7.7.
Если нужно переносить не все физлица, а тех кто работал в течение последних двух лет, нужно выбрать период с месяца начала (январь 2011) по месяц окончания (декабрь 2012) и нажать «Заполнить». Список заполнится табельными номерами сотрудников базы 7.7, работавшими в течение выбранного периода.
Поставить галочку «Физические лица» и нажать «Загрузить в ЗУП». Если список табельных номеров не пустой, будут загружаться только физлица с этими табельными номерами. Загружать физлица можно сколь угодно раз, важно чтобы коды (таб.№) в 8.2 и 7.7 совпадали. При этом все реквизиты физлица будут обновляться. Попутно на основании данных об образовании, составе семьи и воинсом учете заполняются справочники «Учебные заведения», «Классификатор специальностей по образованию», «Степени родства физлиц», «Военкоматы». Здесь и далее при переброске значений типа «дата» значение проверяется на равенство «30.12.1899», так как у меня именно в эту дату конвертировались пустые значения. Т.к. воинские звания в 7.7 вводятся строкой, то при переносе данных они могут быть не найдены в справочнике «Звание гражданского воинского учета». Можно внести соответствующие правки в строки 604-616 обработки.
После загрузки физлиц, вся остальная загрузка из 7.7 осуществляется только для них, новые физлица не добавляются, а всё что ссылается на физлица, отсутствующие в базе 8.2 игнорируется.
Загрузка физлиц и кадровых документов.
Загрузка кадровых документов (при отладке можно вводить в таблицу конкретные табельные номера сотрудников) может производиться по частям, каждая из которых за определенный период (минимальный период — месяц) в соответствии с датами приказов. Чтобы попали все приказы, необходимо, чтобы самый ранний период имел начало не позже самого раннего приказа о приеме на работу. Основные кадровые документы «Приказ о приеме на работу», «Кадровое перемещение», «Перерасчет окладов на предприятии» и «Приказ об увольнении» необходимо загружать одновременно (одновременно галочки в соответствующих позициях) , чтобы соблюдалась последовательность изменения реквизитов (статус физлица, должность, оклад и т.д.) сотрудников. Остальные документы можно загружать в любом порядке после или вместе с загрузкой основных кадровых документов. При загрузке документов «Приказ о приеме на работу» создаются элементы справочника «Сотрудники организации» (с одним и тем же таб.№) столько раз, сколько приказов соответствует одному физлицу. При загрузке договоров подряда также создается (один раз для каждого физлица, сколько бы не было договоров) новые элементы справочника «Сотрудники организации». Для правильного заполнения реквизитов переносимых приказов необходимо чтобы справочники графиков работ, должностей и подразделений соответствовали по наименованию в базах 7.7 и 8.2. Справочники трифных разрядов должны соответствовать по коду. Так как справочник ОКИН в базе 7.7 заполняется из приказов об увольнении основаниями увольнения зачастую произвольным образом, то, чтобы поставить им в соответствие справочник «Основания увольнения из организаций» в 8.2, возможно придется под конкретную базу 7.7 отредактировать фрагмент кода в строках 1258-1292 обработки.
Загрузка ручных правок должностей и подразделений может понадобиться, если по каким либо причинам (они мне не понятны, но с этим столкнулся) должности и подразделения сотрудников в 7.7 правились вручную и не через документы «Кадровое перемещение». В этом случае необходимо создать в 8.2 новый документ «Перенос данных», в котором в регистрах сведений отметить галочкой «Кадровая история сотрудников (по юрлицам)». Выбрать его в поле «Документ формы обработки, поставить флажок «Ручные правки должностей и подразделений» и нажать «Загрузить в ЗУП». После переноса ручных правок небходимо ещё раз перенести основные кадровые документы, чтобы скорректировать в них реквизиты на начало документов в соответствии с ручными правками.
Загрузка зарплаты и страховых взносов.
Чтобы загрузить сальдо по сотрудникам на начало, нужно создать новый документ «Перенос данных» с периодом регистрации равным первому месяцу переносимой зарплаты (январь 2011) и с отмеченным галочкой регистром накопления «Взаиморасчеты с сотрудниками организаций», записать его и ввести в поле «Документ» формы обработки «Перенос журнала зарплаты». Выбрать в форме период первого месяца переноса (январь 2011) и взвести флажок «Задолженность сотрудников (предприятия)». После подключения к БД7.7 нажать «Перенос в ЗУП».
Перед загрузкой журнала «Зарплата» и страховых взносов необходимо вручную добавить в планы видов расчета «Дополнительные начисления организации» и «Удержания организаций» базы 8.2 все виды расчета, которые были добавлены в справочник «Виды расчета» базы 7.7. Их наименования должны совпадать. Предопределенные виды расчета в 7.7 преобразуются в виды расчетов 8.2 в строках 442-507 модуля формы обработки. При необходимости строки можно дополнить. Перечень видов расчета, которые необходимо сопоставить можно сформировать в базе 7.7 с помощью отчета «Свод за период» (полно на инфостарте) выбрав весь период переносимой з/платы.
Перенос осуществляется за каждый месяц переносимого периода отдельно. На каждый месяц создается документ «Перенос данных» с сответствующим периодом регистрации. Настройка регистров:
— регистры накопления: «Взаиморасчеты с сотрудниками организаций», «Зарплата за месяц организаций», «НДФЛ расчеты с бюджетом», «НДФЛ сведения о доходах», «Страховые взносы исчисленные», «Учет доходов для начисления страховых взносов».
— регистры расчета: «Дополнительные начисления сотрудников организаций», «Основные начисления сотрудников организаций», «Удержания с физических лиц организаций».
Можно настроить один документ, а потом копировать его с изменением периода регистрации до того, как он будет заполнен.
В форме обработки выбрать месяц переносимых данных, внести соответствующий документ в поле «Документ», отметить флажки «Начисления и удержания», «Страховые взносы» и после подключения к базе 7.7 нажать «Загрузить в ЗУП». При отладке можно ввести в таблицу отдельные табельные номера сотрудников.
То, что мне надо — но почему-то не срабатывает…
Справочники перенесла.
Физ. лица никак…
1. Не все попадают при нажатии заполнить (пробовала выставить разные периоды)
2. При загрузке в «Физ. лица» перенеслись опять же не все. Решила попробовать еще раз, опять на чистой базы — вообще перестали загружаться 🙁
С чем могут быть связаны проблемы?
(1) filis,
В список попадают табельные номера тех сотрудников, которые числились работающими (в штате) в период между двумя указанными датами. Чтобы перенести всех сотрудников, независимо от того работал он или нет, достаточно список не заполнять.
Не получилось загрузить спр. физ. лиц.
Выходит ошибка —
(Форма.Форма.Форма(1972): Поле объекта не обнаружено (Сотрудник)
КодОсновногоЭлемента = Код.Сотрудник.ОсновнойЭлемент.Код;
В чем может быть причина?
(3) pav-yamal,
Странно, но у меня в тексте модуля в строке 1972:
КодОсновногоЭлемента = Док.Сотрудник.ОсновнойЭлемент.Код;
Т.е. не Код, а Док.
Спасибо! надо еще раз попробовать…
(4) Т.е. не Код, а Док.
Может я попутал Код с Док (в спешке не правильно переписал), завтра посмотрю.
Но при попытке загрузки выходит именно эта ошибка.
Поправил текст ошибки —
(Форма.Форма.Форма(1972): Поле объекта не обнаружено (Сотрудник)
КодОсновногоЭлемента = Док.Сотрудник.ОсновнойЭлемент.Код;
(7) pav-yamal,
Так как строка 1972 работает только в случае выполнения условия:
Найти(«,ПриказОПриемеНаРаботу,КадровоеПеремещение,ПриказПоОтпуску,ПриказОбУвольнении,ДоговорГраждПравХаракт,ПриказНаОплатуПоСреднему»,»,»+Док.Вид()) > 0,
т.е. когда Док — это по типу один из вышеуказанных документов, а все перечисленные типы документов содержат реквизит «Сотрудник», то остается предположить, что у вас доработанная конфигурация, в которой присутствует новый тип документа, идентификатор которого включает в начальной части один из указанных идентификаторов и не имеет такого реквизита. Других причин я не вижу.
Да нет, типовая ЗиК 326, без изменений. Обновляемся стандартно.
Еще ошибка была при переносе Спр. Тарифные разряды, сейчас не помню в чем именно.
Ладно, буду копать дальше.
(7) pav-yamal,
Пожалуй, моя гипотеза о причине ошибке в предыдущем ответе тоже не проходит. Она может пройти, если новый тип документа в доработанной конфигурации к примеру будет «ПриказНаОплату» (т.е.часть строки «ПриказНаОплатуПоСреднему»). Тогда может быть ошибка.
(9) pav-yamal,
Теряюсь в догадках. Как могут возникать ошибки по-сути на пустом месте…
Сейчас не могу ничего сказать, завтра буду на работе посмотрю все внимательно.
Сделаю скрин ошибки
Ошибка та же, проверил все. Не понятно в чем дело.
Немного изменил код — файл во вложении.
Теперь по всем позициям выходит такое сообщение —
//Сотрудник Барладян Вячеслав Валерьевич, 0000209 не найден! И в кадровое перемещение №000001 не добавлен!!!//
Загрузка завершена.
В программе создается несколько документов кадровое перемещение и все больше ничего нет.
(13) pav-yamal,
Изменения, сделанные вами, извините, не имеют смысла. Дело в том, что в первом блоке «ЕСЛИ» проверяется вид документа на принадлежность к тем документам, у которых реквизит «Сотрудник» содержится в строчной части («Выплата з/платы», для «ПерерасчетОкладовПоПредприятию» это реквизит «Элемент»). Если это так, то строчной части ищется хотя бы один сотрудник из списка табельных номеров в форме обработки, чтобы определить, нужно ли загружать данный документ. Если же реквизит «Сотрудник» содержится в шапке документа («Приказ о приеме на работу», «Кадровое перемещение», «Приказ по отпуску», «Приказ об увольнении»), то проверяется реквизит шапки. У вас по каким-то причинам на Барладяна не загружается «Приказ о приеме на работу», а именно при загрузке этого документа создается элемент справочника «Сотрудники организаций». Поэтому при загрузке документа «ПерерасчетОкладовПоПредприятию» выводится это сообщение. Проверьте в базе 7.7, есть ли на него приказ о приеме на работу. Он должен датироваться раньше, чем любой другой документ, где фигурирует этот сотрудник, если вы загружаете одновременно с приказами о приеме и другие приказы.
Если я оставляю текс модуля в оригинале, то выходит ошибка
(Форма.Форма.Форма(1972): Поле объекта не обнаружено (Сотрудник)
КодОсновногоЭлемента = Док.Сотрудник.ОсновнойЭлемент.Код;
(15) pav-yamal,
Так как я отлаживал на своей базе и перенес все документы без проблем, то единственно что могу посоветовать — вставить перед строкой 1972 строку:
Сообщить(«Вид документа: «+Док.Вид());
и посмотреть, какой вид документа высветится последним. Тогда может что-то прояснится. Можно ещё кстати (надо было мне сделать это самому) перенести строки 1979-1981:
Если Док.Проведен()=0 Тогда
Продолжить;
КонецЕсли;
куда-нибудь повыше, напрмер в строку 1945 после строки
ОбработкаПрерыванияПользователя();
Возможно затыкается на каком-то непроведенном документе, в шапке которого не выбран сотрудник.
Самый первый вывалил Вид документа: ПриказОбУвольнении. потом пошли Приказы о приеме на работу
Надо смотреть последний приказ перед остановкой по ошибке. Если вставленная строка будет иметь вид:
Сообщить(«Вид документа: «+Док.Вид()+» №»+Док.НомерДок+» от «+Док.ДатаДок);
то можно узнать конкретный номер и дату документа, поискать его в базе 7.7 и посмотреть, что не так.
дойдите в отладчике до данной строк и посмотрите все ли реквизиты заполненны, возможно в документе сотрудник не указан (пустой/удаленный реквизит), 2 тестирование и исправление конфигурации.
Исправлена ошибка в обработке переноса журнала расчетов «Зарплата», связанная с тем, что в датах окончания периода действия записей регистра «Основные начисления» проставлялось время «00:00:00», а должно быть «23:59:59».
Сегодня перекачала обработку попробовала перегрузить справочники из ЗИК 7.7 в ЗУП бюджетную 8.2. Физ. лица загрузились а вот адреса паспортные данные номара ПФР и ИНН не перенеслись… Следовала строго инструкции… Подскажите может есть еще какая-нибудь обработка по переносу физ. лиц ?
Спасибо! в результате все получилось!
(21) irina_ph,
Может в ЗУП бюджетной отличается состав реквизитов справочника «Физлица» от обычной ЗУП, я не знаю. Как видите по комментарию 22, у других всё работает. Другой обработки у меня нет.
Это как так. Пытаюсь скачать, но скачивается только html-страница, да еще и рубль сняли. Почему не предупреждаете, что обработки уже нет!!!!!
(24) Evgeny-st,
Только что сам скачал. Всё есть. Попробуйте ещё раз.
Пробовал уже 2 раза. Не получается. Может у меня что-то не так. Я заметил что архивные файлы у меня не скачиваются.
(26) Evgeny-st,
Может так получится?
По ссылке тоже не скачать. Какой-то файл show_file.php!
(28) Evgeny-st,
Пришлите мне адрес эл.почты.
Куда?
Так куда?
Все прекрасно скачивается… Пробовали скачать в другом браузере или какой-нибудь программой для загрузки?
При использовании обработки «МУ-5_Перенос_справочников_в_8.2» ошибка
(Форма.Форма.Форма(138)}: Ошибка при вызове метода контекста (ИспользоватьОбъект)
Периодический.ИспользоватьОбъект(«Тариф»,СпрТР.ТекущийЭлемент());
по причине:
Произошла исключительная ситуация (1С:Предприятие): Тариф не является константой или периодическим параметром!)
(33) Dragga, Вижу только одну возможность, из-за которой могла возникнуть эта ошибка. У меня при отладке все переносилось, но у меня не было групп справочника «Тарифные разряды». Попробуйте вставить
после строки:
Пока СпрТР.ПолучитьЭлемент()=1 Цикл
строки:
Если СпрТР.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
Группы в крайнем случае можно создать в ручную после переноса. Если все элементы справочника имеют разные коды. то можно сначала перенести без групп, а потом поместить их в группы.
Ок,спс.
Как я поняла, вы пользуетесь своим набором программ для переноса данный из ЗиК 7.7 в ЗУП 8.2, не используете стандартное использование в 1С ЗУП, т е программа PrB_Wiz.ert и V77Exp.ert, а в чем преимущество? Данные переносятся полностью до последнего дня в ЗиК или также надо закрывать месяц, а потом переносить данные?
(36) tana1257, Преимущество в том, что для меня мои обработки более понятны, прозрачны. Исторически сложилось, что в редакцию 2 базы тоже переносил через OLE. В своих обработках я могу учесть специфику конкретной организации, перенести данные, не входящие в типовую конфигурацию, переносить без уволенных сотрудников или с уволенными только после определенной даты и т.д. Никакие месяцы при переносе я не закрывал, просто для каждого месяца (в части зарплаты и налогов) создавал свой документ «Перенос данных».
Спасибо за ответ. Еще вопрос, вы пишите, что при переносе создаете один документ на месяц, а нельзя ли сразу перенести одним документом за год? Нужны все данные в 8.2 за семь лет, отсюда и возник этот вопрос. Опробовала вашу программу и сразу вышла ошибка, что нет функции ТекущаяДата = ОбщегоНазначения.ПолучитьРабочуюДату(); Как я поняла, изменился синтаксис написания на данный момент работает ОбщегоНазначенияЗК.ПолучитьРабочуюДату();
(38) tana1257, Да, я писал год назад, поэтому в релизе могли произойти изменения. Что касается одного документа за год… Ну, не знаю. Каждый документ «Перенос данных» имеет свой реквизит «Период регистрации», т.е. привязан к своему месяцу. Поэтому логично, что переносится помесячно свои документом. Можно в принципе написать простенькую обработку, создающую весь комплект документов с нужными закладками и со своим периодом регистрации (за семь лет — 84 документа). Хочу предупредить, что в выложенных на сайте обработках отсутствует перенос остатков отпусков, я его добавлял при переносе для моего клиента позднее.
jack19, спасибо. Только у меня возникли проблемы. Не могу сделать подключение к базе 1С 77, так как она находится на другом сервере, а на новый не устанавливается 7.7. Может вы мне сможете посоветовать в данной ситуации?
(40) tana1257, Вообще-то я не слишком крупный специалист по администрированию. Я переносил в ситуации, когда на данном локальном компьютере есть доступ к 8-ной базе на одном сервере и к 7-ной на другом (без удаленного доступа). Здесь все без проблем. При удаленном доступе, видимо, надо на сервере с 8-ной базой поставить 7-ную платформу и прописать в списке баз нужную базу. Если нет такой возможности, то видимо, нужно сделать копию базы на другой компьютер, а после переноса в нее заменить ею базу на сервере. Вряд ли могу ещё что-либо посоветовать.
У меня та же ситуация, что и у вас. Доступ на один сервер с установленной 7.7 и новый сервер с установленной 8. Но ваша программа не может прочитать реестр сервера, где установлена ЗиК 7.7. Платформу 7.7 не могу установить на новый сервер Windiws 8. Не подскажите, как прочитать реестр где установлена ЗиК
(42) tana1257, Может попробуете задать путь к базе в явном виде? Для этого в процедуре ПодключитьсяКИБ() нужно вставить строку:
мПутьКИБ = Ваш путь к базе 7.7
Спасибо, я так и сделала, нашла в вашей программе и прописала путь, но база не подключается
(44) tana1257, Ну, да. Все-таки на сервере должна быть платформа 7.7 (через удаленный доступ). Если бы на вашем локальном компьютере стояла платформа 7.7, а платформу 8 запустить не через удаленный доступ, а вывести иконку платформы на рабочий стол и запустить, тогда должно получиться. В общем платформа 7.7. должна стоять на том компьютере, на котором запускается платформа 8. Через удаленный доступ это сам сервер с 8-кой.
Большое спасибо, Евгений. Сбросила обе базы к себе на локальный комп и все запустилось. Попробую большую часть перебросить средствами 1С, а потом последний месяц добавлю с использованием ваших программ. Поэкспериментирую
(46) tana1257, А зачем использовать мои обработки, если Вы перебрасываете средствами 1с?
В данный момент у нас закрыт июль месяц, по этот период я могу перебросить средствами 1С, но уже есть документы за август, бухгалтерия не хочет второй раз вносить, поэтому я попробую добавить недостающие данные вашими программами
Уважаемый автор,
подразделения и должности перенеслись,но пробую переносить кадровые данные вашей обработкой, результат нулевой.
в чем может быть причина?
(49) flyDrag, Вы невнимательно прочитали мои рекомендации последовательности действий. Сначала перенесите только физические лица. Потом все кадровые приказы. При переносе кадровых приказов дата начального месяца должна быть не позже даты самого раннего приказа о приеме на работу.
(50) я так и делал сначала одну галочку «Физ лица», 1С немного задумалась, в низу сообщение «Загрузка завершена», а физлиц нет. По частям тоже пробовал, таблица с таб номерами загружалась, но в ЗУП не записывалось.
(51) flyDrag, Даже не знаю, почему не переносится. При записи каждого физ.лица должно выводиться сообщение «записано физ.лицо такое-то». Надеюсь в справочнике «Физические лица» Вы проверяли? Он пустой? Можно посмотреть в отладчике. У меня все загружалось, правда это было почти год назад. Может в последних релизах что-нибудь поменялось, не знаю.
(52) «записано физ.лицо такое-то» -таких строчек нет, справочник физлиц в ЗУПе пуст.
Остается только в отладчик лезть.
У меня тоже траблы с физлицами, не переносятся, и еще в обработке перенос журнала зарплаты в процедуре при открытии пишет:
Форма.Форма.Форма(363)}: Метод объекта не обнаружен (ПолучитьРабочуюДату)
ТекущаяДата = ОбщегоНазначения.ПолучитьРабочуюДату();
а вот так работает
ТекущаяДата = РабочаяДата;
И еще вопрос к автору, на форме есть текст:
Документы, которые вводятся в ЗиК вручную:
— Изменение в штатном расписании
— Приказ на оплату по среднему заработку
— Приказ по предприятию
— Исполнительный лист
— Отпуск по уходу за ребенком
Что это означает? Может просто опечатка не ЗиК а ЗУП или что-то другое?
(54) ceramica, Ну в принципе разобрался, ларчик просто открывался, ОбщегоНазначения везде надо поменять на ОбщегоНазначенияЗК и все работает, ну и так по мелочи …
(55) ceramica, Хорошо, что разобрались, а то у меня в данный момент особо нет времени этим заниматься. Что касается текстов на форме, не обращайте на них внимание, они остались от обработки, которую я взял за основу для дальнейшей разработки, и поленился их убрать.
Интересная обработка, хотелось бы видеть еще версию адаптированную под выгрузку в ЗУП 3.0
(57) revril, Я эти обработки писал год назад, когда мне нужно было перенести конкретную базу. С тех пор ими не занимался и сейчас по-видимому они нуждаются в доработке, чтобы соответствовать текущим релизам в 8-ке. Возможно вернусь к их доработке, если придется опять переносить какую-либо 7-ю базу, но сейчас не готов это делать.