Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 19:08
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обработка для загрузки файла дбф в 1с аптека  (Прочитано 2804 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте.  Скажите,как записать номенклатуру из дбф в 1с. Я написала таким образом,записывается количество,единица измерения, а номенклатура не записывается. Подскажите, что я не так сделала.

&НаСервере
Процедура ОбработатьНАСервере()
   ДБФ = Новый XBASE;
   FileSystemObject=Новый COMObject("Scripting.FileSystemObject");
   ФайлКор= FileSystemObject.getFile(Файл).ShortPath;
   ДБФ.ОткрытьФайл(ФайлКор);
   ДБФ.Кодировка=КодировкаXBase.OEM;
   Если НЕ ДБФ.Открыта()  Тогда
      Сообщить("Ошибка открытия");
   КонецЕсли;
   Если ДБФ.Первая() = Ложь Тогда
      Сообщить("не найдена первая запись");
      Возврат;
   КонецЕсли;
   Пока Не ДБФ.вконце() Цикл
      НаимНом = Справочники.Номенклатура.НайтиПоНаименованию(дбф.name_post);
      Если Не ЗначениеЗаполнено(НаимНом) Тогда
         НовНом = Справочники.Номенклатура.СоздатьЭлемент();
         НовНом.Наименование = дбф.name_post; 
         НовНом.БазоваяЕдиницаИзмерения = Справочники.ЕдиницыИзмеренияНоменклатуры.НайтиПоНаименованию("уп");
         НовНом.ГруппаБухгалтерскогоУчета = Справочники.ГруппыБухгалтерскогоУчета.НайтиПоНаименованию("Основная");
         НовНом.Записать();
      Иначе
         НовНом = НаимНом;
      КонецЕсли;
      НовДок = Документы.ПоступлениеТоваров.СоздатьДокумент();
      НовДок.Дата = ТекущаяДата();
      НовДок.Организация = Организация;
      НовДок.Контрагент = Контрагент;
      
      НовТаб = НовДок.Товары.Добавить();
      НовТаб.номенклатура = сокрЛП(ДБФ.name_post);
      НовТаб.СерияНоменклатуры = дбф.seria;
      НовТаб.Количество = дбф.kol_tov;
      НовТаб.ЕдиницаИзмерения = Справочники.ЕдиницыИзмеренияНоменклатуры.НайтиПоНаименованию("уп");
      НовТаб.Цена = дбф.prcenabnds;
           ДБФ.Следующая();
      НовДок.Записать(РежимЗаписиДокумента.Запись);
      КонецЦикла;
КонецПроцедуры;


Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
 
 НовТаб.номенклатура = сокрЛП(ДБФ.name_post);
мейби
  НовТаб.номенклатура = НовНом.Ссылка?
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
вы лучше вот это
НаимНом = Справочники.Номенклатура.НайтиПоНаименованию(дбф.name_post);
      Если Не ЗначениеЗаполнено(НаимНом) Тогда
         НовНом = Справочники.Номенклатура.СоздатьЭлемент();
         НовНом.Наименование = дбф.name_post;
         НовНом.БазоваяЕдиницаИзмерения = Справочники.ЕдиницыИзмеренияНоменклатуры.НайтиПоНаименованию("уп");
         НовНом.ГруппаБухгалтерскогоУчета = Справочники.ГруппыБухгалтерскогоУчета.НайтиПоНаименованию("Основная");
         НовНом.Записать();
      Иначе
         НовНом = НаимНом;
      КонецЕсли;
      НовДок = Документы.ПоступлениеТоваров.СоздатьДокумент();
      НовДок.Дата = ТекущаяДата();
      НовДок.Организация = Организация;
      НовДок.Контрагент = Контрагент;
     
      НовТаб = НовДок.Товары.Добавить();
      НовТаб.номенклатура = сокрЛП(ДБФ.name_post);

вот так перепишите
НаимНом = Справочники.Номенклатура.НайтиПоНаименованию(дбф.name_post);
      Если Не ЗначениеЗаполнено(НаимНом) Тогда
         НовНом = Справочники.Номенклатура.СоздатьЭлемент();
         НовНом.Наименование = дбф.name_post;
         НовНом.БазоваяЕдиницаИзмерения = Справочники.ЕдиницыИзмеренияНоменклатуры.НайтиПоНаименованию("уп");
         НовНом.ГруппаБухгалтерскогоУчета = Справочники.ГруппыБухгалтерскогоУчета.НайтиПоНаименованию("Основная");
         НовНом.Записать();
НаимНом = НовНом.Ссылка;
      КонецЕсли;
      НовДок = Документы.ПоступлениеТоваров.СоздатьДокумент();
      НовДок.Дата = ТекущаяДата();
      НовДок.Организация = Организация;
      НовДок.Контрагент = Контрагент;
     
      НовТаб = НовДок.Товары.Добавить();
      НовТаб.номенклатура = НаимНом;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Хорошо,спасибо,попробую
Добавлено: 08 Янв 2015, 19:45

Не удается открыть файл,выходит ошибка., Ошибка-перед выполнением операции установите объект на запись. Меняла путь,расположение файла,но открывается. Подскажите! УпрФормы

 

&НаСервере
Процедура ОбработатьНаСервере()

ДБФ = Новый XBASE();
   FileSystemObject=Новый COMObject("Scripting.FileSystemObject");
   ФайлКор= FileSystemObject.getFile(Файл).ShortPath;
   ДБФ.ОткрытьФайл(ФайлКор);
 
   ДБФ.Кодировка=КодировкаXBase.OEM;
   Если НЕ ДБФ.Открыта()  Тогда
       Сообщить("неоткрыт");
   КонецЕсли;
   Если ДБФ.Первая() = Ложь Тогда
       Сообщить("не найдена первая запись");
       Возврат;
   КонецЕсли;
    Пока Не ДБФ.вконце() Цикл

 

//Диалог открытия

 

&НаКлиенте

Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Выберите файл";
   Диалог.ПолноеИмяФайла = "";
   Фильтр = "(*.dbf)|*.dbf";
   Диалог.Фильтр = Фильтр;
   Диалог.МножественныйВыбор = Ложь;
   Диалог.Каталог = "H:\Новая папка\";
   Если Диалог.Выбрать() Тогда
       Файл = Диалог.ПолноеИмяФайла;
   КонецЕсли;
КонецПроцедуры

Последний раз редактировалось: ppkmlite; 08 Янв 2015, 19:45. Причина: Объединение сообщений

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Скажите,почему не проставляется серия Номенклатуры в документе? и количество?
НовТаб.СерияНоменклатуры = дбф.seria;
новтаб.количество = ДБФ.Kol_tov
Я меняю тип значения
СТР = число(ДБФ.Kol_tov);
      НовТаб.Количество = стр;
но результата нет.
а в серии встречаются как числа,так и буквы





Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
НовТаб.СерияНоменклатуры - это ссылка на справочник вроде. нужно создавать серию, а потом созданный элемент справочника, ну или найденный, присваивать.
С количеством надо в отладчике смотреть.
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн notaSS

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-22
  • Сайт: 
  • Профессия: Ученик 1С
Есть стандартные обработки для загрузки файлов

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
notaSS, блин. мне опять скажут, что я плохо общаюсь с пользователями, но у меня вопрос, вы уверен, что обработки для загрузки файлов помогут в данной ситуации??!?!
Помог? Нажми - Спасибо :)
skype: Soprov1C


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 281
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal