8.х Выгрузка прайс-листа из 1С8 в .txt

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем RuslanBLR, 27 сен 2010.

  1. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Привеи!!! Помогите. Как реализовать выгрузку прайс-листа из 1с8 в .txt, очень нужно. Может кто-нибудь видео программу где можно сказать или прочитать?
    Требуеться чтобы выгрузило весь прас-лист с полями вот в такой форме.

    txt файл:


    "наименование","артикул","описание","цена","наименование_картинки"
    "наименование","артикул","описание","цена","наименование_картинки"
    "наименование","артикул","описание","цена","наименование_картинки"
    "наименование","артикул","описание","цена","наименование_картинки"
  2. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Как сделать чтобы сохраняло в txt построчно в одной строке через пробел артикул, наименование, полное наименование?
    Так выводит только наименование:

    Код:
    Путь = "c:\temp\text.txt";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.UTF8);
    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ЗаписатьСтроку(Выборка.Наименование);
    КонецЦикла;	
    Текст.Закрыть();
    
    Если пишу так то выводит и артикул и наименование в разных строках:

    Код:
    Путь = "c:\temp\text.txt";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.UTF8);
    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ЗаписатьСтроку(Выборка.Наименование, Выборка.Артикул);
    КонецЦикла;	
    Текст.Закрыть();
    
  3. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Код:
    Текст.ЗаписатьСтроку(Выборка.Наименование+" "+Выборка.Артикул);
    
    
    Но вообще - пробел это не совсем тот символ, который подходит для разделения полей в текстовой строке. Связанно это с тем, что в наименовании как и в артикуле могут встречаться пробелы. И при разборе такого файла могут возникать ошибки.
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Полностью солидарен с lazy. Рекомендую почитать.
  5. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26

    это я уже читал! К этой форме и стремлюсь. Все мне это надо для того чтобы выгрузить в MySQL
  6. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26

    Подскажите как чтобы запись брало в двойный ""?

    Так берет в одинарные:
    Код:
    Текст.ЗаписатьСтроку("'"+Выборка.Наименование+"','"+Выборка.Артикул+"'");
    
    А как в "" ?
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Код:
    Текст.ЗаписатьСтроку(""""+Выборка.Наименование+""","""+Выборка.Артикул+"""");
    
    
  8. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    СПАСИБО! И еще один вопрос, помогите пожалуйста!
    Вот мой код что бы выгрузить номенклатуру в txt


    Код:
    Путь = "c:\temp\text.txt";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.UTF8);
    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ЗаписатьСтроку(""""+Выборка.Наименование+""","""+Выборка.Артикул+"""");
    КонецЦикла;	
    Текст.Закрыть();
    

    К этому мне еще надо чтобы выводило Цену на товар.
    Пробовал писать так не получаеться.......

    Код:
    Путь = "c:\temp\text.txt";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.UTF8);
    Выборка = Справочники.Номенклатура.Выбрать();
    Выборка2 = Документы.Розница.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ЗаписатьСтроку(""""+Выборка.Наименование+""","""+Выборка.Артикул+""","""+Выборка2.ЦенаРозничная+"""");
    КонецЦикла;	
    Текст.Закрыть();
    
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Так не получится. Пишите запрос с выборкой номенклатуры и цен к ней, потом из одного запроса выводите в файл.
  10. TopicStarter Overlay
    RuslanBLR
    Offline

    RuslanBLR Опытный в 1С

    Регистрация:
    13 июл 2010
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26

    Как это реализовать! Так?

    Код:
    Путь = "c:\temp\text.txt";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.UTF8);
    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ЗаписатьСтроку(""""+Выборка.Наименование+""","""+Выборка.Артикул+""","""+Выборка.Цена+"""");
    КонецЦикла;	
    Текст.Закрыть();
    
  11. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104

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