Имя: Пароль:
1C
1C 7.7
v7: Сохранение в Excel 97-2003
, , ,
0 pofigos
 
05.12.13
14:20
Доброго дня всем.

Всем известна проблема сохранения из 1С в формат 95 Excel.

Отсюда вопрос, если ли уже что-то готовое, что позволяет сохранить в 97-2003?
Если нет, есть идея сохранения через обработчик события сохранения с выбором стандартного интерфейса Excel. Стоит ли заморачиваться?

Для чего нужо? сохраненные данные (отчеты, прайсы и т.д.) пересылаются агентам на планшеты. Андроид как-то не может с кодировкой справиться.
1 ADirks
 
05.12.13
14:24
Йоксель
2 пипец
 
05.12.13
14:31
(1)  фингня ;)) все переписывать ;))
(0) сохранять в mxl
поставить бесплатную приблуду http://v8.1c.ru/metod/fileworkshopdownload.htm
от 1С и пользоваться пересохранением
3 dk
 
05.12.13
14:31
написать в глобальнике 1 процедуру с сохранением таблицы в файл XLS (97-2003) уже проблема?
4 пипец
 
05.12.13
14:32
(2) ++ эта "1c предприятие 8.2 - работа с файлами" фингня сохраняет хоть в более поздний фориат екселя - хоть в кучу другого ...
5 pofigos
 
05.12.13
14:33
(1)Вариант, но переписывать много.
(2)Спасибо, рассмотрю.
(3) Написать не проблема, поэтому и уточнил, есть ли уже что-то готовое, чтоб колесо не изобретать.
6 oslokot
 
05.12.13
14:40
(0) вот готовая поделка http://infostart.ru/public/15605/
Нужен формекс и йоксель
+ размещаешь красивую иконку в главном меню 1с.

Профит.
7 pofigos
 
05.12.13
14:43
(6) Страйк )))  
Спасибо. То что нужно. Пошаманю немного и будет гуд все.
8 varelchik
 
05.12.13
14:56
(8) стучись в личку.
кину обрамотину для сохранения в xls.
9 ADirks
 
05.12.13
14:59
переписывать, переписывать ...

Процедура СохранитьВExcel() Экспорт
    оСервис = СоздатьОбъект("Сервис");
    Т = 0;
    оСервис.АктивныйКонтекст(Т);
    
    Если ТипЗначенияСтр(Т) <> "Таблица" Тогда
        Предупреждение("Не могу найти таблицу для сохранения", 30);
        Возврат;
    КонецЕсли;
    
    ИмяФайла = ""; ИмяКаталога = "";
    Если ФС.ВыбратьФайл(1, ИмяФайла, ИмяКаталога, "Сохранить как ...", "(*.xls)|*.xls", "xls") <> 1 Тогда
        Возврат;
    КонецЕсли;
    ИмяФайла = СформироватьПутьКФайлу(ИмяКаталога, ИмяФайла);
    
    Попытка
        Йоксель = СоздатьОбъект("ТабличныйДокумент");
    Исключение
        Если ЗагрузитьВнешнююКомпоненту("SpreadSheet.dll") <> 1 Тогда
            Сообщить("Не загрузился Йоксель
            |"+ОписаниеОшибки(), "!");
        КонецЕсли;
        Йоксель = СоздатьОбъект("ТабличныйДокумент");
    КонецПопытки;
    Йоксель.ЗагрузитьИзТаблицы(Т);
    Йоксель.Записать(ИмяФайла, 1);
    Йоксель = "";
КонецПроцедуры


Процедура СобытиеГМ_ПриНажатииКнопкиКлавиатуры(Конт, КодКлавиши, Alt, Shift, Ctrl, Символ, ФСО) Экспорт
    Модификаторы = Alt*4 + Shift*2 + Ctrl;
    
    ИначеЕсли КодКлавиши = КодСимв("E") Тогда //Латинская E
        Если Модификаторы = 4 Тогда
            ФСО = 0;
            оМетоды.СохранитьВExcel();
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Если не нравится по Alt-E, можно кнопку в панель налепить.
10 ADirks
 
05.12.13
17:07
Кстати, рекомендую ещё взглянуть на это http://infostart.ru/public/18989/

Йоксель - сила!
11 pofigos
 
06.12.13
10:45
(10) Спасибо. Вчера уже выпилил как необходимо было. Но информация никогда не помешает.