|
Перенос данных 7.7 -> 8.3 | ☑ | ||
---|---|---|---|---|
0
breakthrough
30.09.14
✎
08:31
|
Здравствуйте.
Стоит задача перенести все данные за несколько лет работы из типовой БП 7.70.025 для Казахстана в типовую БП 2. Подскажите есть ли такие правила и где их взять. Заранее спасибо!!! |
|||
1
cons74
30.09.14
✎
08:39
|
В (0) как понимаю опечатка, хотели перенос на БП 3,0.
Спрашивать лучше напрямую в 1С. Опять же 7.70.025 -версия платформы, а не конфигурации. Кто знает сколько лет не обновлялась ваша база... |
|||
2
cons74
30.09.14
✎
08:40
|
В БП 3,0 есть типовые переносы 7->8 для БП России, не уверен пойдет ли для вашей базы.
|
|||
3
breakthrough
30.09.14
✎
08:51
|
(1) А как узнать версию конфигурации??
|
|||
4
breakthrough
30.09.14
✎
08:51
|
(1) Да, хотел в БП 3, но посмотрел, что для Казахстана такой версии нет
|
|||
5
Обработка
30.09.14
✎
09:00
|
(0) Плохая затея. Если нет веских оснований то не стоит переносить все данные за большой период.
Обычно переходят с 1с 77 на 1с8.х В конце и в начале года. При этом Переходят с вводом только остатков. И как исключение движение за небольшой срок от недели до 1-2 месяцев. Поскольку функционал 1с77 бухиии от функционала 1с 8.х сильно отличаются то после переносе предстоит долгая выверка данных и если надо переделка. Переходо на 1с8 с переносом большого объема данных может стать очень дорогим занятием. Иногда провальным проектом. |
|||
6
Мимохожий Однако
30.09.14
✎
09:01
|
(5)+ это точно
|
|||
7
Обработка
30.09.14
✎
09:03
|
(0) В типовй бухии каз 2. должна быть обработка по переносу с 1с 77. Ведь она еще не УФ а обычная.
|
|||
8
MaxS
30.09.14
✎
09:11
|
(5) встречался с таким - переносили остатки на начало прошлого года и движения. Пока сверяли результаты, прошел квартал. Решили заново перенести остатки и движения за прошлый квартал. Пока сверяли, прошел месяц, решили... далее история умалчивает.
|
|||
9
Рэйв
30.09.14
✎
09:13
|
(8)Ну и что что прошел квартал?Хоть два!:-) Если закрыть доступ к прошлому году чтоб не лезли ручками шаловливыми, то пусть хоть полгода пройдет:-)
|
|||
10
Обработка
30.09.14
✎
09:24
|
(8) У меня хуже было.
Внедрения УПП. Старая программа совсем далека от 1С. Заключили договор так что данные за год должны быть перенесены и сверены нами. И на все это где-то 3-4 месяца. На перенос данных посадили меня после отказа от этой работы 1-2х бригад. дали 2-3 месяца. Я переносил 5 месяцев. Но в начале я их предупредил что это они зря делают. В итоге кажется они отказались от идеи, но почти через год начала внедрения. |
|||
11
MaxS
30.09.14
✎
09:25
|
(9) так они не хотели начинать работать в новой базе до тех пор, пока не проверят все предыдущие периоды. Какой-то бзик заказчика или саботаж пожилых бухгалтеров пользователей + местного программиста пенсионера.
У 7-ки и у 8-ки отличаются алгоритмы. Даже если взять 7-ку и перепровести все документы с самого начала учета, ситуация с остатками будет отличаться от текущей. А что говорить о результатах переноса всех движений из 7-ки в 8-ку? |
|||
12
Обработка
30.09.14
✎
09:26
|
(0) Обычно когда такие хотелки появляются называется реальный ценник и сроки - заказчик быстро трезвеет и ставит задачу на более адекватный переход.
|
|||
13
DGorgoN
30.09.14
✎
09:30
|
(11) Первый раз может да, второй уже нет. Не должно быть по крайней мере. А итог при различных программах должен быть один и тот же.
|
|||
14
breakthrough
30.09.14
✎
10:38
|
(7) Подскажите где лежат)
|
|||
15
Обработка
30.09.14
✎
10:59
|
(14) При установке должны быть внешние обработки. и там же описания.
|
|||
16
Serginio1
30.09.14
✎
11:04
|
Я переношу через схемуXSD загружаемой конфигурации. И все очень просто.
Правда для упрощения обмена во все предаваемые объекты в 7ке добавил поле Ref строка 36 куда записываю строковое значение GUID которые соответствуют ссылкам в 8ке. Все очень быстро и просто. |
|||
17
Йохохо
30.09.14
✎
11:09
|
(16) можно чуть подробностей? интересно
|
|||
18
breakthrough
30.09.14
✎
11:11
|
(16) Да, меня тоже заинтересовало!
|
|||
19
Serginio1
30.09.14
✎
11:27
|
Подключаюсь к 8 ке
Получаю Фабрику Фабрика=Сервер.ФабрикаXDTO; Создаю запись XML Функция ПолучитьЗаписьXML(Файл) Экспорт ЗаписьXML=Сервер.NewObject("ЗаписьXML"); ЗаписьXML.ОткрытьФайл(Файл); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента(Сервер.XMLСтрока("Данные")); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config"); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema"); возврат ЗаписьXML КонецФункции ИмяФайла="C:\ОбменСАльпеной"; ЗаписьXML=ПолучитьЗаписьXML(ИмяФайла); ЗаписатьЗаявкиПок(Фабрика,ЗаписьXML); //ТзВыгружаемыхЭлементовСправочников.Показать(); ВыгрузитьСсылочныеСправочники(Фабрика,ЗаписьXML); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); Фабрика=""; Сервер=""; СсылкаNull=""; |
|||
20
Serginio1
30.09.14
✎
11:27
|
Процедура ВыгрузитьСсылочныеСправочники(Фабрика,ЗаписьXML) Экспорт
счСпр=0; ЕстьДанные=Ложь; Если ТзВыгружаемыхЭлементовСправочников.КоличествоСтрок()=0 Тогда //ТзВыгруженныхЭлементовСправочников.Показать(); ТзВыгруженныхЭлементовСправочников=""; возврат КонецЕсли; Тз=СоздатьОбъект("ТаблицаЗначений"); ТзВыгружаемыхЭлементовСправочников.Выгрузить(Тз); Тз.ВыбратьСтроки(); Пока Тз.ПолучитьСтроку()=1 Цикл СпрИнд=Тз.Значение; Вид=Тз.Ключ; Если Найти("ОКСМ,ОКЕИ,Валюты,Фирмы,СтатьиДвиженияДенежныхСредств,",Вид+",")<>0 Тогда Продолжить КонецЕсли; ТзВыгруженные=ПолучитьСписокВыгруженныхСпрПоТипу(Вид); МассивУдаляемыхДанных=СоздатьОбъект("СписокЗначений"); Сообщить("Выгрузка "+Вид); Спр=СоздатьОбъект("ТаблицаЗначений"); СпрИнд.Выгрузить(Спр); Спр.ВыбратьСтроки(); Пока Спр.ПолучитьСтроку()=1 Цикл Ссылка=Спр.Ключ; Если СуществуетКлюч(ТзВыгруженные,Ссылка)=0 Тогда //Объект=Ссылка.ПолучитьОбъект(); Попытка Шаблон("[CatalogObject_"+Вид+"(Фабрика,Ссылка,ЗаписьXML)]"); ЕстьДанные=истина; Исключение Сообщить(Вид); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; МассивУдаляемыхДанных.ДобавитьЗначение(Ссылка); КонецЦикла; УдалитьЭлементыПоСпискуКлючей(СпрИнд,МассивУдаляемыхДанных); КонецЦикла; Если ЕстьДанные=истина Тогда ВыгрузитьСсылочныеСправочники(Фабрика,ЗаписьXML) Иначе ТзВыгружаемыхЭлементовСправочников=""; ТзВыгруженныхЭлементовСправочников=""; КонецЕсли; КонецПроцедуры |
|||
21
Azverin
30.09.14
✎
11:28
|
(10) а какой вариант был более разумный с твоей точки зрения?
|
|||
22
Serginio1
30.09.14
✎
11:29
|
Функция DocumentObject_ЗаявкаПокупателя(Фабрика,Ссылка,ЗаписьXML) Экспорт
ПространствоИмен="http://v8.1c.ru/8.1/data/enterprise/current-config"; Имя="DocumentObject.ЗаказПокупателя"; Док=Сервер.Документы.ЗаказПокупателя.СоздатьДокумент(); ДокТч=Док.Товары; ТекОбъект=ПолучитьДанныеПоСсылкеДокумент_ЗаявкаПокупателя(Ссылка); Тч=ПолучитьТабличнуюЧастьДокЗаявкаПокупателя(Ссылка); Тч.ВыбратьСтроки(); пока тч.ПолучитьСтроку()=1 Цикл ДокТч.Добавить(); КонецЦикла; Объект=Сервер.СериализаторXDTO.ЗаписатьXDTO(Док); Объект.Ref=ТекОбъект.Ref; Объект.Date= ПолучитьДатуВремя(ТекОбъект.DATE_TIME_IDDOC); Объект.Number= ТекОбъект.Number; Объект.ДатаОплаты=ПолучитьДатеТаймИзДаты(ТекОбъект.ДатаОплаты); Объект.ДатаОтгрузки=ПолучитьДатеТаймИзДаты(ТекОбъект.ДатаОтгрузки); Объект.Комментарий=Строка(ТекОбъект.Комментарий); УстановитьКонтрагентаИДоговор(ТекОбъект,Объект,Ссылка); Объект.СуммаВключаетНДС=ПолучитьБулевоИзЧисла(ТекОбъект.СуммаВключаетНДС); Объект.СуммаДокумента=Строка(ТекОбъект.СуммаДокумента); Объект.УчитыватьНДС=ПолучитьБулевоИзЧисла(ТекОбъект.УчитыватьНДС); Объект.DeletionMark="false"; Объект.Posted="false"; Объект.АдресДоставки=""; Объект.ВалютаДокумента=ВалютаРуб; Объект.ВидОперации="ПродажаКомиссия";// не совпадают типы Объект.ВремяНапоминания="0001-01-01T00:00:00"; Объект.ДисконтнаяКарта="00000000-0000-0000-0000-000000000000"; //Объект.ДоговорКонтрагента=ОсновнойДоговорПокупателя; Объект.ИспользоватьПлановуюСебестоимость="false"; Объект.ИтогПлановаяСебестоимость="0"; Объект.КратностьВзаиморасчетов="1"; Объект.КурсВзаиморасчетов="1"; Объект.НапомнитьОСобытии="false"; Объект.Организация=ОсновнаяОрганизация; Объект.Ответственный="00000000-0000-0000-0000-000000000000"; Объект.ОтражатьВБухгалтерскомУчете="true"; Объект.ОтражатьВНалоговомУчете="true"; Объект.Подразделение="00000000-0000-0000-0000-000000000000"; Объект.СтруктурнаяЕдиница=""; Объект.СкладГруппа=""; //Объект.ТипЦен="00000000-0000-0000-0000-000000000000";// не совпадают типы Объект.Грузополучатель="00000000-0000-0000-0000-000000000000"; Объект.КонтактноеЛицоКонтрагента="00000000-0000-0000-0000-000000000000"; Объект.УсловиеПродаж="00000000-0000-0000-0000-000000000000"; Объект.ДополнениеКАдресуДоставки=""; Объект.ДокументОснование=""; Объект.Грузоотправитель="00000000-0000-0000-0000-000000000000"; Объект.НомерВходящегоДокументаЭлектронногоОбмена=""; Объект.ДатаВходящегоДокументаЭлектронногоОбмена="0001-01-01T00:00:00"; Объект.НомерПоДаннымПокупателя=""; Объект.ДатаПоДаннымПокупателя="0001-01-01T00:00:00"; //// Заполнение Табличной Части Тз=Тч; Если Тз.количествоСтрок()>0 Тогда Товары=Объект.Товары; ПространствоИмен="http://v8.1c.ru/8.1/data/enterprise/current-config"; Имя="DocumentTabularSectionRow.ЗаказПокупателя.Товары"; ТипСтр = Фабрика.Тип(ПространствоИмен, Имя); сч=0; Тз.ВыбратьСтроки(); Пока тз.получитьСтроку()=1 Цикл // Стр=Фабрика.Создать(ТипСтр); Стр=Товары.Получить(сч); Стр.ЕдиницаИзмерения=Строка(Тз.ЕдиницаИзмеренияУИД); Стр.Количество=Строка(Тз.Количество); Стр.Коэффициент=Строка(Тз.Коэффициент); Стр.Номенклатура=Строка(Тз.НоменклатураУИД); Стр.СтавкаНДС=Тз.СтавкаНДС.Идентификатор(); Стр.Сумма=Строка(Тз.Сумма); Стр.СуммаНДС=Строка(Тз.СуммаНДС); Стр.Цена=Строка(Тз.Цена); Стр.ЕдиницаИзмеренияМест="00000000-0000-0000-0000-000000000000"; Стр.КоличествоМест="0"; Стр.ПлановаяСебестоимость="0"; Стр.ПроцентСкидкиНаценки="0"; Стр.Спецификация="00000000-0000-0000-0000-000000000000"; Стр.Размещение=""; Стр.СчетУчетаБУ="00000000-0000-0000-0000-000000000000"; Стр.СчетУчетаНУ="00000000-0000-0000-0000-000000000000"; Стр.ХарактеристикаНоменклатуры="00000000-0000-0000-0000-000000000000"; Стр.ПроцентАвтоматическихСкидок="0"; Стр.УсловиеАвтоматическойСкидки=""; Стр.ЗначениеУсловияАвтоматическойСкидки=""; Стр.КлючСтроки="0"; Стр.КлючСвязи="0"; Стр.ПринятыеСчетУчетаБУ="00000000-0000-0000-0000-000000000000"; Стр.ПринятыеСчетУчетаНУ="00000000-0000-0000-0000-000000000000"; Стр.СерияНоменклатуры="00000000-0000-0000-0000-000000000000"; //Товары.Добавить(Стр); Сч=Сч+1; КонецЦикла; КонецЕсли; Фабрика.ЗаписатьXML(ЗаписьXML, Объект); КонецФункции |
|||
23
Badjo
30.09.14
✎
11:30
|
Если очень неймется, можно перенести только проводки. Но особого смысла в этом нет.
Достаточно остатков на начало года. |
|||
24
Serginio1
30.09.14
✎
11:34
|
Функция ПолучитьДанныеПоСсылкеДокумент_ЗаявкаПокупателя(Ссылка)
ТекстЗапроса="SELECT Журнал.$ОбщийРеквизит.Ref Ref |,Журнал.DATE_TIME_IDDOC DATE_TIME_IDDOC |,$Объект.НомерВнеш Number |,$Объект.ДатаОплаты as ДатаОплаты |,$Объект.ДатаОтгрузки as ДатаОтгрузки |,$Объект.Контрагент [Контрагент $Справочник.Контрагенты] |,ISNULL(Case |when $Объект.Контрагент=' 0' then |'00000000-0000-0000-0000-000000000000' |else |(SELECT $Спр_Контрагенты.Ref |FROM $Справочник.Контрагенты Спр_Контрагенты With (NOLOCK) |Where Спр_Контрагенты.ID=$Объект.Контрагент |) |end,'00000000-0000-0000-0000-000000000000') КонтрагентУИД |,$Объект.СуммаВклНДС as СуммаВключаетНДС |,$Объект.СуммаВзаиморасчетов as СуммаДокумента |,$Объект.УчитыватьНДС as УчитыватьНДС |,Объект.$ОбщийРеквизит.Комментарий as Комментарий |FROM $Документ.ЗаявкаПокупателя AS Объект With (NOLOCK) |INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON Объект.IDDOC = Журнал.IDDOC |WHERE (Журнал.IDDOC = ?)"; Тз=ВыполнитьИнструкцию("ПолучитьДанныеПоСсылкеДокумент_ЗаявкаПокупателя",ТекстЗапроса,ссылка); Если Тз.количествоСтрок()=1 Тогда Тз.получитьСтрокуПоНомеру(1); Если ПустаяСтрока(тз.Ref)=1 Тогда Дк=СоздатьОбъект("Документ"); Дк.НайтиДокумент(Ссылка); Дк.Ref=ПолучитьНовыйГуид(); Тз.Ref=Дк.Ref; Дк.Записать(); КонецЕсли; Если Тз.Контрагент.Выбран()=1 Тогда Если ПустаяСтрока(Тз.КонтрагентУИД)=1 Тогда спр=СоздатьОбъект("Справочник.Контрагенты"); Спр.НайтиЭлемент(тз.Контрагент); Если ПустаяСтрока(Спр.Ref)=1 Тогда Спр.ref=ПолучитьНовыйГуид(); Тз.КонтрагентУИД=Спр.Ref; Спр.Записать(); КонецЕсли; Тз.КонтрагентУИД=Спр.Ref; КонецЕсли; //ДобавитьСпрДляВыгрузки("Контрагенты",Тз.Контрагент); КонецЕсли; КонецЕсли; Возврат Тз КонецФункции |
|||
25
Serginio1
30.09.14
✎
11:35
|
Правда у меня есть кодогенераторы аналогичные по сопоставлению аналогичные КД
|
|||
26
breakthrough
30.09.14
✎
11:39
|
(25) Да вы псих, сударь)))
|
|||
27
Serginio1
30.09.14
✎
11:47
|
(26) Почему? Ведь все быстро работает и без проблем?
Причем я кода пишу по минимуму, немного подправляя разного рода исключения. Ничем не сложнее КД. |
|||
28
Найч
30.09.14
✎
12:02
|
(25)какой не ленивый прогер однако
|
|||
29
Обработка
30.09.14
✎
12:19
|
(21) Более разумный вариант всегда известный.
1 .В сентябрь-октябрь изучают новую Конфигурацию. 2. Параллельно кодер переносит справочники и остатки предварительно напрмер на начало сентября или октября. 3. Юзерые на реальных даных изучают кофнигурацию. 4. До 10 января переношу с нуля отстаки на начало года. 5. Юзеры работают уже в новой базе. |
|||
30
Serginio1
30.09.14
✎
12:19
|
(28) Вот именно ленивый. Мне проще написать кодогенераторы и аналог КД по определенным алгоритмам, чем тратить время на другие подходы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |