Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 15:57

Помоги через внешний отчет сделать экспорт расходной накладной из txtфайла в 1с

Автор VadikSandy, 29 мая 2011, 12:48

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

VadikSandy

вот пример трёх строчек расходной накладной в формате txt

21.05.10;МПО-003554;7725203410;Медком-МП;Медикаменты10;1324134;10;12;2114.00;2950.00;268.18
21.05.10;41402/24;7726320638;Роста Ярославль;Медикаменты18;1324138;18;3;4537.00;5500.00;838.98
21.05.10;41401/24;7726320638;Роста Ярославль;Товары10;1324135;10;5;1001.78;1600.00;145.45

нужен такой код во внешнем отчете, чтоб программа создавала Новый справочник и в нём реквизиты дата; номер; ИНН, название фирмы, тип товара вобщем считать построчно и записать

http://www.mista.ru/kurs1c/9.htm
http://1cprofi.com/content/view/20/17/

пытался пользоваться материалами этих сайтов, не вышло(

Klyacksa

А разве можно программно создать справочник?
Видимо, речь шла о создании программно элементов справочника. Так и в чем проблема? Вы хотите, чтобы  всю работу мы выполнили за Вас? Вы хоть что-то сами написали?
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Maxim


VadikSandy

 :befhbt:
Процедура КнопкаСформироватьНажатие(Кнопка)
   
Текст = Новый ТекстовыйДокумент;
// открытие файла
Текст.Прочитать("C:\Documents and Settings\Вася\Мои документы\экспорт\export.txt", КодировкаТекста.ANSI);



//Заполним разделитель в файле
  СимволРазделитель = ";";
 
  //Перебираем строки файла и заполняем документ
  Для а = 1 по Текст.КоличествоСтрок() Цикл
   
    //Получим очередную строку
    Стр = Текст.ПолучитьСтроку(а);
   
    //Занесем строку во временную переменную
    //с ней и будем работать
    ТемпСтрока         = Стр; 
   
    //Найдем разделитель
    НомерСимвола       = Найти(ТемпСтрока,СимволРазделитель);
   
   
   дальше по комментам надо куски кода
   
    //значение до разделителя выбираем
    ?????
   
    //обрезаем строку до первого символа после разделителя
    ?????
   
    //Ищем следующий разделитель
    //если это поледний реквизит можно просто взять оставшуюся строку
    НомерСимвола       = Найти(ТемпСтрока,СимволРазделитель);
    ??????????
    //Если наименование пустое, считаем строку пустой
    //сообщим об этом пользователю
    Если тНаименование = "" Тогда
      Сообщить("Пустая строка " + Строка(а));
      Продолжить;
    Конецесли;
КонецПроцедуры




вот там где знаки вопросов там и пока не знаю как что :dfbbdrfb:

Maxim

//значение до разделителя выбираем
    ТНаименование       = СокрЛП(Лев(ТемпСтрока,НомерСимвола - 1));
   
    //обрезаем строку до первого символа после разделителя
    ТемпСтрока              = Сред(ТемпСтрока,НомерСимвола + 1);

     НомерСимвола       = Найти(ТемпСтрока,СимволРазделитель);
    ТЦена           = Число(Лев(ТемпСтрока,НомерСимвола - 1));

Пример:
Яблока;20;

ТНаименование = Яблоко
ТемпСтрока = 20;
Тцена = 20

Уже известно 2 реквизита.

Maxim


VadikSandy

удачный примерпро яблоко цену и прочее, спасибо ;)

надеюсь допишу


PukewhileRunningAMile

Цитата: Maxim от 29 мая 2011, 19:11
не проще ли разбить все что в текстовом файле на массивподстрок функцией, которая наверняка есть в общих модулях конфига.. )
а то слишком много лишнего кода получается

Maxim

Да он новенький пускай привыкает и если что выложит пример.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск