Обновление ИБ в 8.1
10.07.2009
05:51
#1
Подскажите пожалуйста. Возможно ли сделать такое:
Из типовой конфигурации я выбираю справочники, значение который(хотя бы Код,наименование) мне надо надо записать в нетиповую конфигукацию(наименования справочников совпадают).Это можно сделать с помощью выгрузок в файлы и загрузок
Но я где то слышал что вошзможно и другое:
В форме указывается путь где лежит обновляемая база, и выбираются справочники, которые надо обновить!
и далее происходит обновление.(пусть обновляемая база лежить на локальном диске).
Подскажите как это сделать ....с помошью каких компонент?
Зарание благодарен!
Из типовой конфигурации я выбираю справочники, значение который(хотя бы Код,наименование) мне надо надо записать в нетиповую конфигукацию(наименования справочников совпадают).Это можно сделать с помощью выгрузок в файлы и загрузок
Но я где то слышал что вошзможно и другое:
В форме указывается путь где лежит обновляемая база, и выбираются справочники, которые надо обновить!
и далее происходит обновление.(пусть обновляемая база лежить на локальном диске).
Подскажите как это сделать ....с помошью каких компонент?
Зарание благодарен!
10.07.2009
07:55
#2
есть такая конфигурация - "Конвертация данных", так в ней нужно настроить правила обмена... поразбирайтесь с этим. в конфигурации есть помощник, она есть на дисках ИТС
10.07.2009
09:06
#3
"> В форме указывается...
В форме чего?
Если имеется ввиду, что нужно осуществить перенос справочников без создания промежуточного файла, то наверное самый вариант это использовать COM-соединение.
Вот пример:
Как из одной базы 1С:Предприятие 8.0 перенести остатки товаров в другую базу, используя COM-соединение.
Запрос = Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ОстаткиТоваровОрганизацийОстатки.Организация КАК Организация,
| ОстаткиТоваровОрганизацийОстатки.Номенклатура,
| ОстаткиТоваровОрганизацийОстатки.ГТДОрганизации,
| ОстаткиТоваровОрганизацийОстатки.СтранаПроисхождения,
| ОстаткиТоваровОрганизацийОстатки.Комиссионер,
| ОстаткиТоваровОрганизацийОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваровОрганизаций.Остатки(&ДатаПереноса, ) КАК ОстаткиТоваровОрганизацийОстатки
|ИТОГИ ПО
| Организация";
Запрос.УстановитьПараметр("ДатаПереноса", ДатаПереноса);
V8 = Новый COMОбъект("V8.ComConnector");
Попытка
Открытие = V8.Connect("File=""""" + Путь + """"";Usr=""""Usr1"""";");
Исключение
Предупреждение("База данных не открыта!!!");
Возврат;
КонецПопытки;
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
МенеджерДокумента = Открытие.Документы.ОприходованиеТоваров;
МенеджерНоменклатуры = Открытие.Справочники.Номенклатура;
МенеджерОрганизаций = Открытие.Справочники.Организации;
// Менеджеры остальных справочников:
Пока Выборка.Следующий() Цикл
Документ = МенеджерДокумента.СоздатьДокумент();
Код = Выборка.Организация.Код;
Организация = МенеджерОрганизаций.НайтиПоКоду(Код);
Если Организация.Пустая() Тогда
Организация = МенеджерОрганизаций.СоздатьЭлемент();
Организация.Код = Код;
// Остальные реквизиты:
Организация.Записать();
КонецЕсли;
// Обработка остальных реквизитов, справочников:
ВыборкаПодчиненная = Выборка.Выбрать();
Пока ВыборкаПодчиненная.Следующий() Цикл
// Поиск/перенос данных справочников
// заполнение табличной части документа
КонецЦикла;
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
"
В форме чего?
Если имеется ввиду, что нужно осуществить перенос справочников без создания промежуточного файла, то наверное самый вариант это использовать COM-соединение.
Вот пример:
Как из одной базы 1С:Предприятие 8.0 перенести остатки товаров в другую базу, используя COM-соединение.
Запрос = Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ОстаткиТоваровОрганизацийОстатки.Организация КАК Организация,
| ОстаткиТоваровОрганизацийОстатки.Номенклатура,
| ОстаткиТоваровОрганизацийОстатки.ГТДОрганизации,
| ОстаткиТоваровОрганизацийОстатки.СтранаПроисхождения,
| ОстаткиТоваровОрганизацийОстатки.Комиссионер,
| ОстаткиТоваровОрганизацийОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваровОрганизаций.Остатки(&ДатаПереноса, ) КАК ОстаткиТоваровОрганизацийОстатки
|ИТОГИ ПО
| Организация";
Запрос.УстановитьПараметр("ДатаПереноса", ДатаПереноса);
V8 = Новый COMОбъект("V8.ComConnector");
Попытка
Открытие = V8.Connect("File=""""" + Путь + """"";Usr=""""Usr1"""";");
Исключение
Предупреждение("База данных не открыта!!!");
Возврат;
КонецПопытки;
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
МенеджерДокумента = Открытие.Документы.ОприходованиеТоваров;
МенеджерНоменклатуры = Открытие.Справочники.Номенклатура;
МенеджерОрганизаций = Открытие.Справочники.Организации;
// Менеджеры остальных справочников:
Пока Выборка.Следующий() Цикл
Документ = МенеджерДокумента.СоздатьДокумент();
Код = Выборка.Организация.Код;
Организация = МенеджерОрганизаций.НайтиПоКоду(Код);
Если Организация.Пустая() Тогда
Организация = МенеджерОрганизаций.СоздатьЭлемент();
Организация.Код = Код;
// Остальные реквизиты:
Организация.Записать();
КонецЕсли;
// Обработка остальных реквизитов, справочников:
ВыборкаПодчиненная = Выборка.Выбрать();
Пока ВыборкаПодчиненная.Следующий() Цикл
// Поиск/перенос данных справочников
// заполнение табличной части документа
КонецЦикла;
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
"
Читают тему
(гостей: 1)