Имя: Пароль:
1C
 
Сохранить отчет в Эксель-книгу с данными по разным листам
0 Maniac
 
02.06.17
17:24
Хм... ниразу не сталкивался.

Как это сделать? Разделители не помогают.

1С умеет как то делить таблицу на листы?
1 Tatitutu
 
02.06.17
18:27
(0) тебе таблицу разделить
или показать как листы создавать?
2 Maniac
 
02.06.17
18:30
Программно эксель не хочу... но видимо по другому никак.

Есть одна таблица отчета с кучей таблиц. вставлен разделитель.
Сохраняет одним листом.

Хочу чтобы каждая была отдельным листом, а файл один.
3 Maniac
 
02.06.17
18:32
Вот видюха  того что хочу разделить на листы.

https://www.youtube.com/channel/UCTukH6iP4DSW0LtdKBRfUlw

Если вариантов нет кроме программного, буду чота думать. Так как не хотел эксель использовать, да к тому же вдруг офиса нет у людей и тп и тд.

Ладно.. пятница...
4 Tatitutu
 
02.06.17
18:34
(2) ты проще сделай
сохраняй каждую часть таблицы в отдельный файл EXCEL
....
и потом их объедини в один файл

типа вот так

ДокЭксель = Новый COMОбъект("Excel.Application");
    ДокЭксель.DisplayAlerts=0;
    ОбщаяКнига      =    ДокЭксель.WorkBooks.Open(ИмяОсновногоФайла);
    ЛистСДанными     = ОбщаяКнига.Sheets(1);
    ЛистСДанными.Select();
    ЛистСДанными.Name ="detailed info";
    
    Сч=1;
    Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл
        Книга            = ДокЭксель.WorkBooks.Open(ПутьКФайлуXLS.Значение);
        ЛистСДанными     = Книга.Sheets(1);
        ЛистСДанными.Select();
        ИмяЛиста=СтрЗаменить(Книга.Name,СокрЛП(ПутьДляСохранения),"");
        ИмяЛиста=СтрЗаменить(ИмяЛиста,".xls","");
        ЛистСДанными.Name =ИмяЛиста;
        ЛистСДанными.Copy(ОбщаяКнига.Sheets(Сч));
        Сч=Сч+1;
        Книга.close();
    КонецЦикла;     
    
    ДокЭксель.ActiveWindow.TabRatio = 0.5;
    ЛистСДанными     = ОбщаяКнига.Sheets(1);
    ЛистСДанными.Select();
    ОбщаяКнига.Save();        
    ОбщаяКнига.close();
    ДокЭксель.Quit();
    
    ДокЭксель = Неопределено;    
    Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл        
        УдалитьФайлы(СокрЛП(ПутьКФайлуXLS.Значение));             
    КонецЦикла;
    
    //КомандаСистемы(СокрЛП(ПутьДляСохранения)+"\royalti.xls");
    ДокЭксель = Новый COMОбъект("Excel.Application");
    ДокЭксель.WorkBooks.Open(ИмяОсновногоФайла);
    ДокЭксель.Visible = Истина;
5 Maniac
 
02.06.17
18:37
(4) ком не катит. Требует наличия экселя. Не будет работать на серверных базах, линуксе и так далее.

Ладно я понял что никак. или одной или отдельными файлами не проблема.

По листам значит буду искать другое решение или делать компоненту.
6 МихаилМ
 
02.06.17
21:04
современные xlsx это - xml

так что  из нескольких xml - создать один справится и 1с
без вк.
7 Maniac
 
02.06.17
21:12
Это очень далеко от реальности. И будет еще очень долгое время.
8 Maniac
 
02.06.17
21:30
Xml это фоомат обмена между программами не не людьми. Под конкретную структуру с обуих сторон под эту структуру программа должна понимать что там.
Это невозможно в современных реалиях обменом информации между совершенно разными контрагентами. А главное совершенно разными программами и процессами в этих кон рагентов.


И даже в близком будущем не предвидется никакого приведения всех программ и клмпаний единый вид
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший