Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Загрузка в 1с УСН из Е-фарма txt-файла  (Прочитано 14438 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
berkut321
Гость
« : 27-12-2006 06:10 » 

Доброго времени суток. 

Не могли бы Вы подсказать где можно найти обработку для загрузки в 1с УСН текстового файла, выгруженного из программы Е-фарма. Примерный текст, выгруженный из программы выглядит так:

0;ЗАО,Поста;11091;01.12.06;71961;04.12.06;3788.89;5338.95;303.86;68.11;1;Закупка для розницы;15ПН-0000008
0;Бюрок;11089;29.11.06;283051_Н10;04.12.06;1783.27;2592.25;162.12;0;1;Закупка для розницы;15ПН-0000009
0;Бюрок;11089;29.11.06;283052_Н18;04.12.06;119.12;172.5;0;18.17;1;Закупка для розницы;15ПН-0000010

Причем текст голый без реквизитов файла и прочей инфы - только такие строки.

Поставлено условие собрать суммы в общую запись, для Бюрок в частности.

С уважением к монстрам 1С, Новичок.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 27-12-2006 06:55 » 

Наверное быстрее всего будет написать.
Тебе нужны только 2 поля: название фирмы и сумма (какая из или все 4)?
Записан
berkut321
Гость
« Ответ #2 : 27-12-2006 07:13 » 

Нужны только название, первая сумма и номер входящего документа...
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 27-12-2006 07:15 » 

Создаешь новую обработку. В ней процедуру Сформировать заменяешь на код ниже:
(ПутьКФайлу меняешь на правильный путь в формате "C:\Path\To\File.txt")
Код:
Процедура Сформировать()
// Создадим таблицу полученных значений
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Фирма","Строка");
ТЗ.НоваяКолонка("Сумма1","Число",12,2);
ТЗ.НоваяКолонка("Сумма2","Число",12,2);
ТЗ.НоваяКолонка("Сумма3","Число",12,2);
ТЗ.НоваяКолонка("Сумма4","Число",12,2);

// Заполним таблицу из файла
Т=СоздатьОбъект("Текст");
Т.Открыть(ПутьКФайлу);
Для И1=1 По Т.КоличествоСтрок() Цикл
Стр=Т.ПолучитьСтроку(И1);
Если ПустаяСтрока(Стр)=1 Тогда Продолжить; КонецЕсли;
Стр=СтрЗаменить(Стр,";",РазделительСтрок);
// Назв фирмы - строка 2
// Суммы - строки 7,8,9,10
Если СтрКоличествоСтрок(Стр)<10 Тогда Продолжить; КонецЕсли;

ТЗ.НоваяСтрока();
ТЗ.Фирма=СтрПолучитьСтроку(Стр,2);
ТЗ.Сумма1=Число(СтрПолучитьСтроку(Стр,7));
ТЗ.Сумма2=Число(СтрПолучитьСтроку(Стр,8));
ТЗ.Сумма3=Число(СтрПолучитьСтроку(Стр,9));
ТЗ.Сумма4=Число(СтрПолучитьСтроку(Стр,10));
КонецЦикла;

// Просуммируем суммы :)
ТЗ.Свернуть("Фирма","Сумма1,Сумма2,Сумма3,Сумма4");
ТЗ.Сортировать("Фирма");

// Выведем на экран
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Сообщить(ТЗ.Фирма+СимволТабуляции+ТЗ.Сумма1+СимволТабуляции+
  ТЗ.Сумма2+СимволТабуляции+ТЗ.Сумма3+СимволТабуляции+ТЗ.Сумма4);
КонецЦикла;

КонецПроцедуры
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 27-12-2006 07:20 » 

Успь. Не успел увидить твой ответ.
Модификации следующие:
Добавляешь в таблицу поле входящего документа
   ТЗ.НоваяКолонка("ВхНом","Строка");
Добавляешь чтение этого номера
      ТЗ.ВхНом=СтрПолучитьСтроку(Стр,Х);
(при необходимости - поменяй условие на проверку количества строк)
Меняешь сворачивание ТЗ добавлением поля в первый параметр
   ТЗ.Свернуть("Фирма,ВхНом",...);
Аналогично можешь добавить в сортировку
Меняешь вывод на экран.
Удаляешь лишние суммы если мешают
Записан
berkut321
Гость
« Ответ #5 : 27-12-2006 09:00 » 

Огромное спасибо... Улыбаюсь Сейчас пытаюсь все смастерить... Очень приятно что откликнулись и помогли... Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines