Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Загрузка из dbf в 1с

Katsy
читатель
офлайн
Дата регистрации: 04.02.2010
Сообщений: 4
Пост №1
 
04.02.2010 05:54

"Здравствуйте, уважаемые!
Подскажите, пожалуйста, что не так в обработке:

Процедура ЗаполнениеСправочника()
ФайлНоменклатура = Новый XBase;
ФайлНоменклатура.Кодировка = КодировкаXBase.OEM;
ФайлНоменклатура.ОткрытьФайл("D:\My documents\Мои документы\SPNM.DBF");
ФайлНоменклатура.Первая();

счетчик = 1;
Номенклатура = Справочники.Новый();
Пока Не ФайлНоменклатура.ВКонце() Цикл
НаименованиеТовара = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMNAME"));
ПолноеНаименование = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN1"));
НаименованиеДляПечати = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN2"));
БазоваяЕдиница = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMED"));
Страна = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMST"));
НомерГТД = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMGTD"));
КоличествоЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUPAK"));
ВесЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMVES"));
ЗакупочнаяЦена = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMSEB"));
РозничнаяЦенаМин = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMIN"));
РозничнаяЦенаМакс = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMAX"));
Валюта = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUE"));
ЦенаДляСотрудника = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMCENA1"));
ВидНоменклатуры = "Товар";
ЕдиницаХраненияОстатков = БазоваяЕдиница;
ЕдиницаДляОтчетов = БазоваяЕдиница;
НДС = "18%";
Если Валюта = 1 тогда
Категории = "Импортный";
КонецЕсли;
Артикул = счетчик;
счетчик = счетчик + 1;
КонецЦикла;

ФайлНоменклатура.ЗакрытьФайл();
КонецПроцедуры"

Wee
читатель
офлайн
Дата регистрации: 24.11.2007
Сообщений: 464
Пост №2
 
04.02.2010 08:36

"> Номенклатура = Справочники.Новый();
Это что? Справочник то какой? Наверное Справочники.Номенклатура.СоздатьЭлемент(); вам нужно..
И чего вы пытаетесь делать дальше? Если заполняете созданный элемент справочника, то пишите Номенклатура.Наименование = , Номенклатура.Арткул = , и т.д. А в конце еще нужно Номенклатура.Записать();
А еще Базовая едиинца, ставка НДС и многое другое - это не строковые переменные, и такое присваивание (="Товар") не попрет."

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №3
 
04.02.2010 08:45

> не попрет.

+1

Katsy
читатель
офлайн
Дата регистрации: 04.02.2010
Сообщений: 4
Пост №4
 
04.02.2010 10:35

"Вот так тоже не работает:

Процедура ЗаполнениеСправочника()
ФайлНоменклатура = Новый XBase;
ФайлНоменклатура.Кодировка = КодировкаXBase.OEM;
ФайлНоменклатура.ОткрытьФайл("D:\My documents\Мои документы\SPNM.DBF");
ФайлНоменклатура.Первая();

счетчик = 1;
Пока Не ФайлНоменклатура.ВКонце() Цикл
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
Номенклатура.НаименованиеТовара = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMNAME"));
Номенклатура.ПолноеНаименование = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN1"));
Номенклатура.НаименованиеДляПечати = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN2"));
Номенклатура.БазоваяЕдиница = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMED"));
Номенклатура.Страна = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMST"));
Номенклатура.НомерГТД = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMGTD"));
Номенклатура.КоличествоЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUPAK"));
Номенклатура.ВесЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMVES"));
Номенклатура.ЗакупочнаяЦена = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMSEB"));
Номенклатура.РозничнаяЦенаМин = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMIN"));
Номенклатура.РозничнаяЦенаМакс = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMAX"));
Номенклатура.Валюта = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUE"));
Номенклатура.ЦенаДляСотрудника = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMCENA1"));
Номенклатура.ВидНоменклатуры = "Товар";
Номенклатура.ЕдиницаХраненияОстатков = Номенклатура.БазоваяЕдиница;
Номенклатура.ЕдиницаДляОтчетов = Номенклатура.БазоваяЕдиница;
Номенклатура.НДС = "18%";
Если Номенклатура.Валюта = 1 тогда
Номенклатура.Категории = "Импортный";
КонецЕсли;
Номенклатура.Артикул = счетчик;
Номенклатура.Записать();
счетчик = счетчик + 1;
КонецЦикла;

