Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 568
от 08.08.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 427, Экспертов: 57
В номере:Вопросов: 1, Ответов: 5


Вопрос № 97213: Приветствую уважаемые эксперты. Помогите мне пожалуйста в таком вопросе. Сам пишу конфигурацию для учета своей деятельности и возникла необходимость импортировать и экспортировать из 1С справочник материалы в Эксель. С импортом вроде разобрался сам, ...

Вопрос № 97.213
Приветствую уважаемые эксперты. Помогите мне пожалуйста в таком вопросе. Сам пишу конфигурацию для учета своей деятельности и возникла необходимость импортировать и экспортировать из 1С справочник материалы в Эксель. С импортом вроде разобрался сам, а с экспортом из 1С как то не придумаю с какой стороны подступиться. Пока формирую отчет по справочнику и сохраняю его в формате Экселя. А как сделать чтобы все это делать автоматически средствами 1С?
Отправлен: 03.08.2007, 12:21
Вопрос задал: Ramzes (статус: 2-ой класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vlad Skorochod
Здравствуйте, Ramzes!
Зайдите на сайт http://1c.proclub.ru/ Там были обработки по импорту и экспорту в эксель.
Ответ отправил: Vlad Skorochod (статус: 6-ой класс)
Ответ отправлен: 03.08.2007, 12:32
Оценка за ответ: 4
Комментарий оценки:
Спасибо поищу

Отвечает: Sim_tm
Здравствуйте, Ramzes!
В принципе сохранения отчета в формате эксель это и есть "средстами 1с". а вобще придется или искать обработку по выгрузке справочников, которые в принципе попадаются в просторах инета или самому писать по анологии с импортом тока наоборот ;).
PS
Думаю если вы разобрались с импортом из экселя, то экспорт для вас вобще труда не составит.
Ответ отправил: Sim_tm (статус: 1-ый класс)
Ответ отправлен: 03.08.2007, 12:33
Оценка за ответ: 4
Комментарий оценки:
Так я ж и спрашиваю как самому написать.

Отвечает: Dmitry Stashenko
Здравствуйте, Ramzes!

Вывод данных в Excel.

Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Add();

Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Лист = Книга.WorkSheets(НомерЛиста);
либо добавить в книгу новый лист, если необходимо:
Лист = Книга.Sheets.Add();
Следующим шагом будет установка значения ячейки:
Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;
НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
И в конце нужно произвести запись созданной книги:
Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
Возврат;
КонецПопытки;
ПутьКФайлу - полный путь к файлу книги Excel (включая имя).
Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? " > < |.

Приложение:

Ответ отправил: Dmitry Stashenko (статус: 8-ой класс)
Ответ отправлен: 03.08.2007, 12:46
Оценка за ответ: 5
Комментарий оценки:
Спасибо буду пробовать

Отвечает: Афанасьев Владимир Владимирович
Здравствуйте, Ramzes!
Для экспорта данных в таблицу Excel возможно через OLE-объекты, для этого необходимо создать объект : Excel = СсоздатьОбъект("Excel.Aplication"); и далее работать с его внутренними методами. Однако это не самый легкий вариант, рекомендую попробовать сохранять все необходимые данные используя объект языка 1С XBase, дело в том, что структура XBase читается Excel`ем на ура, единственная проблема которая может возникнуть, это правильный выбор кодовой страницы КодоваяСтраница().
Ответ отправил: Афанасьев Владимир Владимирович (статус: 1-ый класс)
Ответ отправлен: 03.08.2007, 13:14
Оценка за ответ: 4
Комментарий оценки:
Спасибо за скорость, но хотелось бы хотя бы кусок кода в виде примера.

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Ramzes!
Сообщить("Начало "+ТекущееВремя());
Excel=СоздатьОбъект("Excel.Application");
Excel.Workbooks.Open("C:ЧекиАЗС.xls");
НомерЛиста=1;
СтрФайл=ФС.НайтиПервыйФайл(НазваКаталогу+"*.mdb");
Пока ПустоеЗначение(СтрФайл)=0 Цикл
Сообщить("Обрабатываем "+СтрФайл);
Excel.Sheets("Лист1").Select();
Excel.Sheets.Add();
НомерЛиста=НомерЛиста+1;
Excel.Sheets("Лист"+НомерЛиста).Select();
Excel.Range("A1").Select();
Excel.ActiveCell.FormulaR1C1="НомерАЗС";
Excel.Range("B1").Select();
Excel.ActiveCell.FormulaR1C1="НомерZотч";
Excel.Range("C1").Select();
Excel.ActiveCell.FormulaR1C1="НомерЧека";
Excel.Range("D1").Select();
Excel.ActiveCell.FormulaR1C1="ДатаВремя";
Excel.Columns("D:D").ColumnWidth=24;
Excel.Range("E1").Select();
Excel.ActiveCell.FormulaR1C1="ТипЧека";
Excel.Range("F1").Select();
Excel.ActiveCell.FormulaR1C1="КодЭККА";
Excel.Range("G1").Select();
Excel.ActiveCell.FormulaR1C1="Товар";
Excel.Columns("G:G").ColumnWidth=30;
Excel.Range("H1").Select();
Excel.ActiveCell.FormulaR1C1="Колво";
Excel.Range("I1").Select();

Excel.Range("A"+СокрЛП(НомерСтроки)).Select();
Excel.ActiveCell.FormulaR1C1=Скл;
Excel.Range("B"+СокрЛП(НомерСтроки)).Select();
Excel.ActiveCell.FormulaR1C1=""+Rs.Fields("n_report").Value;
ИмяЛиста=Скл+"_"+Rs.Fields("n_report").Value;
Excel.Range("C"+СокрЛП(НомерСтроки)).Select();
Excel.ActiveCell.FormulaR1C1=""+Rs.Fields("n_bill").Value;
Excel.Range("D"+СокрЛП(НомерСтроки)).Select();
Excel.ActiveCell.FormulaR1C1=""+Rs.Fields("d").Value;
Excel.Range("E"+СокрЛП(НомерСтроки)).Select();
Excel.ActiveCell.FormulaR1C1=""+Rs.Fields("id_bill_type").Value;
Excel.Sheets("Лист"+НомерЛиста).Name=ИмяЛиста;

Excel.ActiveWorkbook.Save();
Excel.ActiveWorkbook.Close();
Excel.Quit();
Сообщить("Конец "+ТекущееВремя());

Приложение:

Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 03.08.2007, 17:01
Оценка за ответ: 4
Комментарий оценки:
Спасибо. Буду пытаться во всем этом разобраться


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.54 beta от 01.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное