Страницы: 1 2 След.
RSS
1C и Excel друзья?)))), Вытягивание Инфы из 1С в Excel
 
Доброго времени суток уважаемы фанаты и звезды Excel! 8)

Вступление:
Недавно с другом фантазировали на тему автоматизированного аудита бухгалтерского учета, хотели кого нибудь нанять для выполнения данной работы, но Меня задушила жаба  :oops: )))), и Я предложил сначала попробовать самому с помощью Excel создать некую аналитические "супер таблицы". Но в ходе демогогии пришли в тупик. Не знаю как вытягивать разного рода информации из 1С-ки.
Суть:
Если какой-нибудь хороший способ вытягивания разнородной инфы (регистры, анализы счетов, баланс и т.д.) из 1С-ок разных версий (т.к. различные фирмы пользуются разными версиями+выполняют разного рода изменения для своего удобства)?????????????
Читал на форумах что это делается Макросами, но Я с ними пока на "Вы"(((((((
Вроде по идее 1С это такая же СУБД как и Access, нет????????? :(  
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
Цитата
попробовать самому с помощью Excel создать некую аналитические "супер таблицы"
Читал на форумах что это делается Макросами, но Я с ними пока на "Вы"
Предложения противоречат друг другу. Если самостоятельно  - нужно учить VBA, если второе - то не самостоятельно.
 
vikttur, А есть пример Макроса какой нибудь??? хоть с чего то начну что бы учить????))))))))))
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
Начинайте с азов :)
Ищите в сети: первые шаги в VBA
 
vikttur, Других вариантов кроме Макросов нет????
И еще один вопрос: А мне получается под каждую версию 1с писать придется???????
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
ИМХО, проще 1С изучить и оттуда выгружать необходимую информацию. А потом ее уже можно анализировать в Екселе штатными инструментами: формулы, сводные таблицы, диаграммы...
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Да я вообще не знаю, может ли Excel "залезать" в 1С
 
Ну может Есть какая-нибудь буферная программа которая может "Залезать" в 1С, а вот к ниму уже Excel и подключится?)))))))))))))
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
Может, например так.
Это прямое подключение к консоли запросов в 1С, к которой можно обращаться с запросом на нативном для 1С языке. Ну и естественно в 1С у вас должна быть роль с доступом к консоли запросов.
Изменено: PooHkrd - 31.01.2018 14:58:31
Вот горшок пустой, он предмет простой...
 
baitokberik, 1с очень специфическая БД, даже на одном предприятии 1с одной версии, но развернутые разные базы будут иметь разные по названию таблицы, при чем эти названия мало что вам скажут, т.к. имеют как правило названия типа regT0000456568 и поля также называются, типа idreg_4456458 и попробуй догадайся))). Но есть множество коннекторов, в том числе, которые можно использовать в Excel. В них вы будете видеть "нормальные" названия таблиц, как они в пользовательском интерфейсе, а в запросы уже будут попадать названия, как я написал выше. НО! эти коннекторы не бесплатны и боюсь вас снова задушит жаба)))
 
А я слышал, что 1Сники специально время-от времени что-то "перепиливают", чтобы вот такие "коннекторы" переставали корректно работать.
Но это на уровне слухов. Мне кажется в деле защиты вполне логичный ход…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Друзья! Вы меня низвергли в глубокое уныние!((((((
Видимо совет wowick, тут будет самый альтернативный! Возможно со временем что-то и придумаю!))))))))))))))))))))))
Цитата
vikttur написал:
Начинайте с азов
Ищите в сети: первые шаги в VBA
Буду начинать изучать этот "ЛЕС")))))))))))))))
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
Изучать-то в любом случае нужно. Только чем вас расстроил мой вариант? Через консольный запрос вы можете вытягивать данные из таблиц и регистров не вникая в особенности работы 1С со всеми её версиями таблиц, и внутренней структуры БД. Обращаясь через COM соединение вы получаете быстрые и точные данные из БД. На освоение данного метода с нуля у моего товарища ушло где-то пара недель самостоятельного изучения вопроса путем гугления.
Изменено: PooHkrd - 31.01.2018 15:30:38
Вот горшок пустой, он предмет простой...
 
baitokberik, похоже, у Вас завелся вирус... переизбыток гормонов скобок :)

А не достаточно ли угрожать автору одним VBA? :)
Цитата
PooHkrd написал: через консольный запрос... через COM соединение
Эдак человек веру потеряет )
 
Цитата
vikttur написал:
Эдак человек веру потеряет
С чего бы? Если человеку не влом учиться и вникать, то разберётся и сможет. А если нет (типа - меня эта учёба ещё в школе достала), то найдёт 100500 причин для самооправдания, почему не может.
 
Цитата
Jack Famous написал:
А я слышал, что 1Сники специально время-от времени что-то "перепиливают", чтобы вот такие "коннекторы" переставали корректно работать
Им ничего не надо для этого делать, все само, все само :-)
По вопросам из тем форума, личку не читаю.
 
БМВ,  :D

Господа, хотелось бы подытожить: я правильно понял, что, если есть доступ к консоли запросов, как говорил PooHkrd, то надёжнее всего COM-соединение?
А если доступа нет, то все телодвижения "от лукавого" - верно?))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Любые коннекторы, которые лезут напрямую в БД 1С - от лукавого, потому что там слишком до фига всего накручено во внутренней структуре таблиц, их версий, регистров и всего остального. Если же лезть в Бд через консоль, то вы обращаетесь условно к "движку" БД, а не к таблицам напрямую. Движок точно знает какая из таблиц в данный момент актуальная, где лежит и чем с она связана.
Поэтому
настраиваете COM соединение на серваке
составляете запрос к нужным вам данным в конструкторе 1С
запихиваете текст запроса в макрос и ... ловите ошибки, потому что текст запроса, который составляет конструктор и текст, который принимает 1С от СОМ-коннектора несколько отличаются  :D
Но, в принципе, нагуглить как правильно писать консольные запросы для передачи их через СОМ соединение вполне можно.
Изменено: PooHkrd - 31.01.2018 18:29:05
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
настраиваете COM соединение на серваке
Видимо не совсем понятно изъяснил)
Я от Аудиторской фирмы, и у меня нет времени подстраиваться под каждую Платформу моих клиентов)
Поэтому искал универсальный подход, что бы просто показал где БД лежит и нажал на кнопочку "ФАС"))))
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
Цитата
baitokberik написал:
что бы просто показал где БД лежит и нажал на кнопочку "ФАС"))))
:D  При том зоопарке, что имеется у ваших клиентов, могу вам только пожелать удачи!
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо! Чувствую, что и ЭТО придётся в недалёком будущем осваивать  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
PooHkrd написал:
 При том зоопарке, что имеется у ваших клиентов, могу вам только пожелать удачи!
Спасибо большое)))
Теперь Я еще в большем унынии)
Но VBA уже начал изучать по средством Ююба) читать некогда)
Уклонение от налогов — единственное интеллектуальное занятие, которое все еще окупает себя.
 
baitokberik, идея обречена на провал из-за вышеуказанных причин, а если добавить использование не стандартных конфигураций, то тут совсем грусть. Так что фас вы может и скажете, да вот ваши старания поджав хвост убегут не оставив результата. Хотя может оказаться, что все клиенты на одной платформе и все стандартно.
По вопросам из тем форума, личку не читаю.
 
baitokberik, мне кажется Вы немного заблуждаетесь и путаете некоторые понятия: Вы же хотите иметь доступ к данным из 1С, чтобы с помощью Excel их обрабатывать и автоматизировать процессы, считая, что 1С является хранилищем этих данных, верно? Если мыслите именно так, то уточню: 1С - программа (среда разработки), которая может вытягивать, обрабатывать и изменять исходные данные из СУБД, коим в 90% случаев является SQL сервер (или Access в маленьких компаниях, например). Поэтому Вам не из 1С надо вытягивать таблицы, регистры и пр., а из СУБД (опять  же, скорее всего SQL сервер). А уж подключиться к SQL серверу из Excel нет ничего сложного. 1С при этом может служить подсказчиком, где и какие таблицы хранятся, как они называются - чтобы в дальнейшем их использовать в SQL-запросах из Excel.
Итого, если мое утверждение в первом предложении сообщения верно, то Вам надо изучать SQL-запросы (при условии, что база данных хранится на SQL-сервере - уточните у программистов 1С если таковы есть).

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

П.П.С. заметил, что мое сообщение по смыслу пересекается с сообщениями #13.
Изменено: Vladimir Chebykin - 01.02.2018 07:43:25
 
Vladimir Chebykin, А вот тут вы заблуждаетесь не меньше. То что данные хранятся в SQL, да хоть на листочке, не означает, что вы сможете их корректно обработать и сопоставить. Доступ к таблицам  - не означает, что там будет хоть что-то понятно по полям и их связям . Ну получите вы набор полей с кучей наименования цифробуквенных, ни чего не значащих для Вас,  Простые запросы можно сделать , потратив некоторое время на поиск соответвий , но чуть более сложные - нет. При этом составить правильный на ваш взгляд SQL запрос - не означает что он эффективно выполнится, а то и просто выполнится на конкретной базе, так как индексы построены совсем не под это . То что вас не пустили к базе напрямую - это конечно просто  лень админа, которому влом было прописывать доступ только на чтение, а вот на запись я б и сам не просил и другим бы не дал. Одно дело отчет навоять, а другое данные внести. Да и с отчеnом не все просто , получите  не те цифры по незнанию структуры конкретной конфугурации , что тогда?    
По вопросам из тем форума, личку не читаю.
 
БМВ, может Вы и правы что такой подход не выгорит. У меня на практике не получилось побаловаться SQL-запросом, т.к. доступ не дали. Решили, что программисты сами пишут SQL-запросы на нужные мне таблицы, так и живем! Всяко быстрее и удобнее, чем вытягивать данные из 1С (не во всех случаях конечно).
 
Из практики: метод по теме (но автору топ. видимо не подойдёт) - пишем нужный запрос в 1С, запускаем, на SQL-серваке смотрим входящий запрос уже на sql. Копируем в vba или просто через внешнее соединение на сервак в Excel - готово.
«Бритва Оккама» или «Принцип Калашникова»?
 
В обратном случае, искать\писать кучу таблиц, ссылок и джойнить их - не благодарное дело. Только если одной табличкой, тянуть справочники или регистры. Опять же, без нужных полей других справочников не разберешь, что за движуха.
«Бритва Оккама» или «Принцип Калашникова»?
 
К сожалению (или к счастью) в 1С не лежит плоская таблица откуда можно все забрать. Погуглите структуру :)
«Бритва Оккама» или «Принцип Калашникова»?
 
или посмотрите dbf-файлы
Изменено: JeyCi - 06.02.2018 13:51:09
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1 2 След.
Наверх