|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
После формирования отчета его необходимо сохранить в формате xls. Проблема возникает при открытии этого файла опен офисом. Во всех ячейках с типом значения "дата" добавляется апостроф ' . Это можно, конечно, решается с помощью макроса, но хотелось бы все это исправить средствами 1С. Есть какие-либо предложения? З.Ы. 1С77 (7.70.027) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2008, 16:00 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
Совсем забыл. OpenOffice версии 2.4.1. Проблема имеет место и в более ранних версиях ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2008, 16:05 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
Во - а мне бухи жаловались что им контрагенты свои отчёты в таком виде присылают - дата с апострофом..всё не мог понять как это они делают!! >>но хотелось бы все это исправить средствами 1С. Есть какие-либо предложения? выводить как строку = формат(дата, "dd.MM.yy"). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2008, 16:37 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
И это делал. все варианты формата перепробовал. Также пытался создавать документ OpenOffice.Calc и уже в него прописывать дату, причем использовал типы значения ячейки text и value. Результат один и тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2008, 16:47 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
Вот текст обработки: Процедура Сформировать() scr = СоздатьОбъект("MSScriptControl.ScriptControl"); scr.language = "javascript"; scr.eval("Массив=new Array()"); Массив = scr.eval("Массив"); scr.AddCode("function SetItem(ind,val){Массив[ind]=val}"); ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager"); scr.AddObject("ServiceManager",ServiceManager); Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); //создаем новый документ OO.Calc Document = Desktop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, Массив); Листы = Document.getSheets(); Лист = Листы.getByIndex(0); Лист.getCellByPosition(1,1).string=текущаядата(); dispatcher = ServiceManager.CreateInstance("com.sun.star.frame.DispatchHelper"); scr.eval("mas1=new Array()"); mas1 = scr.eval("mas1"); SaveParam = scr.Eval("ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); //записываем параметры для поиска и замены в массив SaveParam.Name = "SearchItem.StyleFamily"; SaveParam.Value = 2; mas1.push(saveparam); SaveParam.Name = "SearchItem.CellType"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.RowDirection"; SaveParam.Value = 1; mas1.push(saveparam); SaveParam.Name = "SearchItem.AllTables"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.Backward"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.Pattern"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.Content"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.AsianOptions"; SaveParam.Value = 0; mas1.push(saveparam); SaveParam.Name = "SearchItem.AlgorithmType"; SaveParam.Value = 1; mas1.push(saveparam); SaveParam.Name = "SearchItem.SearchFlags"; SaveParam.Value = 65536; mas1.push(saveparam); SaveParam.Name = "SearchItem.SearchString"; SaveParam.Value = ".*"; mas1.push(saveparam); SaveParam.Name = "SearchItem.ReplaceString"; SaveParam.Value = "&"; mas1.push(saveparam); SaveParam.Name = "SearchItem.Locale"; SaveParam.Value = 255; mas1.push(saveparam); SaveParam.Name = "SearchItem.ChangedChars"; SaveParam.Value = 2; mas1.push(saveparam); SaveParam.Name = "SearchItem.DeletedChars"; SaveParam.Value = 2; mas1.push(saveparam); SaveParam.Name = "SearchItem.InsertedChars"; SaveParam.Value = 2; mas1.push(saveparam); SaveParam.Name = "SearchItem.TransliterateFlags"; SaveParam.Value = 1280; mas1.push(saveparam); SaveParam.Name = "SearchItem.Command"; SaveParam.Value = 3; mas1.push(saveparam); //запускаем НайтиЗаменить dispatcher.executeDispatch(document.CurrentController.Frame, ".uno:ExecuteSearch", "", 0, mas1); КонецПроцедуры Может тут что-то не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2008, 16:54 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
апостроф возникает, когда в ячейку типа дата ты прописываешь строку. (чтоб отобразить что это несоотв. тип он и рисует апостроф) что вот тут например происходит: Лист.getCellByPosition(1,1).string=текущаядата(); т.е. ты либо не в стринг пиши, либо тип ячейки смени на строковый. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2008, 12:20 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
Пробовал писать строка(ТекущаяДата()). Не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2008, 14:16 |
|
Открытие сохраненных таблиц
|
|||
---|---|---|---|
#18+
Варианты: .Formula = "2004.07.31" .Formula = "=DATE(2004;07;31)" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2008, 16:57 |
|
|
start [/forum/topic.php?fid=28&fpage=162&tid=1524541]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 314ms |
total: | 456ms |
0 / 0 |