|
Тот же самый экспорт | ☑ | ||
---|---|---|---|---|
0
Kamich
06.06.13
✎
22:57
|
Добрый вечер форумчани. Есть некая проблема при экспорте данных из екселя. Суть такова:имеется ексель файл.в котором есть три основные колонки.Формат колонок установлен как "Общий". Первая колонка это колонка телефоных номеров.вторая ФИО и третья адрес. В одинэсе имеется так же три реквизита с теми же названиями. Прописал код на экспорт таким образом,чтобы каждая строка екселя создавала новый документ в одинэсе.Все работает как надо,но проблема лишь в выводах полученной информации. Пример в екселе в колонке "телефон" указан номер телефона следующим образом "2552525". В одинесе установил также маску "999-99-99" на реквизит "Телефон".После экспорта открывая список полученных документов в одинесе,и колонка с телефонами отображается не правильно то есть "2 55 25 25"а не "255-25-25".Почему не могу понять. Но вот парадокс,когда открываю любой документ номер телефона отображается как надо. И еще когда я начинаю редактировать реквизит "телефон",а именно просто удаляю последнюю цифру телефона а за тем,снова вписываю ту же цифру и делаю сохранение документа,то в списке всех документов только измененный документ в колонке телефон отображается как надо то есть "255 25 25". Пробовал маску тоже устанавливать в списке,но без полезно. Что не так?
|
|||
1
dimqa
06.06.13
✎
23:14
|
Я бы понавставлял СтрЗаменить() Лев() Сред() чтобы быть точно уверенным что номер телефона в таком виде, как мне надо
|
|||
2
Kamich
08.06.13
✎
14:33
|
(1) Пробовал...не помогло...какие еще есть варианты?
|
|||
3
Kamich
08.06.13
✎
15:17
|
Вот код:
Для Строка = 1 По ExcelПоследняяСтрока Цикл ОбработкаПрерыванияПользователя(); Стр=Документы.Документ1.СоздатьДокумент(); Стр.Номер = Строка; Стр.Дата=ТекущаяДата(); Попытка Стр.НомерТелефона = ExcelЛист.Cells(Строка, 1).Value; Стр.ФИО = ExcelЛист.Cells(Строка, 2).Value; Стр.Адрес = ExcelЛист.Cells(Строка, 3).Value; Исключение Сообщить("Ошибка чтения строки файла Microsoft Excel." + Строка + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); КонецПопытки; Состояние("Обработка файла Microsoft Excel : " + "строка " + Строка + " из " + ExcelПоследняяСтрока); Стр.Проведен=Истина; Стр.Записать(); КонецЦикла; |
|||
4
Kamich
08.06.13
✎
15:22
|
(3) что изменить?
|
|||
5
Жирафка
08.06.13
✎
15:25
|
(4) попробуй телефон сразу преобразовать в строку с маской
|
|||
6
Web00001
08.06.13
✎
15:28
|
Маска то это же для формы, для удобства отображения, сам реквизит 1с хранит как ты его видишь в поле: чистым текстом. Так что надо сразу писать в нужном формате.
|
|||
7
Kamich
08.06.13
✎
15:32
|
(5) Так ?
Стр.НомерТелефона = СтрЗаменить(ExcelЛист.Cells(Строка, 1).Value)," ","*"); Или по другому?! |
|||
8
Kamich
08.06.13
✎
15:46
|
(6) А что если таких 250 000 строчек,и каждую нужно переделать?!
Тут ведь как то можно решить эту задачу..?) |
|||
9
Жирафка
08.06.13
✎
15:47
|
(8) можно. за деньги.
|
|||
10
Kamich
08.06.13
✎
15:49
|
(9) понятно,что можно за деньги..
Но быть может другие люди приходят сюда длс того,чтобы поделиться опытом?* |
|||
11
Жирафка
08.06.13
✎
15:50
|
(10) бесплатно с тобой поделились. Если тебе не понятно в каком направлении двигать дальше то смотри (9)
|
|||
12
Kamich
08.06.13
✎
15:51
|
(11) ты про (5) ?
|
|||
13
Kamich
08.06.13
✎
19:14
|
Примерчик бы.
|
|||
14
mistеr
08.06.13
✎
20:25
|
Для начала нужно понять, как у тебя описаны реквизиты документа. Сделай "Отчет по конфигурации" по этому документу в текстовом виде, закинь на pastebin. Дальше нужно уточнить что приходит из Экселя. Выведи ExcelЛист.Cells(Строка, 1).Value черед Сообщить(), обрамив чем-нибудь, напримет [].
Если хочешь, чтобы тебе помогли, позаботься о том, чтобы дать всю информацию по проблеме, причем в удобоваримом виде, не заставляй ленивых одинесников упражняться в телепатии. От этого потом голова болит. И еще, для общего развития. "Экспорт" - это когда данные передаются из нашей рабочей системы (в данном случае 1С) вовне. А когда приходят извне в нашу систему, - это "импорт". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |