Регистрация Правила Главная форума Поиск |
0
- 17.01.2013 - 13:21
|
Сохраняю таблицу отчета (Файл-Сохранить) в Excel 2010. Есть колонка с датами в формате "#ДДДММГГГГ", положение "центр". Как нужно в 1С отформатировать дату при выводе в таблицу, чтобы в Excel в этой ячейке сразу установился бы формат "Дата"? Сейчас устанавливается формат "Общий".
| |
1
- 17.01.2013 - 14:11
|
"20120105" - общий формат "05.01.2012" - дата | |
2
- 17.01.2013 - 14:58
| пересохрани прогой - 1C Предприятие 8.2 - Работа с файлами | |
3
- 17.01.2013 - 15:32
| Попробуй выравнять значения не по центру, а право (лучше сразу в конфигураторе). При сохранении эксель должен врубится в нужный формат. | |
4
- 17.01.2013 - 16:19
| а вывести в ячейку =Дата(год;месяц;день) религия не позволяет? | |
5
- 18.01.2013 - 17:04
|
1) Это понятно и так. Естественно выводится "05.01.2012". Написал же про формат "#ДДДММГГГГ" 2) Речь о 1С 7.7 3) Если выравнивание в право, то Excel воспринимает как число. 4) Пробовал. В отчете выводится как "05.01.12". В Excel все равно сохраняется в формате "Общий" | |
6
- 18.01.2013 - 17:43
|
тогда так попробуй ДатаФормат = "ДД.ММ.ГГГГ"; Лист2.Cells(НомерСтроки,НомерКолонки).NumberFormat = ДатаФормат; даем экселю по башке - впендюриваем формат даты | |
7
- 18.01.2013 - 19:10
| Влево | |
8
- 21.01.2013 - 16:50
|
6) эээ ... неееет, не пойдет. Понятно, что при программной выгрузке в эксель, можно чего хочешь наформатировать. Мне же надо, чтобы в 1С:Предприятие нажал "Сохранить как" и все ... 7) Выравнивание влево, или по центру, дает одинаковый результат. В Excel все равно сохраняется в формате "Общий". | |
9
- 21.01.2013 - 17:16
| уважаемый, с такими запролсами валите ка вы .... к разработчикам 1це. | |
10
- 21.01.2013 - 17:40
| 2(0) У тебя Ексель неправильный. 97-ой отлично понимал строку типа "01.11.2012" как ДАТУ. | |
11
- 22.01.2013 - 09:31
|
Кстати да, стоит, однако-ж, поставить на MSO2010 SP1... Борюсь с привычкой "Сохранить как - xls" всеми средствами, уж больно много от нее проблем. Если не шашечки, а ехать, то можно решить задачу и внутри Excel, формулами или на VBA: =ДАТА(ЛЕВСИМВ(RC[-1];4);ПСТР(RC[-1];5;2);ПРАВСИМВ(RC[-1];2)) Если эту строку ввести в правила автозамены PuntoSwitcher на набор пары буковок, то получить нужные даты можно за несколько секунд - вставил столбец, нажал пару буковок и пробел, двойной клик по маркеру автозаполнения - вуаля. А на написание/чтение/поиски решения в рамках всего этого поста - у уважаемой публики уже ушло, имхо, 3 человеко-часа, что нанесло ущерб российскому ВВП по меньшей мере в 1 тыс. руб. | |
12
- 22.01.2013 - 09:51
|
решение давно найдено грамотными человеками. причем работает гораздо быстрее всех предложенных здесь | |
13
- 22.01.2013 - 11:57
| Моксель? Так и он иногда пасует перед экзотическими форматами, форматированием пробелами и нестандартными разделителями триад/дробной доли. | |
14
- 22.01.2013 - 12:10
| что такое моксель? | |
15
- 22.01.2013 - 14:49
| йоксель-моксель, что-же еще? | |
16
- 22.01.2013 - 16:05
| ну и нафиг оно нужно? | |
17
- 22.01.2013 - 16:12
| Helen1986 - сохранять за 5 секунд в XLS то, что штатным методом Сохранить как не сохранится никогда. | |
18
- 22.01.2013 - 16:21
| 12)Что за решение то, от грамотных людей? Озвучьте пожалуйста? | |
19
- 22.01.2013 - 16:29
|
На счет Йокселя, пробовал как то, по минимуму, только для сохранения больших отчетов. А кто в курсе, Йоксель проблему указанную здесь, решает? | |
20
- 23.01.2013 - 09:27
|
(18) у нас это работает в первую очередь в индивидуальных прайсах для покупателей смысл простой - из обработки пишем в ДБВ файлы (встроенная возможность), ДБФ создается программно, полям записи присваивается нужный тип. Записи сначала записываются в ТЗ и там как надо сортируются (по цене, срокам годности, срокам поставки, изготовителю и ваще как моя левая задняя нога пожелает) Открывается эксель через ОЛЕ выдается команда на создание нужной страницы в экселе (прайсы у нас многостраничные) импортируется внеший ДБФ файл на страницу. Так как эксель признает ДБФ файлы за свои - он прекрасно разбирается в типах ячеек. Импортируется 60 тыс строк за 1-2 секунды Далее у нас раскрашиваются колонки, устанавливается их защита, вносятся формулы для расчетов и т.д. Обработка ведется не отдельных ячеек, а регионов. для создания новой страницы цикл повторяется затем файл экселя записывается все программируется очень легко - есть программка, которая записанные в экселе тексты макросов переделывает в куски кода 1це. Знай себе клепай макросы в экселе, кидай через буфер в программку, и опять таки через буфер в 1це. Думать особо не надА | |
21
- 23.01.2013 - 09:34
|
при создании файлов экселя (именно прайсов) мы делаем скрытые колонки, в которые заносим идентификатор товара в 1це, контрольные суммы и т.д. покупатель просто проставляет в прайсе количество при этом у него на экране отображается автоматом сумма по группе товаров вес/объем по группе товаров на отдельном листе - суммы по группам товаров вес/объем по группам товаров итоговая сумма итоговый вес после простановки заказанного количества файл отсылается взад. И оператор на основе этого файла формирует расходные накладные с учетом веса, габаритов и т.д. Есть еще заказ через сайты - там немного по другому но заказом через эксельные файлы пользуется куча клиентов - по моему, многие предпочитают именно такую оторванную от инета заказную систему там же реализована защита от подделок | |
22
- 23.01.2013 - 13:29
|
Helen1986 - одобряю именно такой подход. Где надо много считать - лучше и проще этио сделает Excel... Правда сейчас вОроны налетят, скажут что мы не правы... И тем не менее есть пара ремарок, вдруг кому понадобится: 1) Транслировать код VBA в 1C-код, по моему извращение. Буфер, если это не терминальный сеанс - можно работать с ним и программно. Я бы перенес (у мя тоже есть подобная система) центр кода в Excel. 2) Excel 2007 некорректно работает с DBF при доступе через ODBC/ADO/DAO именно с датами, не делает экспорт в DBF. Начиная с этой версии поставил крест на использование с Excel файлов DBF. Лучше работать с TXT - парсинг мгновенный, все методы штатные, типизация не утиная - а та, которая нужна... | |
23
- 23.01.2013 - 15:11
|
(22) это не мой подход - это я сперла готовую идею и мне понравилось рисовать для заполнения сложных таблиц экселя с формулами и на нескольких листах транслируется код макроса - точнее, команд, которые надо подать экселю для выполнения. Чтобы мосх не парить | |
24
- 23.01.2013 - 17:25
|
Прекрасное решение. Только не сабжа, правда. Заявлено: "Сохранение таблицы в Excel" Предложенно: "Создание таблицы Excel-я" Что полезно, конечно :D | |
25
- 23.01.2013 - 20:13
|
Helen1986 - ага, значит все таки наоборот - из кода 1С в Excel передаются команды VBA (т.е. через COM или идет доступ к объектной модели VBProject). Все рано изврат. Если жутко не хочется в XLS файлах держать макросы - держите их в XLA/XLAM - библиотеках. И клиентов антивирус будет спать спокойно, и макросы можно будет редактировать в VBA IDE, что не в пример удобнее COM-обращений. Имхо. VZ - Да... Создание предложено Helen1986, я же предложил либо сохранять быстро тем что умеет не коверкать формат. У создания есть минус - тогда если это терминальный сервер - нужен Excel на сервере, а это лицензионный вопрос, и в случае сложных или долгих макросов - нагрузка на сервак, вплоть до его завешивания. | |
26
- 24.01.2013 - 09:43
| (25) фигня твои предложения | |
27
- 24.01.2013 - 13:03
|
Helen1986 Спасибо за подробное описание. Метод и сфера его применения весьма интересные. А что за программка, которая макросы экселя в код 1С переводит? Не слышал про такую. | |
28
- 24.01.2013 - 14:36
| FriendVBA называется | |
29
- 22.02.2017 - 07:50
|
Контроль - "Авто" Положение - "Центр" - "Центр". Проверено - работает! | |
| Интернет-форум Краснодарского края и Краснодара |