7.7 Выгрузка в Excel из ЗиК

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

  1. TopicStarter Overlay
    Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Проблема в следующем: пытабсь написать обработку для выгрузки табличной части документа ВыплатаЗаработнойПлаты в Excel. В результате выполнения процедуры Сформировать() книга все же открывается, но данные, которые предварительно выгружаются в виртуальную таблицу, не попадают в книгу. Похожую процедуру втавлял в модуль самого документа и там она работала (различие только втом, что в последнем случае выгружалась непосредственно табличная часть документ, а в данной обработке табличные части нескольих документов предварительно выгружаются в одну общую виртульную таблицуа).Вот процедура:

    Код:
    Процедура Сформировать()
    
    ТСотрудников 	 = СоздатьОбъект("ТаблицаЗначений");
    ВременнаяТаблица = СоздатьОбъект("ТаблицаЗначений");
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
    Ведомость.ВыгрузитьТабличнуюЧасть(ВременнаяТаблица);
    Если ТСотрудников.КоличествоКолонок() = 0 тогда                   
    ВременнаяТаблица.Выгрузить(ТСотрудников);
    Иначе
    глПереписатьИзТаблицыВТаблицу(ВременнаяТаблица, ТСотрудников);
    КонецЕсли;
    КонецЦикла;
    
    
    
    
    Excel=СоздатьОбъект("Excel.Application");
    NewExcel=Excel.Workbooks.Open("c:\реестр.xls");
    NewList=NewExcel.Worksheets("Зачисления");
    
    СписокСтолбцов=СоздатьОбъект("СписокЗначений");
    СписокСтолбцов.ДобавитьЗначение("Номер");
    СписокСтолбцов.ДобавитьЗначение("Сумма");
    СписокСтолбцов.ДобавитьЗначение("Сотрудник");
    
    
    
    ЧислоСтрок=ТСотрудников.КоличествоСтрок(); 
    ЧислоВыгруженныхСтрок=Строка(4+ЧислоСтрок);
    АдресСтроки="R"+ЧислоВыгруженныхСтрок;
    
    NewRows=NewList.Range("R5",АдресСтроки).EntireRow.Insert;
    
    НомерСтроки="R6"; 
    
    
    ТСотрудников.ВыбратьСтроки();
    Пока ТСотрудников.ПолучитьСтроку()=1 Цикл
    Сотрудник=ТСотрудников.Сотрудник.Наименование;
    Сумма=ТСотрудников.Сумма;
    
    Для Ст=1 По СписокСтолбцов.РазмерСписка() Цикл 
    Ячейка=NewList.Cells(НомерСтроки+4,Ст);
    Если Ст=2 Тогда
    Ячейка.Value=Сумма;
    ИначеЕсли Ст=3 Тогда
    Ячейка.Value=Строка(Сотрудник);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    
    Well=NewList.Range("R4").EntireRow.Delete;
    
    Excel.Visible=1;
    Excel=0;
    
    
    КонецПроцедуры;
    
    Что не так?
Похожие темы
  1. xotabich
    Ответов:
    3
    Просмотров:
    675
  2. xotabich
    Ответов:
    11
    Просмотров:
    1.419
  3. H0mRk
    Ответов:
    7
    Просмотров:
    5.719
Загрузка...

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