Имя: Пароль:
1C
 
Программно создать экселевский файл и выгрузить в него таблицу
0 jawerko
 
07.08.10
11:42
Пожалуйста, подскажите, где можно посмотреть примеры...
Заранее спасибо!
1 maxar
 
07.08.10
11:44
на инфостарте полно всякого добра...
2 Aleksey_3
 
07.08.10
11:45
Учу пользоваться поиском. Дорого
3 dk
 
07.08.10
11:47
вывести в таблицу и сохранить в формате ексель
4 AeDen
 
07.08.10
11:58
Перем Эксель, Книга, Лист;
Перем ТабСпр;
Перем Листы;
Перем СпСпрВыгр, СпСпрРегл;
Перем СпНеРегСчетов;
Перем ТабНеРег;
Перем Таб10, Таб43, Таб60, Таб62, Таб76;
//*********************************************************
//
Процедура ВыборФайла(ИмяФайла, Фильтр="txt")
   
   Каталог = "";
   Стр = "Файл настройки (*." + Фильтр + ")|*." + Фильтр + "";

   Если ФС.ВыбратьФайл(0, ИмяФайла, Каталог, "Выберите файл", Стр, , ) = 1 Тогда
       ИмяФайла = Каталог + ИмяФайла;
   КонецЕсли;
   
КонецПроцедуры
//*********************************************************
//
Процедура ПриНачалеВыбораЗначения( Элемент, Флаг )
   
   Если Элемент = "ФайлДляЗагрузки" Тогда
       Флаг = 0;
       ВыборФайла(ФайлДляЗагрузки, "xls");
   КонецЕсли;
   
КонецПроцедуры
//******************************************************************************
// ЗапуститьПриложениеЭксель(Знач Путь)
//
// Параметры:
//  
//
// Описание:
//    Процедура
//
Процедура ЗапуститьПриложениеЭксель(Знач Путь,ТекЛист="")
   Если ФС.СуществуетФайл(Путь)=0 Тогда
       Предупреждение("Неверно задан путь или не существует файл по пути " + СокрЛП(Путь));
       Возврат;
   КонецЕсли;
   
   Попытка
       // запускаем Эксель-Server
       Эксель = СоздатьОбъект("Excel.Application");
   Исключение
       Сообщить(ОписаниеОшибки(),"!");
   КонецПопытки;
   Попытка
       // открываем файл
       Путь=СокрЛП(Путь);
       Книга=Эксель.Application.Workbooks.Open(Путь);
       Если ТекЛист="" Тогда
           Книга.Worksheets(1).Activate();
       Иначе
           Книга.Worksheets(ТекЛист).Activate();
       КонецЕсли;
   Исключение
       Сообщить(ОписаниеОшибки(),"!");
   КонецПопытки;
   Эксель.Visible=0;
   Эксель.DisplayAlerts = 0;
   
КонецПроцедуры //ЗапуститьПриложениеЭксель(Знач Путь)
//*********************************************************
Процедура СоздатьЗакладки()
   Для СчетчикЦикла = -Книга.Worksheets.Count По -2 Цикл
       Книга.Worksheets(-СчетчикЦикла).Delete();
   КонецЦикла;
   Книга.Worksheets(1).Name = "Лист1";
   
   Для СчетчикЦикла = 1 По Листы.РазмерСписка() Цикл
       Книга.Worksheets.Add();
       Книга.Worksheets(1).Name = Листы.ПолучитьЗначение(СчетчикЦикла);
   КонецЦикла;
   Книга.Worksheets(Книга.Worksheets.Count).Delete();
КонецПроцедуры
//*********************************************************
//
Процедура ПриОткрытии()
   
   Если (ПустоеЗначение(НачДата)=1) Тогда
       НачДата = КонГода(ДобавитьМесяц(ТекущаяДата(), -12));
   КонецЕсли;

КонецПроцедуры

Функция ВернутьЗначениеРеквизита(ЗнРекв)
   Перем ВозврЗнач;
   Если ТипЗначенияСтр(ЗнРекв) = "Перечисление" Тогда
       ВозврЗнач = Строка(ЗнРекв);
   ИначеЕсли ТипЗначенияСтр(ЗнРекв) = "Справочник" Тогда
       Если СпСпрРегл.НайтиЗначение(ЗнРекв.Вид()) = 0 Тогда
           Если ЗнРекв.Вид() = "Подразделения" Тогда
               Таб = СоздатьОбъект("Таблица");
               Таб.ИсходнаяТаблица(ЗнРекв.Вид());
               Таб.Вывести();
               Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл
                   Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда
                       ВозврЗнач = "П" + СокрЛП(Таб.Область(СчетчикЦикла,2).Текст);
                       Если Прав(ВозврЗнач, 1) = "." Тогда
                           ВозврЗнач = Лев(ВозврЗнач, СтрДлина(ВозврЗнач) - 1);
                       КонецЕсли;
                       Прервать;
                   КонецЕсли;
               КонецЦикла;
               //ВозврЗнач = "П" + ЗнРекв.IDD;
           Иначе
               
               ВозврЗнач = ЗнРекв.IDD;
           КонецЕсли;
       Иначе
           Таб = СоздатьОбъект("Таблица");
           Таб.ИсходнаяТаблица(ЗнРекв.Вид());
           Таб.Вывести();
           Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл
               Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда
                   ВозврЗнач = СокрЛП(Таб.Область(СчетчикЦикла,2).Текст);
                   Если Прав(ВозврЗнач, 1) = "." Тогда
                       ВозврЗнач = Лев(ВозврЗнач, СтрДлина(ВозврЗнач) - 1);
                   КонецЕсли;
                   Прервать;
               КонецЕсли;
           КонецЦикла;
       КонецЕсли;
   ИначеЕсли ТипЗначенияСтр(ЗнРекв) = "Счет" Тогда
       Таб = СоздатьОбъект("Таблица");
       Таб.ИсходнаяТаблица("МэпСчета");
       Таб.Вывести();
       Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл
           Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда
               ВозврЗнач = СокрЛП(Таб.Область(СчетчикЦикла,2).Текст);
               Прервать;
           КонецЕсли;
       КонецЦикла;
   Иначе
       ВозврЗнач = ЗнРекв;    
   КонецЕсли;
   Возврат ВозврЗнач;
КонецФункции
//*******************************************
Процедура ВыгрузитьПеремещения()
   Док = СоздатьОбъект("Документ.ТребованиеНакладная");
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ПеремещениеТМЦ" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("ВидЗатрат");
   Таб.Вывести();
   НомСтр = 0;
   Док.ВыбратьДокументы(НачДата, КонДата);
   Пока Док.ПолучитьДокумент() = 1 Цикл
       Если Док.ПометкаУдаления() = 1 Тогда
           Продолжить;
       КонецЕсли;
       Если Док.Проведен() = 0 Тогда
           Продолжить;
       КонецЕсли;
       Если Док.ВидПеремещения = 1 Тогда
           Продолжить;
       КонецЕсли;
       НомСтр = НомСтр + 1;
       Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD;
       Подр = "";
       Для СчетчикЦикла = 1 По 3 Цикл
           Рекв = Док.ПолучитьАтрибут("Субконто" + СчетчикЦикла);
           Если ТипЗначенияСтр(Рекв) = "Справочник" Тогда
               Если Рекв.Вид() = "Подразделения" Тогда
                   Лист.Cells(НомСтр, 2).Value = "'" + ВернутьЗначениеРеквизита(Рекв);
                   Прервать;
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
       Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл
           Если лев(Док.СчетЗатрат, 2) = Таб.Область(СчетчикЦикла, 1).текст Тогда
               Лист.Cells(НомСтр, 3).Value = "'" + Таб.Область(СчетчикЦикла, 2).текст;
               Прервать;
           КонецЕсли;
       КонецЦикла;
       
   КонецЦикла;
       
КонецПроцедуры
//*******************************************
Процедура ВыгрузитьВыписки()
   Док = СоздатьОбъект("Документ.Выписка");
   ТабКонтр = СоздатьОбъект("ТаблицаЗначений");
   ТабКонтр.НоваяКолонка("ИДД");
   ТабКонтр.НоваяКолонка("ДДС");
   ТабКонтр.НоваяКолонка("Комментарий");
   ТабКонтр.НоваяКолонка("Контрагент");
   ТабКонтр.НоваяКолонка("Договор");
   ТабКонтр.НоваяКолонка("Поступление");
   ТабКонтр.НоваяКолонка("Списание");
   ТабКонтр.НоваяКолонка("ДатаДок");
   ТабКонтр.НоваяКолонка("НомерДок");
   ТабКонтр.НоваяКолонка("ВидОплаты");
   
   ТабПодотчет = СоздатьОбъект("ТаблицаЗначений");
   ТабПодотчет.НоваяКолонка("ИДД");
   ТабПодотчет.НоваяКолонка("ДДС");
   ТабПодотчет.НоваяКолонка("Комментарий");
   ТабПодотчет.НоваяКолонка("КоррСчет");
   ТабПодотчет.НоваяКолонка("Сотрудники");
   ТабПодотчет.НоваяКолонка("Субконто2");
   ТабПодотчет.НоваяКолонка("Субконто3");
   ТабПодотчет.НоваяКолонка("Поступление");
   ТабПодотчет.НоваяКолонка("Списание");
   
   ТабПроч = СоздатьОбъект("ТаблицаЗначений");
   ТабПроч.НоваяКолонка("ИДД");
   ТабПроч.НоваяКолонка("ДДС");
   ТабПроч.НоваяКолонка("Комментарий");
   ТабПроч.НоваяКолонка("КоррСчет");
   ТабПроч.НоваяКолонка("Субконто1");
   ТабПроч.НоваяКолонка("Субконто2");
   ТабПроч.НоваяКолонка("Субконто3");
   ТабПроч.НоваяКолонка("Поступление");
   ТабПроч.НоваяКолонка("Списание");
   
   Док.ВыбратьДокументы(НачДата, КонДата);
   Пока Док.ПолучитьДокумент() = 1 Цикл
       Если Док.ПометкаУдаления() = 1 Тогда
           Продолжить;
       КонецЕсли;
       Если Док.Проведен() = 0 Тогда
           Продолжить;
       КонецЕсли;
       док.ВыбратьСтроки();
       Пока док.ПолучитьСтроку() = 1 Цикл
           Если (Лев(Док.КоррСчет, 2) = "60")
               ИЛИ (Лев(Док.КоррСчет, 2) = "62")
               ИЛИ (Лев(Док.КоррСчет, 2) = "76") Тогда
                   ТабКонтр.НоваяСтрока();
                   ТабКонтр.ИДД = Док.IDD;
                   ТабКонтр.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения);
                   ТабКонтр.Комментарий = Док.НазначениеПлатежа;
                   ТабКонтр.Контрагент = ВернутьЗначениеРеквизита(Док.Субконто1);
                   ТабКонтр.Договор = ВернутьЗначениеРеквизита(Док.Субконто2);
                   ТабКонтр.Поступление = Док.Приход;
                   ТабКонтр.Списание = Док.Расход;
                   ТабКонтр.ДатаДок = Док.ДатаДокВходящий;
                   ТабКонтр.НомерДок = Док.НомерДокВходящий;
                   Если Док.Приход <> 0 Тогда
                       Если (Лев(Док.КоррСчет, 2) = "60") Тогда
                           ТабКонтр.ВидОплаты = "Возврат от поставщика";
                       Иначе
                           ТабКонтр.ВидОплаты = "Оплата от покупателя";
                       КонецЕсли;
                   ИначеЕсли Док.Расход <> 0 Тогда
                       Если (Лев(Док.КоррСчет, 2) = "60") Тогда
                           ТабКонтр.ВидОплаты = "Оплата поставщику";
                       Иначе
                           ТабКонтр.ВидОплаты = "Возврат покупателю";
                       КонецЕсли;
                   КонецЕсли;
           ИначеЕсли (Лев(Док.КоррСчет, 2) = "71") Тогда
               ТабПодотчет.НоваяСтрока();
               ТабПодотчет.ИДД = Док.IDD;
               ТабПодотчет.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения);
               ТабПодотчет.Комментарий = Док.НазначениеПлатежа;
               ТабПодотчет.КоррСчет = ВернутьЗначениеРеквизита(Док.КоррСчет);
               ТабПодотчет.Сотрудники = ВернутьЗначениеРеквизита(док.Субконто1);
               ТабПодотчет.Субконто2 = ВернутьЗначениеРеквизита(док.Субконто2);
               ТабПодотчет.Субконто3 = ВернутьЗначениеРеквизита(док.Субконто3);
               ТабПодотчет.Поступление = Док.Приход;
               ТабПодотчет.Списание = Док.Расход;
           Иначе
               ТабПроч.НоваяСтрока();
               ТабПроч.ИДД = Док.IDD;
               ТабПроч.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения);
               ТабПроч.Комментарий = Док.НазначениеПлатежа;
               ТабПроч.КоррСчет = ВернутьЗначениеРеквизита(Док.КоррСчет);
               ТабПроч.Субконто1 = ВернутьЗначениеРеквизита(док.Субконто1);
               ТабПроч.Субконто2 = ВернутьЗначениеРеквизита(док.Субконто2);
               ТабПроч.Субконто3 = ВернутьЗначениеРеквизита(док.Субконто3);
               ТабПроч.Поступление = Док.Приход;
               ТабПроч.Списание = Док.Расход;
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
   
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаКонтрагенты" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   ТабКонтр.ВыбратьСтроки();
   Пока ТабКонтр.ПолучитьСтроку() = 1 Цикл
       Для СчетчикЦикла = 1 По ТабКонтр.КоличествоКолонок() Цикл
           Лист.Cells(ТабКонтр.НомерСтроки, СчетчикЦикла).Value = "'" + ТабКонтр.ПолучитьЗначение(ТабКонтр.НомерСтроки, СчетчикЦикла);
       КонецЦикла;
   КонецЦикла;
   
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаПодотчет" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   ТабПодотчет.ВыбратьСтроки();
   Пока ТабПодотчет.ПолучитьСтроку() = 1 Цикл
       Для СчетчикЦикла = 1 По ТабПодотчет.КоличествоКолонок() Цикл
           Лист.Cells(ТабПодотчет.НомерСтроки, СчетчикЦикла).Value = "'" + ТабПодотчет.ПолучитьЗначение(ТабПодотчет.НомерСтроки, СчетчикЦикла);
       КонецЦикла;
   КонецЦикла;
   
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаПрочее" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   ТабПроч.ВыбратьСтроки();
   Пока ТабПроч.ПолучитьСтроку() = 1 Цикл
       Для СчетчикЦикла = 1 По ТабПроч.КоличествоКолонок() Цикл
           Лист.Cells(ТабПроч.НомерСтроки, СчетчикЦикла).Value = "'" + ТабПроч.ПолучитьЗначение(ТабПроч.НомерСтроки, СчетчикЦикла);
       КонецЦикла;
   КонецЦикла;
   
КонецПроцедуры
//*******************************************
Процедура ВыгрузитьРКО()
   Док = СоздатьОбъект("Документ.РасходныйОрдер");
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "РасходныйОрдер" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   НомСтр = 0;
   
   Док.ВыбратьДокументы(НачДата, КонДата);
   Пока Док.ПолучитьДокумент() = 1 Цикл
       НомСтр = НомСтр + 1;
       Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD;
       Если (Лев(Док.КоррСчет.Код, 2) = "60") ИЛИ (Лев(Док.КоррСчет.Код, 2) = "76") Тогда
           Лист.Cells(НомСтр, 2).Value = "Расчеты с контрагентами";
           Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1);
           Лист.Cells(НомСтр, 4).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто2);
       ИначеЕсли Лев(Док.КоррСчет.Код, 2) = "71" Тогда
           Лист.Cells(НомСтр, 2).Value = "Расчеты с подотчетными лицами";
           Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1);
       ИначеЕсли Лев(Док.КоррСчет.Код, 2) = "70" Тогда
           Лист.Cells(НомСтр, 2).Value = "Прочие операции";
       КонецЕсли;
       
       
   КонецЦикла;
КонецПроцедуры
//*******************************************
Процедура ВыгрузитьАО()
   Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл
       Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "АвансовыйОтчет" Тогда
           Лист = Книга.Worksheets(СчетчикЦикла);
           Прервать;
       КонецЕсли;
   КонецЦикла;
   НомСтр = 0;
   Док = СоздатьОбъект("Документ.АвансовыйОтчет");
   Док.ВыбратьДокументы(НачДата, КонДата);
   Пока Док.ПолучитьДокумент() = 1 Цикл
       Док.ВыбратьСтроки();
       Пока Док.ПолучитьСтроку() = 1 Цикл
           НомСтр = НомСтр + 1;
           Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD;
           Лист.Cells(НомСтр, 2).Value = "'" + ВернутьЗначениеРеквизита(Док.Сотрудник);
           Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.НаименованиеАванса);
           Лист.Cells(НомСтр, 4).Value = "'" + ВернутьЗначениеРеквизита(Док.КоррСчет);
           Лист.Cells(НомСтр, 5).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1);
           Лист.Cells(НомСтр, 6).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто2);
           Лист.Cells(НомСтр, 7).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто3);
           Лист.Cells(НомСтр, 8).Value = "'" + ВернутьЗначениеРеквизита(Док.КомуЗаЧто);
           Лист.Cells(НомСтр, 9).Value = "'" + ВернутьЗначениеРеквизита(Док.ДатаС);
           Лист.Cells(НомСтр, 10).Value = "'" + ВернутьЗначениеРеквизита(Док.НомерДокумента);
           Лист.Cells(НомСтр, 11).Value = ВернутьЗначениеРеквизита(Док.Сумма);
           Лист.Cells(НомСтр, 12).Value = ВернутьЗначениеРеквизита(Док.СуммаПоОтчету);
           Лист.Cells(НомСтр, 13).Value = ВернутьЗначениеРеквизита(Док.НДС);
           Лист.Cells(НомСтр, 14).Value = ВернутьЗначениеРеквизита(Док.Количество);
           Лист.Cells(НомСтр, 15).Value = ВернутьЗначениеРеквизита(Док.НаименованиеАванса);
       КонецЦикла;
       
   КонецЦикла;
   
КонецПроцедуры
//*******************************************
Процедура Сформировать()
   Если ПустоеЗначение(НачДата) = 1 Тогда
       Предупреждение("Необходимо указать дату остатков!", 60);
       Возврат;
   КонецЕсли;
   Если ПустоеЗначение(ФайлДляЗагрузки) = 1 Тогда
       Предупреждение("Необходимо указать файл для выгрузки остатков!", 60);
       Возврат;
   КонецЕсли;
   ЗапуститьПриложениеЭксель(ФайлДляЗагрузки);
   СоздатьЗакладки();
   Лист = Эксель.Worksheets(1);
   ВыгрузитьПеремещения();
   ВыгрузитьВыписки();
   ВыгрузитьРКО();
   ВыгрузитьАО();
   Книга.Save();
   Эксель.DisplayAlerts = 1;
   Эксель.Quit();

КонецПроцедуры

ТабСпр = СоздатьОбъект("ТаблицаЗначений");


Листы = СоздатьОбъект("СписокЗначений");
Листы.ДобавитьЗначение("ПеремещениеТМЦ");
Листы.ДобавитьЗначение("ВыпискаКонтрагенты");
Листы.ДобавитьЗначение("ВыпискаПодотчет");
Листы.ДобавитьЗначение("ВыпискаПрочее");
Листы.ДобавитьЗначение("РасходныйОрдер");
Листы.ДобавитьЗначение("АвансовыйОтчет");

СпСпрВыгр = СоздатьОбъект("СписокЗначений");

СпСпрРегл = СоздатьОбъект("СписокЗначений");
СпСпрРегл.ДобавитьЗначение("СтатьиЗатратНаПроизводство");
СпСпрРегл.ДобавитьЗначение("ВидыНоменклатуры");
СпСпрРегл.ДобавитьЗначение("ПрочиеДоходыИРасходы");
СпСпрРегл.ДобавитьЗначение("ДвиженияДенежныхСредств");

СпНеРегСчетов = СоздатьОбъект("СписокЗначений");
СпНеРегСчетов.ДобавитьЗначение(СчетПоКоду("01.1"));
СпНеРегСчетов.ДобавитьЗначение(СчетПоКоду("02.1"));
5 rs_trade
 
07.08.10
11:58
(0) в ИНТЕРНЕТАХ
6 Morphius
 
07.08.10
12:01
(4)Зачем такие сложности?У объекта "Таблица" есть метод записать(), он сохраняет таблицу в т.ч. в Ехель.
7 aka AMIGO
 
07.08.10
12:02
http://my1c-archive.narod.ru/knowhow/tip2exel.html

много ответов на незаданные вопросы
8 AeDen
 
07.08.10
12:07
(6) Да? А у таблицы наверное есть возможность создать десяток листов? Или ты предлагаешь пользователю сидеть и склеивать пяток-другой файлов экселевских в один?
9 Morphius
 
07.08.10
12:09
В (0) Нет задачи создать несколько листов. Записать() будет проще и намного быстрее чем работа через COM
10 AeDen
 
07.08.10
12:11
(9) даю наводку: ключевое слово "примеры".
11 Morphius
 
07.08.10
12:16
(10) Видимо, ты выбрал наиболее оптимальный: куча кода вместо 4 строчек
12 Aleksey_3
 
07.08.10
12:24
(10)
Таб=создатьОбъект("Таблица")%
Таб.ВывестиСекцию("Строка")
Таб.Записать("c:\Пример.xls",1)
13 Любитель XML
 
07.08.10
12:30
(4) жесть... но для примера самое то ))))
14 AeDen
 
07.08.10
12:38
(13) Вот и я о чем. Зато сразу дофига всего, чтобы много-много вопросов заранее закрыть. :)
(11) Я выбрал ровно то что хотел выбрать. Ты вместо того чтобы тут распинаться свои примеры привел-бы лучше, пусть чел увидит различные варианты.
(12) Спасибо, я в курсе:)
15 Morphius
 
07.08.10
12:53
(14) После (12) мне уже нечего сказать;))
16 AeDen
 
07.08.10
12:56
(15) Ты мог сказать это раньше, много раньше, но не сказал. Почему?
Кстати, ты в 12 видишь три явные ошибки?
17 Morphius
 
07.08.10
13:00
(16) В принципе в (6) я указал нужный метод, ИМХО этого достаточно. Ты про отсутствие ; и % ?.
18 AeDen
 
07.08.10
13:02
(17) Да.
В принципе был вопрос о примере, а не о методе.
19 Morphius
 
07.08.10
13:04
(18) В свое время, лет 5 назад у меня была задача: сохранить таблицу в Ехель. И я сначала сделал через COM(по совету гугла), а потом узнал про метод записать();)Тогда я плакалъ;))
20 Любитель XML
 
07.08.10
13:09
(19) у метода записать() есть свои минусы...
21 Morphius
 
07.08.10
13:10
(20) Например? (если создавать вкладки и прочие украшения нет нужды)
22 Любитель XML
 
07.08.10
13:19
(21) "если создавать вкладки и прочие украшения нет нужды"  тогда зачем вообще заморачиваться с экселем? печатайте из 1с... если надо сохранить - файл->сохранить как, там выбрать xls
23 Любитель XML
 
07.08.10
13:19
f djj,ot Qjrctkm hekbn ))
24 Любитель XML
 
07.08.10
13:21
Йоксель рулит...
25 jawerko
 
07.08.10
14:09
Спасибо!
Спасибо большое!
26 big
 
07.08.10
16:50
(24) +1000. Всё остальное - от лукавого. :)