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

Выгрузка содержимого файла в справочник

Автор Feitosa, 22 ноя 2011, 17:46

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

Feitosa

Есть файл test.csv в нем 3 строки :

000000001;1;Kill agency;Kill mad dog;500;22.11.2011 0:00:00;Ivanov;1
000000002;2;Clean service;Clean home;1 000;23.11.2011 0:00:00;Petrov;2
000000003;3;Transport ink;Odessa kiev;300;25.11.2011 0:00:00;Sidorov;3

Ну и код :

Текст = Новый ТекстовыйДокумент;
// открытие файла
Текст.Прочитать("D:/test.csv");
// перебор строк текстового документа
Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
// получить строку файла с указанным номером
Стр = Текст.ПолучитьСтроку(НомерСтроки);
// «распарсивание» строки
// ищем позицию символа-разделителя
Позиция = Найти (Стр,";");
// создаем новый элемент справочника
Спр=Справочники.Accounts.СоздатьЭлемент();

Спр.Код = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.id = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.firm_id = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.servise_id = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.summ = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.date_of = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.user_id = Лев(Стр, Найти(Стр, ";")-1);
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));

Спр.doc_no = Стр;

Спр.Записать();

КонецЦикла;


Вписывает только код, id, сумму, дату и №дока.(вообщем только числа), а вот поля СТРОКА пустые! Помогите что в коде нето ???

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Feitosa

Цитата: Dethmontt от 23 ноя 2011, 00:50
Спр.firm_id - тип какой?

firm_id - строка (там должно быть название фирмы)

has


Feitosa

Сделал такую замутку:

Пр = Строка(Лев(Стр, Найти(Стр, ";")-1));
Сообщить(Тип(Пр));
Спр.firm_id = Пр;
Стр = Прав(Стр, СтрДлина(Стр) - Найти(Стр, ";"));


Пишет :

{Справочник.Accounts.Форма.ФормаСписка(36)}: Тип не определен (Kill agency)
Сообщить(Тип(Пр));

has

а какой тип у Стр в самом начале? может есть переменная такая же еще где. Попробуй не Стр назвать, а как нибудь по другому. Стр123 например, ну чтобы такой переменной точно не было

chuevsf

Ваша проблема подробно разобрана в книжке по программированию в 1С версии 8.
Даже пример подробный есть. Может стоит почитать сначала книжку?

Feitosa


chuevsf


Feitosa

Цитата: has от 23 ноя 2011, 12:29
а какой тип у Стр в самом начале? может есть переменная такая же еще где. Попробуй не Стр назвать, а как нибудь по другому. Стр123 например, ну чтобы такой переменной точно не было

Поменял но ничего не изменилось

Теги:

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

Рейтинг@Mail.ru

Поиск