как сделать загрузку справочника из .txt

1. eppa 16.02.07 15:21 Сейчас в теме
Помогите понять алгоритм загрузки справочника из .txt файла
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. CheBurator 3230 17.02.07 01:09 Сейчас в теме
например, есть строка a файле
СуперПуперТовар<tab>100.00<tab>срочно покупать это выгодный товар
..
Код
СЗ=0;
Т=СоздатьОбъект("Текст");
Т.Открыть("c:\test.txt");
КС=Т.КоличествоСтрок();
Для сч=1 по КС Цикл
  ТекСтрока=Т.ПолучитьСтроку(сч);
  СЗ=глРазложить(ТекСтрока,СимволТабуляции); //здесь получаем список значений
  Товар=Сз.ПолучитьЗначение(1);
  Цена=Сз.ПолучитьЗначение(2);
  Комментарий=Сз.ПолучитьЗначение(3);
КонецЦикла;

..
Показать полностью
10. vladko 19.02.07 09:09 Сейчас в теме
Я делаю так:
Процедура Загрузить()
имяПапки=""; имяФайла="";
фс.ВыбратьФайл(0,имяФайла,имяПапки,"Выберите файл для загрузки","Все файлы (*.txt) |*.txt","txt");
ПолнИмя=имяПапки+"\"+имяФайла;
ТХТ=СоздатьОбъект("Текст");
ТХТ.Очистить();
СЗ=СоздатьОбъект("СписокЗначений");
СЗ.УдалитьВсе();
ТХТ.Открыть(ПолнИмя);
Для н=1 по ТХТ.КоличествоСтрок() Цикл
СЗ.ИзСтрокиСРазделителями(ТХТ.ПолучитьСтроку(н));
Товар=Сз.ПолучитьЗначение(1);
Цена=Сз.ПолучитьЗначение(2);
Комментарий=Сз.ПолучитьЗначение(3);
......
СЗ.УдалитьВсе();
КонецЦикла;
КонецПроцедуры // Загрузить
2. sashulyT 201 16.02.07 16:26 Сейчас в теме
А чего его понимать.

1. Открыл файл
2. прочитал строку
3. ищем в справочнике
4. если нашли идем 5 иначе создать новый
5. если конец файла выход иначе идем 2
3. eppa 16.02.07 17:23 Сейчас в теме
А можно посмотреть как это на языке 1с выглядит
5. CheBurator 3230 17.02.07 01:10 Сейчас в теме
А, блин... строка вот так выглядит типа
СуперПуперТовар<tab>100.00<tab>срочно покупать это выгодный товар
6. CheBurator 3230 17.02.07 01:10 Сейчас в теме
Тьфу блин еще раз
СуперПуперТовар<tab>100.00<tab>срочно покупать это выгодный товар
7. CheBurator 3230 17.02.07 01:11 Сейчас в теме
Не, это ну ваще...
СуперПуперТовар<tab>100.00<tab>срочно покупать это выгодный товар
8. O-Planet 6405 17.02.07 01:19 Сейчас в теме
Не, вот как:
[СуперПуперТовар][100.00][срочно покупать это выгодный товар][нах]
9. CheBurator 3230 17.02.07 01:25 Сейчас в теме
а как распарсить красиво?
11. CheBurator 3230 19.02.07 12:19 Сейчас в теме
Это аналогично тому как с табуляторами, тока с табуляторами - универсальнее - редко кто табулятор запихнет в реквизит, а вот разделитель (ИзСтрокиСразделителями) - запросто...
12. Abadonna 3972 19.02.07 15:33 Сейчас в теме
Самое удобное (ИМХО): Стр=СтрЗаменить(Стр,КакойСимволМенять,РазделительСтрок);
КакойСимволМенять - или символ Tab, или пробел, или запятую.. и.тд.
А потом (к примеру):
Для А=1 По СтрКоличествоСтрок(Стр) Цикл
Наименование=СтрПолучитьСтроку(Стр,1);
Количество=Число(СтрПолучитьСтроку(Стр,2));
...............................................
КонецЦикла;
13. Abadonna 3972 19.02.07 15:39 Сейчас в теме
Кстати, я при выгрузке всегда использую разделитель ‡ (alt+0135), т.к. вероятность наличия такого символа где-либо уж очень маловероятна, чего не скажешь о запятых, табах, точках....
14. eppa 21.02.07 15:49 Сейчас в теме
Спасибо очень помогли!
15. zalst 223 22.02.07 16:25 Сейчас в теме
Abadonna Написал:
-------------------------------------------------------
> Кстати, я при выгрузке всегда использую
> разделитель ‡ (alt+0135), т.к. вероятность наличия
> такого символа где-либо уж очень маловероятна,
> чего не скажешь о запятых, табах, точках....

супер! 5 баллов! :D
Иваныч; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот