7.7 Сохранение отчета в Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Natalia_k, 26 мар 2010.

  1. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    Всем привет!

    Помогите, пожалуйста.
    Я во внешней обработке создаю вывод на кнопке печать некоторого отчета - договора. Если этот договор распечатать сразу, то в бумажном варианте всё отображается как есть.
    Если же пытаюсь сохранить в Excel, то при открытии электронного документа получается, что текст попадает в скрытые ячейки и чтобы отобразилось всё, как нужно их нужно раздвигать, чтобы увидеть текст договора. В случае одного-десяти договоров это сделать можно вручную, а как быть с тысячами договоров?

    Помогите, пожалуйста!

    на картинке то, как договор прописывается в 1С, а Таблица.xls показывает выгрузку этого договора.

    Вложения:

  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Странно, у меня все корректно отображается...
    Код:
    Процедура Сформировать()
    oTab = СоздатьОбъект("Таблица");
    oTab.ИсходнаяТаблица("Таблица");
    oTab.ВывестиСекцию("Секция_1");
    oTab.ТолькоЧтение(1);
    oTab.Показать();
    oTab.Записать("c:\133.xls","XLS");
    КонецПроцедуры
    
    А ты можешь скинуть печатную форму саму? в ert
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    А если просто с форматом ячеек в экселе пработать

    вот например с такими настройками вот так получается

    Посмотреть вложение 3700

    Вложения:

    • excel.JPG
      excel.JPG
      Размер файла:
      127,7 КБ
      Просмотров:
      148
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Для этого придется подключаться к EXCEL - луче уж тогда сразу напрямую писать в него....
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    LД анет просто зайтитуда такие настройки поставить и все не придется каждую колонк раздвигать. РУчками сделать. Понимаю совдеповски тупо но как вариант
  6. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26

    Вот сама печатная форма

    А еще, подскажи, пожалуйста, я вот пытаюсь добавить для отображения на экране одну колонку "НЕРЕЗИДЕНТ"

    ИдентификаторФормы = "Справочник_ПенсионныеСчета_ФормаСписка_дляОтбора";
    // Список колонок видимостью которых будем управлять
    ПолныйСписокКолонок = СоздатьОбъект("СписокЗначений");
    ПолныйСписокКолонок.ДобавитьЗначение("Код", "Код");
    ПолныйСписокКолонок.ДобавитьЗначение("Участник", "Участник");
    ПолныйСписокКолонок.ДобавитьЗначение("Наименование", "Наименование");
    ПолныйСписокКолонок.ДобавитьЗначение("Счет", "Счет");
    ПолныйСписокКолонок.ДобавитьЗначение("Нерезидент", "не является резидентом");


    В результате в списке колонок эта колонка отображается, ставишь галочку, но на экране появляется колонка, стоящая перед мне необходимой.
    То есть ставлю галочку Нерезидент, отображается колонка на экране Счет.

    В чем причина?

    Вложения:

  7. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
  8. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26

    Что этот конвертор делает, я его запустила, куда он установился? Как с ним работать?
  9. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Теперь можеш через MS Excele открыть любую сохраненную таблицу
    1с формата .mxl
  10. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26

    Куда он устанавливается? Призапуске он мне написал обновление системных файлов
  11. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Это просто обновление системной информации.
    Устанавливается он как дополнительный фильтр в MS Excele
  12. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26

    То есть он в 1С мне ничего не установит, да?
  13. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
  14. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26

    И всё равно текст в скрытых ячейках не отображается целиком
  15. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    потомучто размер строки не может превышать 255 символов :)
    предлагаю cделать через шаблон Word
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Там скорее всего таблицы будут (зачастую). Так что в EXCEL челез OLE......
  17. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    А как сделать шаблон Word?
    Я в середине темы скинула вам внешнюю печатную форму, ответив на вашу просьбу

    Помогите, пожалуйста!
  18. TopicStarter Overlay
    Natalia_k
    Offline

    Natalia_k Опытный в 1С

    Регистрация:
    8 сен 2009
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    А как тогда записать данные в шаблон Excel , где строчки уже раздвинуты как нужно?

    просто в случае Таб.Записать("c:\133.xls","XLS");
    просто в этот файл записывается информация, и если шаблон назывется также, то он перезаписывается и скрытые строчки не отображаются
  19. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Код:
    Procedure ФормированиеДокументаWord(Док,ИмяНачКаталога)	
    ДАТА_ОТВЕТА_ПОЛУЧ = Док.ДатаОтветаВиновного;
    стрПутьШаблон=КаталогИБ()+Константа.ФайлШаблонаСверки; 
    Ворд=СоздатьОбъект("Word.Application");    
    Ворд.Caption="СверкаТест";
    Ворд.Visible=1;
    ДокВорд=Ворд.documents;
    ТекДокВорд=ДокВорд.Open(СокрЛП(стрПутьШаблон)); //путь к шаблону  
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ЮР_АДРЕС_ПОЛУЧАТЕЛЯ]",0,0,,,,,,,Строка(ВыбВиновник.АдресЮридический),1); //Непонятно что с текстом
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ПОЛН_ПОЛУЧАТЕЛЬ]",0,0,,,,,,,Строка(ВыбВиновник.ПолнНаименование),1);  
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ГЕН_ДИР]",0,0,,,,,,,TrimAll(ВыбВиновник.ГенДир),1); 
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ГЕН_ДИР]",0,0,,,,,,,TrimAll(ВыбВиновник.ГенДир),1); 
    //	Содержание.Find.Execute("[ГЕН_ДИР_ИМЯ]",0,0,,,,,,,TrimAll(Mid (ВыбВиновник.ГенДир,Find(ВыбВиновник.ГенДир," ")+1)),1); //доделать
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ДАТА_ОТВЕТА_ПОЛУЧ]",0,0,,,,,,,Строка(ДАТА_ОТВЕТА_ПОЛУЧ),1);
    Содержание=ТекДокВорд.Content; 
    Содержание.Find.Execute("[ТЕК_ДАТА]",0,0,,,,,,,Строка(Format(ТекущаяДата(), "D(0)DDMMMMYYYY")),1);   
    FndCol = ТекДокВорд.Sections(1).Footers(1).Range().Find;
    FndCol.Execute("[ФИО_ИСПОЛН]",0,0,,,,,,,Строка(глПользователь),2);   
    FndCol = ТекДокВорд.Sections(1).Footers(1).Range().Find;
    FndCol.Execute("[ТЕЛ_ИСПОЛН]",0,0,,,,,,,Строка(глПользователь.Телефон),2);   
    FndCol = ТекДокВорд.Sections(1).Footers(1).Range().Find;
    FndCol.Execute("[МЕЙЛ_ИСПОЛН]",0,0,,,,,,,Строка(глПользователь.Email),2); 
    
    Попытка
    ТекДокВорд.SaveAs(ИмяНачКаталога+"\Сверка_"+ВыбВиновник+".doc"); 
    Исключение  
    Сообщить(ОписаниеОшибки());
    КонецПопытки;    
    Сообщить("Записан -> "+ИмяНачКаталога+"\Сверка_"+ВыбВиновник+".doc");
    EndProcedure
    
    что-то такое.. + создаешь шаблон, кладешь в нужную папку, из которой он будет дергаться.. Ну и записываешь куда уже тебе надо

    Вложения:

  20. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В случае с Excel вы присваиваете любой ячейке любое значение/текст (хоть письмо ленину пишите)
    и манипулируете свойствами ячейки (шрифт, объединить, переносить по словам, рамка и т.д.)

Поделиться этой страницей