Использование данных из 1С 8.1 в Excel 2007

Теория штука хорошая, но на практике иногда бывают ситуации с которыми не справишься, только книжными знаниями. Давайте поможем друг другу и поделимся опытом решения тех или иных практических задач.
Аватар пользователя
Lonely Wolf
Коллега
Коллега
Сообщений: 7
Зарегистрирован: 10 сен 2008 03:00
Имя: Роман
Фамилия: Волков
Должность: Зам. начальника отдела снабжения

Использование данных из 1С 8.1 в Excel 2007

Сообщение Lonely Wolf » 21 мар 2010 19:05

Добрый вечер!
Уважаемые коллеги, какие существуют способы извлечения данных из 1С 8.1, для их использования в Excel 2007. В руководствах описаны внешние базы данных, но как связать Эксель именно с 1С? У меня это не получилось.
Ищущий истину

Реклама
Аватар пользователя
Роман Бодряков
Авторитет
Авторитет
Сообщений: 5253
Зарегистрирован: 19 апр 2004 03:00
Имя: Роман
Фамилия: Бодряков
Должность: Ген.Директор в кубе - наноолигарх
Откуда: Россия

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение Роман Бодряков » 21 мар 2010 19:58

Не очень понятен вопрос.

Можно отчет сохранить в ексель, можно в SQL сформировать куб...

Что надо-то?
Есть такие решения, после принятия которых тараканы в голове аплодируют стоя! И просят повторить "НА БИС!!!"
Образование круче не у того, кто больше Знает, а у того, кто хоть что-то умеет.

Аватар пользователя
Lonely Wolf
Коллега
Коллега
Сообщений: 7
Зарегистрирован: 10 сен 2008 03:00
Имя: Роман
Фамилия: Волков
Должность: Зам. начальника отдела снабжения

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение Lonely Wolf » 22 мар 2010 12:17

Роман Бодряков писал(а):Не очень понятен вопрос.

Можно отчет сохранить в ексель, можно в SQL сформировать куб...

Что надо-то?


Я пользуюсь только одним способом: выделяю в 1С мышкой данные и копирую их в Excel :ps_ih: , но чувствую что с увеличением объема данных, этот способ будет неэффективен. Объясните как в SQL сформировать куб..., и в каких случаях наиболее эффективно его формировать, а не просто сохранять в эксель отчеты. Кстати отчеты сохраняются с помощью копирования, как я всегда делаю, или как-то еще?

PS: Недавно работаю в 1С, поэтому простите за примитивные вопросы. :ti_pa:
Ищущий истину

RazVal
Гуру
Гуру
Сообщений: 895
Зарегистрирован: 28 май 2015 17:58
Имя: Валерий
Фамилия: Разгуляев
Должность: эксперт по управлению величиной запасов и оптимизации затрат
Откуда: http://upravlenie-zapasami.ru/

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение RazVal » 22 мар 2010 12:58

masterlog писал(а):Я выделяю в 1С мышкой данные и копирую их в Excel, но чувствую что с увеличением объема данных, этот способ будет неэффективен.
отчеты сохраняются с помощью копирования, как я всегда делаю, или как-то еще?
Совершенно правильно чувствуете и эффективность вашего способа, и что должно быть что-то другое:
ставите курсор на табличную часть -> вверху в меню выбираете "Файл" -> Cохранить копию... -> В выпадающем списке выбираете "Лист Excel (*.xls)" -> чуть выше вписываете название файла и выбираете, куда хотите сохранить -> и нажимаете кнопку "Сохранить"

masterlog писал(а):как в SQL сформировать куб...
Лучше подключать к этому специалиста, который поддерживает вашу 1С-ку.

masterlog писал(а):в каких случаях наиболее эффективно его формировать, а не просто сохранять в эксель отчеты.
В случае, если время построения отчётов в 1С становится слишком большим.

Аватар пользователя
Lonely Wolf
Коллега
Коллега
Сообщений: 7
Зарегистрирован: 10 сен 2008 03:00
Имя: Роман
Фамилия: Волков
Должность: Зам. начальника отдела снабжения

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение Lonely Wolf » 22 мар 2010 13:29

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

RazVal
Гуру
Гуру
Сообщений: 895
Зарегистрирован: 28 май 2015 17:58
Имя: Валерий
Фамилия: Разгуляев
Должность: эксперт по управлению величиной запасов и оптимизации затрат
Откуда: http://upravlenie-zapasami.ru/

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение RazVal » 22 мар 2010 13:48

masterlog писал(а):А куб в SQL, в чем тут суть?
Вообще, обычно учётные системы (и 1С в частности) не хранят данные в том виде, в каком они выводятся в отчёт, а хранят их в виде транзакций. То есть, если вы хотите получить остатки на утро 1 марта, вам надо к текущим остаткам прибавить все расходы и отнять все приходы, прошедшие за это время. Однако, если вы всё время работаете с остатками, то отчёт, который будет таким образом строить все эти данные, будет делать это слишком долго, в таком случае есть смысл создать куб с остатками на утро даты и обращаться теперь к нему.

masterlog писал(а):Получается, что огромный отчет не загружается в эксель, а позволяет производить операции с данными непосредственно в 1с, т. е. происходит подлючение к 1С, а как же тогда сохранять результаты?
В Excel вы создаёте запрос, в котором выбираете необходимый разрез и условия отбора, Excel передаёт эту информацию SQL-серверу, а тот уже выдаёт в Excel нужные данные.

masterlog писал(а):А без программиста тут не обойтись? Ведь в Эксель есть режим импорта из внешних баз данных, зачем он тогда нужен, если все равно вызывать прграммера?
В принципе, своими силами подключиться из Excel к SQL-серверу вы, наверное, сможете (если есть соответствующие права доступа), а программист нужен, чтобы сформировать этот самый куб нужных вам аналитических данных, так как сейчас никаких кубов на SQL-сервере нет - хранятся только транзакции, которые надо правильно "размотать", чтобы получить интересующие вас данные. Вообще, пока проблем со временем построения отчётности нет, лучше с кубами - не заморачиваться. ;)

Аватар пользователя
Роман Бодряков
Авторитет
Авторитет
Сообщений: 5253
Зарегистрирован: 19 апр 2004 03:00
Имя: Роман
Фамилия: Бодряков
Должность: Ген.Директор в кубе - наноолигарх
Откуда: Россия

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение Роман Бодряков » 23 мар 2010 12:08

Попробую объяснить на пальцах.

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

К SQL базе можно получить доступ через 1С, а можно напрямую средствами SQL

Когда Вы создаете отчет в 1С. То отчет содержит SQL-запросы к базе данных, котороые связывают исходные таблички между собой, проводят промежуточные запросы, расчеты и выводят в том виде как задано в форме отчета. От пользователя не требуется знать структуру данных самого хранилища.
В 1С есть собственный построитель запросов. Он изначально настроен на их структуру данных и кое какие операции там автоматизированы. Он достаточно простой, что бы с ним совладал продвинутый пользователь.

Если Вы знаете что такое MS Access, то MS SQL это почти тоже самое. Поэтому прямой доступ к хранилищу требует знания его структуры.

OLAP куб это надстройка для MS SQL которая позволяет создать так называемый куб. Куб это многомерная табличка в которой данные уже связаны и по каким-то разрезам уже проведены предварительные расчеты. Ее аналогом является сводная таблица в Екселе.

Подключиться напрямую Екселем к базе - нерационально. Там нет отчетов которые Вы видите в 1С. Они физически отсутствуют. Там только цифры разбросанные по табличкам присутствуют. Теоретически можно сформировать запрос через MS Query, но тогда уж лучше MS Access воспользоваться он не такой кривой. А правильнее вообще в самом SQL все сделать.

Есть еще комплекс программ для построения отчетов. Они настраиваются на хранилище SQL и выдают отчеты те которые в них прописаны, тем пользователям, у которых есть на это права.


Ответ на Ваш вопрос:
В руководствах описаны внешние базы данных, но как связать Эксель именно с 1С? У меня это не получилось.


Никак. Для этого надо обладать знаниями программирования в SQL, знанием структуры данных SQL хранилища 1С и настройку проводок в 1С. А судя по вопросу ни того, ни другого, ни третьего Вы не знаете.

У Вас два варианта. Клеить ВПРом из разных отчетов свои или попросить у программистов сформировать Вам свой отчет, который Вы потом подцепите Екселем.

Очень рекомендую научиться пользоваться сводной таблицей в Екселе и тогда Вы сможете попросить у программистов отчет, на который повесите без доработок сводную и получите почти OLAP куб. OLAP это круто. Он позволяет анализировать данные в разных срезах быстро и наглядно делать отчеты. Передвигая поля и задавая параметры вычислений внутри самой таблицы.

Посмотрите сайт про OLAP там есть статьи и про принципы построения кубов и про инструменты для этого.
http://www.olap.ru
А вот статьи про основы и базовые понятия:
http://www.olap.ru/basic/home.asp
Есть такие решения, после принятия которых тараканы в голове аплодируют стоя! И просят повторить "НА БИС!!!"
Образование круче не у того, кто больше Знает, а у того, кто хоть что-то умеет.

RazVal
Гуру
Гуру
Сообщений: 895
Зарегистрирован: 28 май 2015 17:58
Имя: Валерий
Фамилия: Разгуляев
Должность: эксперт по управлению величиной запасов и оптимизации затрат
Откуда: http://upravlenie-zapasami.ru/

Re: Использование данных из 1С 8.1 в Excel 2007

Сообщение RazVal » 23 мар 2010 14:27

Роман Бодряков писал(а):Прямой доступ к хранилищу требует знания его структуры.
Подключиться напрямую Екселем к базе - нерационально. Там нет отчетов которые Вы видите в 1С. Они физически отсутствуют. Там только цифры разбросанные по табличкам присутствуют. Теоретически можно сформировать запрос в самом SQL.
Для этого надо обладать знаниями программирования в SQL, знанием структуры данных SQL хранилища 1С и настройку проводок в 1С.

К сказанному, практически, нечего добавить - тема раскрыта полностью. Маленький бонус для тех, кто знает SQL, - во вложении внешний отчёт для 1С 8, который показывает что хранится в каких табличках и каких столбцах SQL-сервера, на котом стоит эта 1С. Запускается через "Файл" -> "Открыть" в вашей 1С-ке.
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться в «Реальные задачи из жизни»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: CommonCrawl [Bot], Yandex [Bot] и 0 гостей