Перевод бухгалтерских баз с 7.7 на 8.2
Мой опыт по переводу бухгалтерских баз 1С 7.7 на платформу 1С 8.2
Может быть, кому то пригодится, и он не наступит на грабли, которые я потоптал….
- Описание
- Подробнее
Описание
Итак, есть куча бухгалтерских Баз несколько лет работающих пожд 1С 77. причем часть на общей системе налогообложения, часть на УСн, купили 1С 8…. и даже под неё сервачок и даже проинсталлили, в общем есть 1С 8.2 (это была уже моя инициатива, 8.1 проапгрейдить до 8.2) Бухгалтерия Предприятия Профф…
Задача — перегнать остатки на начало 2010 г. и обороты за 2010 г. в снеговика.
Прочитал мануалы, и принялся за дело — подготовили базы в соответствии с инструкцией от 1С, запустили обработку переноса, вариант «Коннект к БД» и она благополучно вывалилась на этапе выгрузки двнных из 77, с воплем о том, что какое то (непонятно какое) значение не могу определить, и поэтому работать дальше невозможно…
Стал разбираться — и оказалось, что стандартная обработка, не «любит» операции введенные вручную, хорошо, что оказалось таковых не так много, правда и операции не все отказалась кушать, но в данном случае было принято решение отключить проводки операций введенных вручную с последующим дублированием таковых в базе 1С8.2
Итак выгрузка пошла… на этапе загрузки 1Сина опять завопила, при попытке записать и провести документы за текущий период — полез выяснять что ей не понраву и вот что нашел:
1. Функция ПровестиДокументы () Модуль формы стандартной обработки «ПереносДанныхИзИнформационныхБаз1СПредприятия77» входящей в состав конфы БП
Кусок кода:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«Организация», Организация.Ссылка);
Для Каждого ДокументМетаданные ИЗ Метаданные.Документы Цикл
УСН = ?(ДокументМетаданные.Имя = «ЗаписьКУДиР», Истина, Ложь);
Если ДокументМетаданные.Реквизиты.Найти(«Организация») <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + ?(Запрос.Текст = «», «», «
|ОБЪЕДИНИТЬ ВСЕ
|») + «ВЫБРАТЬ «»» + ДокументМетаданные.Имя + «»» КАК ИмяДокумента, Представление КАК Представление, Ссылка КАК Ссылка, Дата КАК Дата, » + УСН + » КАК УСН ИЗ Документ.» + ДокументМетаданные.Имя + «
|ГДЕ НЕ ПометкаУдаления И НЕ Проведен И Дата >= &ДатаНач И Организация = &Организация»;
КонецЕсли;
КонецЦикла;
|УПОРЯДОЧИТЬ ПО УСН, Дата, Ссылка»;
Явно писан криво — вся ругань шла на криво сформированный запрос по этому куску…
слегонца поправил следующей конструкцией:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«Организация», Организация.Ссылка);
Для Каждого ДокументМетаданные ИЗ Метаданные.Документы Цикл
УСН = ?(ДокументМетаданные.Имя = «ЗаписьКУДиР», Истина, Ложь);
//==================================================================
Если ДокументМетаданные.Реквизиты.Найти(«Организация») <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + ?(Запрос.Текст = «», «», «
|ОБЪЕДИНИТЬ ВСЕ
|») + «ВЫБРАТЬ «»» + ДокументМетаданные.Имя + «»» КАК ИмяДокумента,»;
Запрос.Текст = Запрос.Текст + ДокументМетаданные.Имя + «.Представление КАК Представление,» +
ДокументМетаданные.Имя + «.Ссылка КАК Ссылка,» + ДокументМетаданные.Имя + «.Дата КАК Дата»+
» ИЗ Документ.» + ДокументМетаданные.Имя + » КАК » + ДокументМетаданные.Имя +»
|ГДЕ НЕ ПометкаУдаления И НЕ Проведен И Дата >= &ДатаНач И Организация = &Организация»;
КонецЕсли;
КонецЦикла;
|УПОРЯДОЧИТЬ ПО Дата, Ссылка»;
После чего загрузка данных прошла как по маслу…
Резюме:
1. Перед переводом семерочных баз необходимо заставить букхгалтера «вылизать» БД и по возможности устранить ручные операции пользуясь стандартными механизмами 1С Бухгалтерии 77
2. Увы без кодинга не обойдется. но что бы минимизировать сие необходимо сохранить как внешнюю обработку по переводу баз и поправить запрос как написано выше…
Кому пригодилось сие плюсаните плииизз