ФайлНоменклатура.ЗакрытьФайл();
КонецПроцедуры"

basil_m
читатель
офлайн
Дата регистрации: 12.01.2007
Сообщений: 35
Пост №5
 
04.02.2010 12:31

"Попробуй так:
Процедура ЗаполнениеСправочника()

Ном=СоздатьОбъект("СправочникНоменклатура");
ФайлНоменклатура = СоздатьОбъект("XBase");
ФайлНоменклатура.Кодировка = КодировкаXBase.OEM;
ФайлНоменклатура.ОткрытьФайл("D:\My documents\Мои документы\SPNM.DBF");
ФайлНоменклатура.Первая();

счетчик = 1;
Пока ФайлНоменклатура.ВКонце()=0 Цикл
Номенклатура = Ном.Новый();
...
...
...
Номенклатура.Записать();
счетчик = счетчик + 1;
ФайлНоменклатура.Следующая();
КонецЦикла;

ФайлНоменклатура.ЗакрытьФайл();
КонецПроцедуры "

Wee
читатель
офлайн
Дата регистрации: 24.11.2007
Сообщений: 464
Пост №6
 
04.02.2010 12:33

:)
А вы программист вобще?

Katsy
читатель
офлайн
Дата регистрации: 04.02.2010
Сообщений: 4
Пост №7
 
04.02.2010 12:35

"У меня 8.0, а не 7.7.

Сейчас текст такой:

Процедура ЗаполнениеСправочника()
ФайлНоменклатура = Новый XBase;
ФайлНоменклатура.Кодировка = КодировкаXBase.OEM;
ФайлНоменклатура.ОткрытьФайл("D:\My documents\Мои документы\SPNM.DBF");

Если ФайлНоменклатура.Открыта() тогда
Предупреждение("База Открыта",2);
ФайлНоменклатура.Первая();

счетчик = 1;
Пока Не ФайлНоменклатура.ВКонце() Цикл
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
Номенклатура.НаименованиеТовара = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMNAME"));
Номенклатура.ПолноеНаименование = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN1"));
Номенклатура.НаименованиеДляПечати = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMPRN2"));
Номенклатура.БазоваяЕдиница = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMED"));
Номенклатура.Страна = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMST"));
Номенклатура.НомерГТД = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMGTD"));
Номенклатура.КоличествоЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUPAK"));
Номенклатура.ВесЕдиницы = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMVES"));
Номенклатура.ЗакупочнаяЦена = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMSEB"));
Номенклатура.РозничнаяЦенаМин = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMIN"));
Номенклатура.РозничнаяЦенаМакс = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMMAX"));
Номенклатура.Валюта = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMUE"));
Номенклатура.ЦенаДляСотрудника = СокрЛП(ФайлНоменклатура.ПолучитьЗначениеПоля("SPNMCENA1"));
Номенклатура.ВидНоменклатуры = "Товар";
Номенклатура.ЕдиницаХраненияОстатков = Номенклатура.БазоваяЕдиница;
Номенклатура.ЕдиницаДляОтчетов = Номенклатура.БазоваяЕдиница;
Номенклатура.НДС = "18%";
Если Номенклатура.Валюта = 1 тогда
Номенклатура.Категории = "Импортный";
КонецЕсли;
Номенклатура.Артикул = счетчик;
Номенклатура.Записать();
ФайлНоменклатура.Следующая();
счетчик = счетчик + 1;
КонецЦикла;
Иначе
Предупреждение("Не смогли открыть базу!!!",2);
КонецЕсли;

ФайлНоменклатура.ЗакрытьФайл();
КонецПроцедуры"

basil_m
читатель
офлайн
Дата регистрации: 12.01.2007
Сообщений: 35
Пост №8
 
04.02.2010 12:49

К сожалению с 8-кой дело не имел....

Katsy
читатель
офлайн
Дата регистрации: 04.02.2010
Сообщений: 4
Пост №9
 
04.02.2010 13:04

Разобралась. Тема закрыта.

Katsy
читатель
офлайн
Дата регистрации: 04.02.2010
Сообщений: 4
Пост №10
 
04.02.2010 13:04

Разобралась. Тема закрыта.

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги