Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/107: Рейтинг темы: голосов - 107, средняя оценка - 4.89
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
1

1c 8 и Exel

28.11.2010, 08:53. Просмотров 19326. Ответов 10
Метки нет (Все метки)

Ситуация следующая: Через файлик формата .xls выполняется обмен данными между двумя базами 1С. Вся соль в том, что при считывании файлика в базе -приемнике данные "преобразовываются": строковые типы становятся числовыми, а значит появляются разделители. Т.е. пишем "12015011" а загружаем "12 015 011", "000012" получаем "12". А в некоторых ячейках значения остаются без изменений: "123456789" "123456789".

Файлик формируется следующим образом: обработкой заполняется таблица, в которой все ячейки строковые. По данным этой таблицы заполняется макет через
//цикл...
ОбластьТаблицы.Параметры.Заполнить(СтрокаТАблицы);
ТабличныйДокумент.Вывести (ОбластьТаблицы);
КонецЦикла;
//сохраняем заполненный макет
ТабличныйДокумент.Записать(КудаИИмя,"xls97");

Внимание, вопрос: Как сделать так, чтобы в файлик писались данные с типом "текстовый" и чтобы тип данных экселем не менялся?


Считываю данные из экселя: Стр = СокрЛП(СокрЛП(ДокExcel.Sheets(1).Cells(СтрокаФ, Колонка).Value));

Вариант с " " в начале записываемого значения ячейки не особенно устраивает, потому что придется каждый параметр заполнять отдельно, а их порядка 50ти.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 08:53
Ответы с готовыми решениями:

Экспорт из Exel
Вот взял готовый код, подставил в него свои данные: Процедура ПриОткрытии() Значение1=99;...

Exel и Бухгалтерия
Здравствуйте! Уже не знаю к кому обратится. На нашей фирме учёт долгое время ведётся на Exel. Но...

Price Exel Vs 1c 7.7
Есть прайс Лист как мне его закинуть в 1С. У меня есть 1С 7.7 и есть 1С 8.1 но никуда не могу...

Exel + 1cv 77
Можно ли затянуть в 1с 77 данные из таблицы xls? Заранее спасибо...

Загрузка номенклатуры из Exel
Здраствуйте, у меня проблемка. Я написал скриптик загрузки номенклатуры в торговлю+склад 1с 7.7, но...

10
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
28.11.2010, 09:46 2
А если попробовать


Цитата Сообщение от tanat
Стр = СокрЛП(Формат(ДокExcel.Sheets(1).Cells(СтрокаФ, Колонка).Value)"ЧГ=");
?
Как я понимаю, в Excel все выглядит нормально?
0
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
28.11.2010, 12:35 3
В том то и дело, что в экселе местами все выглядит нормально, а местами - нет. При открытии файла эксель пытается распознать тип данных и расставляет их на свое усмотрение.
Действовать через "Фармат()" - не очень корректно будет, т.к. в этом случае всеравно "отсекаются" нули впереди числа. мне именно надо получать те данные, которые изначально передаю в эксель: например "0000012"
0
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
28.11.2010, 12:40 4
При выгрузке даты есть проблема с преобразованием. Лечится сменой выравнивания - то ли по правому, то ли по левому.
Может это?
0
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
28.11.2010, 13:35 5
Неа. Я, вобщем-то, нашел "качегарный" способ: вставил все таки в каждую заполняемую ячейку апостроф, Йоксель "кушает" все ячейки теперь как текст. Отдает - тоже текст, но с апострофом. А на приеме я просто отсекаю первый символ у строки.

Цель данной темы именно понять ,как "сказать" экселю, что надо сохранить документ с ячейками "текстового" характера. Если с датами, числами и истина-ложь можно как-то выйти из положения, то как быть с "незначащими" нулями ( по мнению Йокселя)?
0
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
28.11.2010, 13:39 6
А в Excele формат ячеек строковый получается?
0
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
28.11.2010, 13:58 7
Нет, по усмотрению самого Екселя ставится. Где-то "Текстовый" где-то "Общий", гдето "Булево", гдето "Дополнительный".
Хотя в макет я заполняю исключительно текстовые параметры.

Или может я вопрос не понял? До введения апострофа - произвольно на усмотрение Йокселя, после - строковый везде.
0
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
28.11.2010, 14:26 8
Сейчас как раз работаю с Excelем.
Использую найденную в сети процедуру ЗаписатьТаблицуЗначенийНаЛист().
Там все ячейки записываются с апострофом. Если я буду записывать без него, удастся верно установить формат дат и сумм в формате дат и сумм?
0
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
29.11.2010, 10:15 9
Смотря как записывать. Если в конкретную ячейку с уже заданным типом - то скорее да, чем нет. И если в конкретную ячейку записываете данные определенного типа ( например "дата"), то тоже, скорее да, чем нет. А вот если как я - заполняете табличный документ по макету, макет - сохраняете в формате xls и потом его открываете - то не даю никаких гарантий).
0
Koo
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 38
29.11.2010, 18:34 10
перед загрузкой у всего листа установить формат ячеек текст
Не прокатит??
0
tomot
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
30.11.2010, 07:10 11
Впринципе можно, опять же где гарантия, что значения преобразуются везде верно? Т.е. "0000012" при преобразовании не получится "12", но строкой?
0
30.11.2010, 07:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 07:10

8.0 Управление торговлей и Exel
Здравствуйте, пока плохо разбираюсь в 1С, только пользование.) Но на работе дали задание занести...

Загрузка номенклатуры из Exel в 1С 8
Здравствуйте! Подскажите, пожалуйста! Загружаю из Excel данные, хочу обратиться к именованной...

Вопрос по занесению данных из Exel в форму документа
Доброго времени суток! Собственно вопрос такой: есть форма документа (УТ) ЗаказПользователя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru