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

Автор Тема: Как загрузить данные с разных файлов dbf в один файл??!!  (Прочитано 3575 раз)

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

Оффлайн Лейсан

  • ***
  • Сообщений: 142
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-12
  • Сайт: 
  • Профессия: Ученик 1С
Подскажите пожалуйста.Такая задача.с Галактики выгрузили данные по счетам на оплату в следующем формате:файл а-содержит шапку счетов,файл в-спецификацию счетов , файл с-отгрузку по счетам,файл д-оплата по счетам.в каждом файле есть поле NUMBERD,чтобы можно было связать.я вот немного торможу,как мне догрузить данные в уже выгруженные счета.Направьте меня в нужное русло пожалуйста!!!


ДБФ = Новый XBase;
      ДБФ.ОткрытьФайл(ПутьКФайлу);
      ДБФ.Кодировка=КодировкаXBase.OEM;
      //Проверка на наличие записей
   Если ДБФ.КоличествоЗаписей() = 0 Тогда
      Сообщить("Файл данных пуст");
      ДБФ.ЗакрытьФайл();
      //Возврат                     
   КонецЕсли;
        //Переходим на первую строку файла
   ДокСчет=Документы.СчетНаОплатуПокупателю;     
    ДБФ.Первая();
    ПредыдущийНомер = 0;
      Док=Неопределено;
   
    Пока Истина Цикл

    //смотрим номер NUMBERD и заполняем вкладку товары
         
      ТекущийНомер=ДБФ.NUMBERD;
         Если ТекущийНомер <> ПредыдущийНомер  Тогда
         
         //записываем предыдущий документ
      Если Док<>Неопределено тогда
         Док.Записать();
      КонецЕсли;   
     
    Если ДокСчет.НайтиПоНомеру(ТекущийНомер,)=ДокСчет.ПустаяСсылка() тогда
        //переходим к следующему документу
   
      Док = ДокСчет.СоздатьДокумент();
     НовыйДокумент=Истина;   
      Док.Номер= СокрЛП(ДБФ.NUMBERD);
       
   иначе
     ДокСсылка=ДокСчет.НайтиПоНомеру(ТекущийНомер,);
     Док=ДокСсылка.ПолучитьОбъект();
     НовыйДокумент=Ложь;
  КонецЕсли;
КонецЕсли; 
   //Заполним табличную часть "Товары"
      ТекНоменклатура=Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ДБФ.NOM));
      Если НовыйДокумент тогда
      НоваяСтрока=Док.Товары.Добавить();
      НоваяСтрока.Номенклатура=ТекНоменклатура;
   иначе
      НайденныеСтроки=Док.Товары.НайтиСтроки(Новый Структура("Номенклатура",ТекНоменклатура));
      
      Если НайденныеСтроки.Количество()>0 тогда
         НоваяСтрока=НайденныеСтроки[0];
      иначе
      НоваяСтрока=Док.Товары.Добавить();
      НоваяСтрока.Номенклатура=ТекНоменклатура;
   КонецЕсли;
   Конецесли;
      //НоваяСтрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ДБФ.NOM));
      НоваяСтрока.ЕдиницаИзмерения= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(СокрЛП(ДБФ.ED));
      НоваяСтрока.Количество=СокрЛП(ДБФ.KOL);
      НоваяСтрока.Цена=СокрЛП(ДБФ.PRICE);
      НоваяСтрока.СтавкаНДС=СокрЛП(ДБФ.NDS);
      
            
   
   Если Не ДБФ.Следующая()Тогда
       Прервать;
     КонецЕсли;
     ПредыдущийНомер = ТекущийНомер;
   КонецЦикла;
   
   //записываем последний док
   Если Док<>Неопределено тогда
     Док.Записать();
  КонецЕсли; 
  Сообщить ("Спецификация счетов выгружена!!");


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

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

Оффлайн Лейсан

  • ***
  • Сообщений: 142
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-12
  • Сайт: 
  • Профессия: Ученик 1С
а можно чуточку подробнее,если  не трудно.спасибо

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

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

Далее работаете чисто в 1С...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Лейсан

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


Теги:
 

Как перенести данные из 7.7 типовая УСН 1.3 в 1С 8 типовая бухгалтерия

Автор Александр бухгалтерРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4833
Последний ответ 13 Фев 2010, 07:58
от Александр бухгалтер
"Лишние" данные в зарплате

Автор Мария_ХРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 3783
Последний ответ 05 Апр 2014, 11:11
от Славянка
"Данные по коду не найдены"

Автор elteawРаздел Пользователям "1С - Предприятие 8"

Ответов: 6
Просмотров: 8091
Последний ответ 03 Дек 2015, 13:58
от Timofey Gurubanov
Куда сохраняются данные в режиме работы клиент при выгрузке данных обработкой "Универсальный обмен данными в формате XML"

Автор xDDРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 6947
Последний ответ 13 Ноя 2014, 08:23
от cska-fanat-kz
Как при помощи СКД при формировании макета отчета данные связанного набора данных вывести в Параметр через ";"

Автор sveta CРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 959
Последний ответ 01 Мар 2016, 14:33
от sveta C

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal