|
Перенос данных из 7.7 в 8.3 | ☑ | ||
---|---|---|---|---|
0
Silmaril
12.12.16
✎
11:42
|
Подскажите кто сталкивался с такой проблемой - пытаемся типовыми средствами перенести данные из 7.7 в 8.3. Запускаем обработку на 8.3, подключение к 7.7 проходит успешно. Но дальше начинается затык, когда происходит обращение к глобальным функциям 7.7. com объект v7 их просто не видит и выдаёт ошибку метода, хотя v7.Константа.Релиз отрабатывает успешно
|
|||
1
VladZ
12.12.16
✎
11:43
|
"Но дальше начинается затык" - что говорит? Так и пишет: "У меня затык! А вот константу я вижу!!!"
|
|||
2
Остап Сулейманович
12.12.16
✎
11:44
|
(0) Может я чего пропустил. Но. "Типовые средства" не обращаются к глобальным функциям 7.7.
ЗЫ. Если конечно имеются ввиду функции глобального модуля. |
|||
3
Dmitrii
гуру
12.12.16
✎
11:46
|
(0) Подобные темы следует начать хотя бы с того о каком прикладном решении идёт речь? Может вы там с ПУБа на ERP переходите...
|
|||
4
SleepyHead
гуру
12.12.16
✎
12:07
|
Судя по лексике, эти типовые средства предоставлены какими-то мутными типами.
|
|||
5
Silmaril
13.12.16
✎
09:04
|
Называется,что по делу сказать нечего и начинается придирка к словам. Такое ощущение, что кто пишет ответы, то понятия не имеет как происходит перегрузка данных.
Я вроде написал, что к глобальным функциям, а они находятся в глобальном модуле и эти функции типовые 1С, в типовой конфигурации. В отладчике спокойно видится и без всякого стёба, что значение константы получает из 7.7, а вот при вызове глобальной функции возникает ошибка Действия перегрузки следующие, елси кто не в курсе: Открываем 1С 8.3 "Бухгалтерия предприятия 3.0", через меню Главное - Начальные остатки: Загрузка из 1С:Предприятия 7.7, там нажимаем Загрузить данные из информационной базы. Во время загрузки подключение к базе 7.7 проходит успешно, но потом ошибка "-Производится перенос данных из конфигурации, для которой не предусмотрена конвертации". Ок. Лезу в отладчик смотреть. и вижу, что строка кода v7.Константа.НомерРелиза получает значение, строка кода v7.глИдентификаторКонфигурации() выдаёт ошибку, что метод не найден. Вот и вопрос, почему происходит сбой к обращению к глобальный функциям?! |
|||
6
Cool_Profi
13.12.16
✎
09:05
|
А кэспорт у оной функции есть?
|
|||
7
Cyberhawk
13.12.16
✎
09:09
|
Релиз источника надо привести в соответствие с требованиями релиза приемника
|
|||
8
h-sp
13.12.16
✎
09:20
|
(5) делай через файлы. В 7.7 выгрузить. В 8 загрузить. Оно тебе надо куда-то подключаться? Лишний геморрой.
|
|||
9
Silmaril
13.12.16
✎
09:35
|
(6) После объявления функции стоит Экспорт
|
|||
10
Cool_Profi
13.12.16
✎
09:36
|
(9) А сам такой метод в 77 в наличии?
|
|||
11
Silmaril
13.12.16
✎
09:36
|
(7) Дело не в этом. Т.к. из отладчика видно, что не может 1с обратиться к глобальном процедуре семёрошной базе и выдаёт данное сообщение
|
|||
12
Silmaril
13.12.16
✎
09:37
|
(10) Естественно. В конфе 7 есть в глобальном модуле данная функция
|
|||
13
Silmaril
13.12.16
✎
09:38
|
Моё мнение, что какая-то беда с com объектом, либо как-то по другому нужно вызывать эти функции
|
|||
14
mgk2
13.12.16
✎
09:53
|
(13) если вы не состоянии понять, написанное в (7), то лучше позовите специалиста.
|
|||
15
Silmaril
13.12.16
✎
09:59
|
(14) :) по существу есть что сказать?! 8 лет создаю конфы, но на 7.7. Я думаю продолжать мысль не стоит.
В 8-ке тупо стоит код "Попытка исключение" и спотыкается на вызове глобальной функции, которая определяет идентификатор конфы, и идёт в ветку исключения и выдаёт, что разные конфы. Естественно разные, т.к. не 1с вообще не смогла получить идентификатор, т.к. не смогла обратиться к функции. если закомментить обращение к функции и жёстко прописать идентификатор конфы, то начинает спотыкаться на подобных вызовах других глобальных функции. Т.е. com объект вообще не может вызвать ни одной глобальной функции. Дела не в конфигурациях, а в com объекте, что он не может вызвать глобальную функцию из конфы 7.7 |
|||
16
Cyberhawk
13.12.16
✎
10:02
|
Покажи уже строку кода, на которой взводится исключение
|
|||
17
Silmaril
13.12.16
✎
10:05
|
(16) Функция ПолучитьФайлДанных(v7)
мПустаяСтрока = ""; Попытка ИдентификаторКонфигурации = v7.глИдентификаторКонфигурации(); НомерРелизаКонфигурации = v7.Константа.НомерРелиза; Исключение Перерисовать(1); ТекстСообщения = Нстр("ru = 'Производится перенос данных из конфигурации, для которой не предусмотрена конвертация'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); ЗафиксироватьОшибку(ЭтаФорма, ТекстСообщения, НСтр("ru = 'Перенос из выбранной конфигурации не поддерживается.'")); Ошибка = Истина; Возврат мПустаяСтрока; КонецПопытки; |
|||
18
Silmaril
13.12.16
✎
10:07
|
v7 = ПодключитьсяКИБ();
Функция ПодключитьсяКИБ() Если Элементы.ТаблицаПути.ТекущиеДанные = Неопределено Тогда ТекстСообщения = НСтр("ru = 'Не удалось произвести подключение к информационной базе'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); ЗафиксироватьОшибку(ЭтаФорма, ТекстСообщения, НСтр("ru = 'Возможно, на Вашем компьютере не установлена платформа 1С:Предприятие 7.7, либо используется БАЗОВАЯ версия программы. Воспользуйтесь вариантом загрузки данных из файла, предварительно сформировав его в информационной базе, из которой производится перенос данных.'")); Ошибка = Истина; Возврат 0; КонецЕсли; ПутьКИБ = Элементы.ТаблицаПути.ТекущиеДанные.Путь; ИмяИБ = Элементы.ТаблицаПути.ТекущиеДанные.Имя; // Шаг №1 - подключение к ИБ ЭтапКонвертации = "Подключение к информационной базе"; Перерисовать(1, "Выполняется", Истина); Попытка v7 = Новый COMObject("V1CEnterprise.Application"); Исключение Перерисовать(1); ТекстСообщения = Нстр("ru = 'Не удалось произвести подключение к информационной базе'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); ЗафиксироватьОшибку(ЭтаФорма, ТекстСообщения, НСтр("ru = 'Возможно, на Вашем компьютере не установлена платформа 1С:Предприятие 7.7, либо используется БАЗОВАЯ версия программы. Воспользуйтесь вариантом загрузки данных из файла, предварительно сформировав его в информационной базе, из которой производится перенос данных.'")); Ошибка = Истина; Возврат 0; КонецПопытки; Открыта = v7.Initialize(v7.RMTrade, "/D""" + ПутьКИБ + """ /M ", "NO_SPLASH_SHOW"); Если НЕ Открыта Тогда Перерисовать(1); ТекстСообщения = Нстр("ru = 'Не удалось произвести подключение к информационной базе'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); ЗафиксироватьОшибку(ЭтаФорма, ТекстСообщения, НСтр("ru = 'Возможно, пользователь отменил подключение к информационной базе, либо была попытка немонопольного подключения.'")); Ошибка = Истина; Возврат 0; КонецЕсли; Возврат v7; КонецФункции |
|||
19
Silmaril
13.12.16
✎
10:08
|
Обработка ПереносДанныхИзИнформационныхБаз1СПредприятия77 в 8.3 Бух
|
|||
20
Cyberhawk
13.12.16
✎
10:10
|
Думаю, дело в релизе платформы 7.7, которая и есть поставщик КОМ-объекта
|
|||
21
Масянька
13.12.16
✎
10:10
|
(18) А почему тут "v7 = Новый COMObject("V1CEnterprise.Application");" написано "V1CEnterprise"?
|
|||
22
Silmaril
13.12.16
✎
10:11
|
(21) Не могу сказать, обработка типовая 1С, но подключение происходит успешно к базе
|
|||
23
Абыр
13.12.16
✎
10:20
|
(21) а что там должно быть?)
(0) v7.EvalExpr("глИдентификаторКонфигурации()"); проверьте, что скажет? |
|||
24
Масянька
13.12.16
✎
10:27
|
(23) У меня там V77.Application. Правда, 8.2.
(22) Подключиться-то подключился, а вот с COM'ом проблемы... |
|||
25
Silmaril
13.12.16
✎
10:55
|
(23) v7.EvalExpr("глИдентификаторКонфигурации()") {(1)}: Ошибка при вызове метода контекста (EvalExpr)
|
|||
26
Silmaril
13.12.16
✎
10:55
|
v7.глИдентификаторКонфигурации() {(1)}: Метод объекта не обнаружен (глИдентификаторКонфигурации)
v7.Константа.НомерРелиза "7.70.620" Строка |
|||
27
Остап Сулейманович
13.12.16
✎
11:25
|
(26) В глобальном модуле семерки есть функция глИдентификаторКонфигурации()? Именно функция. А не константа.
|
|||
28
Silmaril
13.12.16
✎
11:27
|
(27) Есть....обнаружил причину в другом. В 7-ке почему-то глобальный модуль отвалился, в конфе есть, но в режиме предприятия он не видится и валятся ошибки. Странная штука, похоже в этом причина
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |