|
Импорт из .txt | ☑ | ||
---|---|---|---|---|
0
Antoha18rus
25.02.20
✎
20:14
|
Кому надо загрузку из тхт, вот работающий пример!
&НаСервере Процедура Команда1НаСервере() КонецПроцедуры &НаКлиенте Процедура Команда1(Команда) Перем Стр; Стр=""; Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла=""; Текст = "ru = ""Текст""; en = ""Text"""; Фильтр = Нстр(текст)+"(*.txt)|*.txt"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.МножественныйВыбор=Ложь; Если ДиалогОткрытияФайла.Выбрать() Тогда ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Предупреждение("Файл не выбран!"); КонецЕсли; ТекДок = Новый ЧтениеТекста(ИмяФайла); Пока Стр <> Неопределено Цикл Стр = ТекДок.ПрочитатьСтроку(); Позиция = Найти(Стр,","); Код = Сред(Стр,1,Позиция-1); СтрИмя = Сред(Стр,Позиция+1); НайтиИмя = Найти(СтрИмя,","); Имя = Сред(СтрИмя,1,НайтиИмя-1); СтрФамилия = Сред(СтрИмя,НайтиИмя+1); НайтиФамилия = Найти(СтрФамилия,","); Фамилия = Сред(СтрФамилия,1,НайтиФамилия-1); СтрДР = Сред(СтрФамилия,НайтиФамилия+1); НайтиДР = Найти(СтрДР,","); ДР = Сред(СтрДР,1,НайтиДР-1); СтрПол = Сред(СтрДР,НайтиДР+1); НайтиПол = Найти(СтрПол,","); Пол = Сред(СтрПол,1,НайтиПол-1); СтрНП = Сред(СтрПол,НайтиПол+1); НайтиНП = Найти(СтрНП,","); НП = Сред(СтрНП,1,НайтиНП-1); СтрИП = Сред(СтрНП,НайтиНП+1); НайтиИП = Найти(СтрИП,","); ИП = Сред(СтрИП,1,НайтиИП-1); СтрДО = Сред(СтрИП,НайтиИП+1); НайтиДО = Найти(СтрДО,","); ДО = Сред(СтрДО,1,НайтиДО-1); СтрПП = Сред(СтрДО,НайтиДО+1); НайтиПП = Найти(СтрПП,","); ПП = Сред(СтрПП,1,НайтиПП-1); СтрПР = Сред(СтрПП,НайтиПП+1); НайтиПР = Найти(СтрПР,","); ПР = Сред(СтрПР,1,НайтиПР-1); СтрП = Сред(СтрПР,НайтиПР+1); НайтиП = Найти(СтрП,","); П = Сред(СтрП,1,НайтиП-1); СтрТаб = Объект.ТЧ.Добавить(); СтрТаб.Код = Код; СтрТаб.Имя = Имя; СтрТаб.Фамилия = Фамилия; СтрТаб.ДатаРождения = ДР; СтрТаб.Пол = Пол; СтрТаб.ПоложениеИД = НП; СтрТаб.ИмяПоложения = ИП; СтрТаб.ДолжностныеИнструкции = ДО; СтрТаб.ПериодныйПлатеж = ПП; СтрТаб.Ставка = ПР; СтрТаб.Email = П; КонецЦикла; Сообщить(ИмяФайла); КонецПроцедуры &НаСервере Процедура ДобавитьВСправочникНаСервере() Для каждого СтрТаб из Объект.ТЧ Цикл Если Справочники.Положение.НайтиПоНаименованию(СтрТаб.Код).Пустая() Тогда Справв = Справочники.Положение.СоздатьЭлемент(); Справв.Код = СтрТаб.ПоложениеИД; Справв.Наименование = СтрТаб.ИмяПоложения; Справв.ДолжностныеИнструкции = СтрТаб.ДолжностныеИнструкции; Справв.ПериодПлатежа = СтрТаб.ПериодныйПлатеж; Справв.СтавкаОплаты = СтрТаб.Ставка; Справв.Записать(); КонецЕсли; Если Справочники.Персонал.НайтиПоНаименованию(СтрТаб.Имя).Пустая() Тогда Справ = Справочники.Персонал.СоздатьЭлемент(); Справ.Код = СтрТаб.Код; Справ.Наименование = СтрТаб.Имя; Справ.Фамилия = СтрТаб.Фамилия; Справ.ДатаРождения = СтрТаб.ДатаРождения; Справ.Пол = СтрТаб.Пол; Справ.НомерПоложения = Справочники.Положение.НайтиПоНаименованию(СтрТаб.ПоложениеИД); Справ.Email = СтрТаб.Email; Справ.Записать(); КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ДобавитьВСправочник(Команда) ДобавитьВСправочникНаСервере(); КонецПроцедуры &НаКлиенте Процедура Очистить(Команда) Объект.ТЧ.Очистить(); КонецПроцедуры |
|||
1
zladenuw
25.02.20
✎
20:28
|
Сударь. кроме своего велосипеда.
учим типовые. БСП вот есть функция. и куча строк улетело Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, // три из которых - пустые строки, а // РазложитьСтрокуВМассивПодстрок(" ку му", " ") возвратит массив значений из двух элементов // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. |
|||
2
palsergeich
25.02.20
✎
20:37
|
(1) эта функция давно уже часть платформы.
СтрРазделить называется |
|||
3
ДенисЧ
25.02.20
✎
20:49
|
Make me unseen it!
|
|||
4
zladenuw
25.02.20
✎
21:10
|
(2) для староверов. только код
|
|||
5
Garykom
гуру
25.02.20
✎
21:21
|
(0) А теперь раздели если в данных (наименованиях или в чем еще) будут символы ";" или Символ(10) с Символ (13)
|
|||
6
Garykom
гуру
25.02.20
✎
21:23
|
(0) Ну и в след раз используй теги в конце а в начале
кода |
|||
7
Garykom
гуру
25.02.20
✎
21:24
|
(6)+ Чтобы вот так
было |
|||
8
MyNick
25.02.20
✎
22:08
|
(0) нашел что выкладывать. Спрячь и никому такое не показывай.
|
|||
9
palsergeich
25.02.20
✎
23:03
|
(0) ипать колотить, а это он хвастается.
Ужас какой, Ты или мисту как pastebin используешь, или весна началась, такой разврат прилюдно показывать( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |