8.х Текстовый документ для v 8.1

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем xandruxa, 4 мар 2009.

  1. TopicStarter Overlay
    xandruxa
    Offline

    xandruxa

    Регистрация:
    25 фев 2009
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Люди добрые, помогите с таким вопросом. У меня текстовики создаются. А мне из них нужно на каждой строке после, например слова ФИО и двоеточия, обращаться к остальному тексту и заполнять этим Документ "Заявка". Как это дело реализовать? Заранее спасибо за любую информацию.
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Структуру данных текстового файла уточните. Есть ли в строке после данных о ФИО еще какая-то информация. Обязательно ли в каждой строке "ФИО:" встречаться будет. Используются ли другие служебные слова...
  3. TopicStarter Overlay
    xandruxa
    Offline

    xandruxa

    Регистрация:
    25 фев 2009
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Текстовик выглядит примерно так:

    ФИО: Харитонова Ульяна Яковлеввна
    Телефон: 71327864153
    Факс: 45457857
    Город: Геленджик
    Люкс ON
    П/Люкс ON
    Люкс ON
    Блок: ON
    Город прибытия: Новоросийск
    C 01 ин по 02 ян
    Указал свой адрес: http://win.mail.ru/cgi-bin/sentmsg?compose...=qwerty@mail.ru
    Содержание письма: бла бла бла

    Нужно обращаться к каждой строке после символа ":" или после определенного слова (ну там в принципе тоже можно двоеточие поставить) и заносить эту информацию в Объект конфигунации Документ Заявка, форма которого уже есть. Сижу бьюсь но в свете того что языка еще пока не знаю, ничего дельного написать не могу.
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Если текстовый файл имеет жесткую структуру, т.е. всего строк (как в примере) 12,в первой строке фио, во второй телефон и т.д., и значения от ключевых слов отделяются двоеточием,тогда можно так:

    Код:
    Функция ПолучитьЗначениеСтроки(Текст, НС, Разделитель = ":")
    Строка = Текст.ПолучитьСтроку(НС);
    Возврат Сред(Строка, Найти(Строка, Разделитель)+1);
    КонецФункции
    
    Процедура ЗаполнитьЗаказ()
    Заказ = Документы.ЗаказПокупателя.СоздатьДокумент();
    ИмяФайла = "C:\info.txt";
    Текст = Новый ТекстовыйДокумент;
    Текст.Прочитать(ИмяФайла);
    Заказ.ФИО = ПолучитьЗначениеСтроки(Текст, 1);
    Заказ.Телефон = ПолучитьЗначениеСтроки(Текст, 2);
    //И т.д.
    Заказ.Записать();
    КонецПроцедуры
    
  5. TopicStarter Overlay
    xandruxa
    Offline

    xandruxa

    Регистрация:
    25 фев 2009
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Спасибо огромное.) А как нибудь без определения функции и процедуры это можно записать? Я имею ввиду в теле процедуры.
  6. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    В теле какой процедуры? Сделать-то можно, только зачем?
    Если уж так хочется сильно, то вставьте содержимое процедуры в Вашу процедуру и строки типа
    Код:
    Заказ.ФИО = ПолучитьЗначениеСтроки(Текст, 1);
    
    замените на:
    Код:
    Строка = Текст.ПолучитьСтроку(1);
    ФИО = Сред(Строка, Найти(Строка, ":")+1);
    
    и далее по тексту.
    Только так не пишет никто.
  7. TopicStarter Overlay
    xandruxa
    Offline

    xandruxa

    Регистрация:
    25 фев 2009
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Да просто дело в том что эти файлы временные и мне нужно их обрабатывать, пока цикл не закончился. Я пока не придумал других способов из почты документ заполнять.) Может быть есть какой то более легкий способ?
  8. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Про способы и почту я ничего не понял:) А в цикле, мне кажется, легче процедуру вызвать, чем код в него впихивать.
  9. TopicStarter Overlay
    xandruxa
    Offline

    xandruxa

    Регистрация:
    25 фев 2009
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Пасиба.) Я уже вроде бы догнал че к чему.) Побольше бы таких отзывчивых людей, и кризис бы не так страшно звучал.)) Еще раз за все спасибо.)

Поделиться этой страницей