Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

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

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

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

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

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

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

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

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

> не попрет.<br><br>+1

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

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

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

"Попробуй так:<br>Процедура ЗаполнениеСправочника()<br><br> Ном=СоздатьОбъект("СправочникНоменклатура");<br> ФайлНоменклатура = СоздатьОбъект("XBase");<br> ФайлНоменклатура.Кодировка = КодировкаXBase.OEM;<br> ФайлНоменклатура.ОткрытьФайл("D:\My documents\Мои документы\SPNM.DBF");<br> ФайлНоменклатура.Первая();<br><br> счетчик = 1;<br> Пока ФайлНоменклатура.ВКонце()=0 Цикл<br> Номенклатура = Ном.Новый();<br> ...<br> ...<br> ...<br> Номенклатура.Записать();<br> счетчик = счетчик + 1;<br> ФайлНоменклатура.Следующая();<br> КонецЦикла;<br><br> ФайлНоменклатура.ЗакрытьФайл();<br>КонецПроцедуры "

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

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

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

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

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 сообщений

Читают тему:

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