helpf.pro
Регистрация

v8: Загрузка из DBF файла справочников номенклатура и подразделения???

Andrei12
27.09.2011 12:08Прочитано: 3810
Здравствуйте.
Нужно из 8 ки выгрузить справочники номеклатура и подразделения в DBF файл.
Сделал обработку.
Код 1C v 8.2 УП
 Процедура КнопкаВыполнитьНажатие(Кнопка)
Если НГ.Пустая() Тогда
Предупреждение("Выберите группу!");
Возврат;
КонецЕсли;
спр=справочники.Номенклатура.ВыбратьИерархически(НГ);
B = Новый XBase;
B.Поля.Добавить("CODE","S",11);
B.Поля.Добавить("NAME","S",100);
B.Поля.Добавить("ED","S",100);
B.Кодировка = КодировкаXBase.OEM;
B.СоздатьФайл(ИФ);
B.АвтоСохранение = Истина;
Пока спр.Следующий() Цикл
Если спр.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;
Если спр.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
B.Добавить();
B.NAME = СокрЛП(спр.Наименование);
B.CODE = СокрЛП(спр.Код);
B.ED = СокрЛП(спр.БазоваяЕдиницаИзмерения.Наименование);
КонецЦикла;
B.ЗакрытьФайл();
Сообщить("ОК!");
КонецПроцедуры
Процедура ПриОткрытии()
ИФ = "C:\SP.DBF";
КонецПроцедуры

А теперь из этого файла немогу загрузить в 7 ку

код в 7.7
Код 1C v 7.x
 Процедура Сформировать()
ПутьДБ = "C:\SP.DBF";
ДБФ = СоздатьОбъект("XBase");
// Определение полей и индексов новой БД
ДБФ.ДобавитьПоле("CODE", "S", 11 ,0);
ДБФ.ДобавитьПоле("NAME", "S", 100 ,0);
ДБФ.ДобавитьПоле("ED", "S", 100 ,0);
//ДБФ.ДобавитьПоле("D", "S", 30 ,0);
//ДБФ.ДобавитьПоле("E", "S", 30 ,0);
//ДБФ.ДобавитьПоле("F", "S", 30 ,0);
//ДБФ.ДобавитьПоле("G", "S", 30 ,0);
//
// Теперь физически создаем базу
ДБФ.СоздатьФайл(ПутьДБ);

Если ДБФ.Открыта() = 1 Тогда

// 1 строка
ДБФ.Добавить();
ДБФ.CODE = "";
ДБФ.Записать();

// 2 строка
ДБФ.Добавить();
ДБФ.NAME = "";

ДБФ.ED = "";

ДБФ.Записать();

// 3 строка
ДБФ.Добавить();
ДБФ.A = "";
ДБФ.B = "";
ДБФ.Записать();

// 4 строка
//ДБФ.Добавить();
//ДБФ.A = "";
//ДБФ.B = "";
//ДБФ.C = "";
//ДБФ.Записать();

// 5 строка
// ДБФ.Добавить();
// ДБФ.A = "";
//
// ДБФ.C = "";
//
// ДБФ.Записать();

// 6 строка
ДБФ.Добавить();
ДБФ.A = "";
ДБФ.B = "";
ДБФ.C = "";
//ДБФ.D = "";
//ДБФ.E = "";
//ДБФ.F = "";
//ДБФ.G = "";
ДБФ.Записать();




////Пока 1 = 1 Цикл
//
//// i строка
//ДБФ.Добавить();
//ДБФ.A = "";
//ДБФ.B = "";
//ДБФ.C = "";
//ДБФ.D = "";
//ДБФ.E = "";
//ДБФ.F = "";
//ДБФ.Записать();
//
//
////Если ДБФ.Следующая() = 0 Тогда
//// Возврат;
////КонецЕсли;
////КонецЦикла;

Иначе
Предупреждение("НЕ смогли открыть Базу!", 2);
КонецЕсли;


//ДБФ.Записать();



Если ДБФ.Открыта() = 1 Тогда
ДБФ.ЗакрытьФайл();
КонецЕсли;



КонецПроцедуры

Изменено 27.09.11 13:29:06
Yandex
Возможно, вас также заинтересует
Реклама на портале
typeharley
27.09.2011 13:02Ответ № 1
Разукрась текст синтаксиса 1с, чтобы было понятнее. Что конкретно не получается? Из того что я вижу в коде 7,7 то тут шо попало написано, где-то там кусок взято, где-то там кусок.
Andrei12
27.09.2011 13:31Ответ № 2
Код 7 ки вобще неправильный. Заклинило все, соображалка отказала напрочь. Бухалтерия сегодня задергала сил больше нет.
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.