"Троянский конь" или "скрытые" возможности таблиц 1С

20.06.11

Интеграция - Загрузка и выгрузка в Excel

Маленькие хитрости по "взаимодействию" 1С и MS OFFICE или - как создать "троянского" коня. Тайное становится явным. Все нижеизложенное представлено исключительно в поучительных целях, И АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПОСЛЕДСТВИЯ, КОТОРЫЕ МОГУТ ПРОИЗОЙТИ ВСЛЕДСТВИЕ ПРОЧТЕНИЯ ПРЕДЛОЖЕННОГО МАТЕРИАЛА.

Итак начнем.

Заходим в конфигуратор 1С.

Меню - Файл - Новый (Ctrl+N)- Создадим внешний отчет (обработку)

Переходим сразу на вкладку "Таблица" - на панели инструментов "Редактор таблиц" есть кнопочка "Вставить новый OLE объект"

нажимаем, появится новый диалог

в данном пример нам нужен "Лист Microsoft Office Excel" (для этого на компьютере должен быть установлен Excel)

В таблице появится знакомый Лист1 от Excel.

Выделяем его и нажимаем клавиши ALT+F11 (откроется встроенный редактор VBA).

Не буду далеко вглубляться про язык, методы и свойства VBA...кому нужно сам найдет

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

Снова кликнем на объект EXCEL в таблице - скорее всего (по умолчанию) появится следующий диалог про МАКРОСЫ (их использование запрещено или ограниченно). Как обойти - расскажу дальше.

Нажмем "Не отключать макросы" и увидим прямо в конфигураторе окно:

В свойствах объекта пропишем строчку Лист(Таблица.ТекущийОбъект) - можно в Расшифровке, но можно и в Текст (но это другая история).

Переходим в модуль обработки и пишем функцию Лист (а можно и процедуру)

Для примера покажу 2 варианта

1 вариант:

Внедренный объект сохраняем как Личную книгу макросов - получаем ее путь и сохраняем (заменяем) обновляем.

Теперь барьера на использовании макроса на чужом компьютере больше нет - нам будут доступны все возможности EXCEL и VBA.

В конце можно будет удалить.

2 вариант:

Во втором варианте можно вообще ничего не писать, только в меню -  Действия - Свойства формы - поставим галочки

И при открытии обработки написать две строки.

Кому интересно:

Пример обработки с 1 вариантом

Пример обработки с 2 вариантом

а также альтернативный  (Доступ к VBA из 1С)

 

Все нижеизложенное представлено исключительно в поучительных целях, И АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПОСЛЕДСТВИЯ, КОТОРЫЕ МОГУТ ПРОИЗОЙТИ ВСЛЕДСТВИЕ ПРОЧТЕНИЯ ПРЕДЛОЖЕННОГО МАТЕРИАЛА 

Также возможен доступ к объекту (возможно интерактивный):

// Доступ к листу книги
 ЛистКниги=Объект.Sheets("Лист1");

 // Доступ к диаграмме на листе
 Диаграмма = Объект.Sheets("Диаграмма1");

 // Доступ к данным ячейки
ЛистКниги.Cells(1,1).Value = "До свидание...на память"; 

Если кому нужен совет или помощь - пишите в личку (вместе решим)

См. также

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    22693    15    22    

16

Загрузка и выгрузка в Excel Программист Платформа 1С v7.7 Абонемент ($m)

Сводная таблица Excel из 1С - как сделать ее программно через COM соединение.

1 стартмани

30.07.2021    6679    2    atdonya    1    

2

Загрузка и выгрузка в Excel ККМ Программист Бухгалтер Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Управленческий учет Абонемент ($m)

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

1 стартмани

31.01.2021    8349    2    &-rey    1    

4

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Программист Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 Управленческий учет Абонемент ($m)

Обработки группового дополнения данных о номенклатуре. Ввод веса и объема существующих товаров вручную в форму таблицы значений и затем запись в справочник Номенклатуры и Единиц. Закачка весов и объемов существующих товаров из Эксель в справочник Номенклатуры и Единиц. Загрузка внешних кодов товаров из Эксель в справочник Номенклатуры. Редактирование внешних кодов товаров в форме списка. Дозаполнение реквизитов существующих товаров из Эксель (ключевые поля - штрихкод, наименование, внешний код).

1 стартмани

11.10.2019    12080    2    ksnik    2    

2

Оптовая торговля Загрузка и выгрузка в Excel Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

В данной публикации приведены примеры обработок обмена дистрибьютора с поставщиками и покупателями через Эксель. Создание товаров-новинок. Автоматическое формирование Заказа поставщику по продажам. Заполнение бланка заказа поставщику. Загрузка приходной накладной от поставщика. Загрузка любых справочников из Эксель, например товарных сертификатов. Выгрузка прайслиста в бланк заказа (создание бланка заказа). Загрузка заявки покупателя из произвольного файла Эксель. Загрузка заявки покупателя из бланка заказа.. Для работы требуется установленный MS Excel.

1 стартмани

08.09.2019    16500    10    ksnik    2    

3

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19654    18    ksnik    12    

8

Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:ERP Управление предприятием 2 Управленческий учет Абонемент ($m)

Описание практического опыта переноса данных из двух устаревших учетных систем в одну современную с обобщением справочников (например номенклатуры, контрагентов, партнеров) и объединением учетных данных устаревших систем в единую новую УС применяя комбинацию стандартной загрузки из Эксель и КД2. Данная публикация является примером переноса данных из сильно устаревших и сильно переписанных конфигураций 1С:Предприятия 7.7 и 8 в современную 1С 8.3 своими силами при условии невозможности или нежелания пользоваться обновлением релизов и типовой функциональностью универсального обмена данными типовых мастеров переноса данных. Отличительной особенностью публикации является устранение зависимости от версий релиза конфигураций, отказ от обновлений устаревших конфигураций.

1 стартмани

29.07.2019    21500    16    ksnik    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Свой 164 17.12.09 12:34 Сейчас в теме
эту бы энергию, да мирных целях :)
Tatitutu; +1 Ответить
6. larisab 160 17.12.09 12:45 Сейчас в теме
(1)(2)
Лукавите, господа! Часики и рабочие столы вам не кажутся такими уж бесполезными ;) Про иконки я уже не говорю - это вообще хиты :D
2. MRAK 724 17.12.09 12:37 Сейчас в теме
(0) эх... кризис, походу у тебя, раз такой ерундой маешься....
4. Tatitutu 3847 17.12.09 12:42 Сейчас в теме
(2) таки да... зубов нет, зрение ослабло...песок - зато не скользко
susorov; gaglo; ACE$; +3 Ответить
5. MRAK 724 17.12.09 12:44 Сейчас в теме
3. larisab 160 17.12.09 12:42 Сейчас в теме
(0)
На этом мой "курс" по EXCEL на этом сайте заканчивается - больше не буду отвлекать Вас от важных дел. Я всем сердцем понимаю , что Вы это все безусловно знаете и знали еще тогда когда солнце было молодым, но все равно напишу хоть для себя , чтобы не забыть

Нет, многие не знают. Многим нужно. Это прекрасная серия статей. Продолжай, пожалуйста!!!
7. ded00786 347 17.12.09 13:57 Сейчас в теме
Ща добрые люди наплодят макровирусов из 1С :D
А статья - отличная, кратко и по делу....
Tatitutu; +1 Ответить
8. Kertman 16 17.12.09 16:24 Сейчас в теме
Долго искал применение к екселю и на тебе на блюдечке, с синей каемочкой. :)
9. Tatitutu 3847 17.12.09 16:28 Сейчас в теме
(8) что искал - расскажи (подскажу) или вместе запустим
10. Доня 287 17.12.09 19:52 Сейчас в теме
Ставлю плюс
Поигралась чуть-чуть, но для меня это пока сложно, надо долго доходить.
Даже такие возможности, как вставка в таблицу "екселя" уже заманчиво.
Програмного язака я не знаю, а вот в XLS работаю давно.
Это конечно мне пригодиться.
Спасибо
11. Димча 135 17.12.09 19:56 Сейчас в теме
Да. 1С без окружения - это уже не интересно.
Однозначно полнезная информация !!!
12. Доня 287 17.12.09 20:35 Сейчас в теме
Автору:
Теперь при входе в XLS всегда высвечиваетсч панель Формат_1С
А как ее убрать совсем
Я убираю через сервис/... а при новом открытии XLS она опять есть
Куда зайти и удалить ее, где она прячестся?
Она мне мешает пока
17. Tatitutu 3847 18.12.09 08:44 Сейчас в теме
(12) посмотри код - так указан путь как пишет уважаемый (14)
и там удалите файл Personal.xls - это и есть личная книга макросов.
(14) я понимаю Вашу агрессию, но чем она вызвана ))) - это пример
ту строчку Имяпапки .... мог бы написать 16 -ю различными способами
- пример из (12)
20. Доня 287 18.12.09 12:25 Сейчас в теме
(17) Прошу, напишите мне путь дословно, не могу найти!
21. Tatitutu 3847 18.12.09 15:48 Сейчас в теме
(20)
Как удалить панель РАЗ И НАВСЕГДА

е EXCEL правой кнопкой по любой панели инструменов (например по слову "файл")- настройка - Панель инструментов - выбрать "Формат_1С" удалить.

удалить вот этот файл:


"C:\Documents and Settings\ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ\Application Data\Microsoft\EXCEL\XLSTART\PERSONAL.XLS";

или
Запустить обработку из шапку "Удалить книгу макросов"
13. marsohod 123 18.12.09 01:22 Сейчас в теме
Доходчиво :)
Как бы не началось движение 1С-хак :D
Tatitutu; +1 Ответить
14. CheBurator 2712 18.12.09 03:12 Сейчас в теме
за код
имяпапки="c:\ljrevtync унд сеттингс итд "- тебя рас пять надо...
16. Арчибальд 2709 18.12.09 07:41 Сейчас в теме
(14)
тебя рас пять надо...
:oops:
15. CheBurator 2712 18.12.09 03:17 Сейчас в теме
на самом деле, суть этих вещей была бы легко понята если бы изучали наследие матсеров, так сказать...
http://www.infostart.ru/public/14134/
1.0 (17.10.2005, выложена в общий доступ), на Исе 08.06.2006 - сделал по решению Абрахамса - голову ломал минут 10...
18. gaglo 18.12.09 09:54 Сейчас в теме
...разоблачение магии все-таки наступило! Рад. Доволен. Пишите ещё. Да побольше!
19. WKBAPKA 215 18.12.09 10:51 Сейчас в теме
Статья однозначно полезная. Автору плюс
22. strax 19.12.09 15:33 Сейчас в теме
это шутка такая Новогодняя ? - ведь этого не пожет быть в принципе
можнаж скорее всего
на третьем рисунке в коде написано
Привет посетилю , а на пятом рисунке уже Привет посетителю
Но развод прикольный, если бы все мечты были явью
23. Tatitutu 3847 21.12.09 15:06 Сейчас в теме
(22) Ну что за люди ?
Какой монтаж где и причем тут развод ?
24. maljaev 789 22.12.09 13:24 Сейчас в теме
(22) Что конкретно тебя удивляет? И о чем твои мечты? Аффтару респект, всё вроде как логично но мысль внедрять макросы в объекты почему-то не приходила. Люблю я всякие извраты, но чисто в порядке хобби.
larisab; PeRom; Tatitutu; +3 Ответить
25. Tatitutu 3847 22.12.09 14:37 Сейчас в теме
(24)
Люблю я всякие извраты, но чисто в порядке хобби

ну вот прям, мою мысль озвучил. Спасибо
26. Lars Ulrich 625 23.12.09 15:25 Сейчас в теме
27. vesax 19 23.12.09 20:38 Сейчас в теме
Автор, продолжай.
Tatitutu; +1 Ответить
28. vligm 22 24.12.09 11:20 Сейчас в теме
29. Tatitutu 3847 24.12.09 12:47 Сейчас в теме
(28) ну как интереснее стало, что сам нашел и без подсказки ?
30. vligm 22 24.12.09 13:06 Сейчас в теме
31. Шёпот теней 1782 29.12.09 23:00 Сейчас в теме
ТиТаТуТу ... не могу тебе написать сообщение в личной карточке.... выдаЁт ошибку ...

... всЁ хорошо ..? ... всЁ хорошо..! ...
... рад за тебя ... с Уважением к тебе Александр Шишкин (Шёпот теней) ...

... вот ...

32. Джиневра 06.01.10 14:05 Сейчас в теме
Спасибо, спасибо. Как раз искала: как обратиться программно к объекту Лист Эксель. А все - как всегда - легко и просто оказалось :)
Даже расскажу для чего использовала объект: для вертикального вывода текста в печатной форме. Ну, вдруг кому идея пригодится.
ЗЫ. Да, и про 25-й релиз я в курсе... ну просто: вдруг нет возможности обновиться, а использовать вертикальный текст хочется... тогда можно и этим объектом обойтись ;)
33. int18h 101 12.01.10 20:24 Сейчас в теме
Гыг... Эдак подытожу за всех: колбасим оле злой мегакулхацкерскийсуперсистемадробильныйпаролетырующий сервер тарим гденть затем ваяем инклудер автоматом интегрирующий оле объект в мxl... Конфикер курит, убыдки миллиардные, бухи пачками стреляются и выкидываются из окон... И наступит АРМАГЕДОН. :) (дядь Жень матай на ус...)
34. modul 158 15.03.10 23:46 Сейчас в теме
Я так понял сдесь описана работа с оле объектом.
35. Zergil 08.06.11 21:57 Сейчас в теме
За оле объект ничего не скажу, а вот скрин модуля интересен возможностью свертки структур(процедур, прочих операторных скобок) в семерке. Что это за приблуда и где ее посмотреть можно?
36. CheBurator 2712 09.06.11 01:02 Сейчас в теме
Это и еще куча всего, что делает 8-ку совершенно ненужной %-)
http://infostart.ru/public/15540/
Andris_infostart; +1 Ответить
Оставьте свое сообщение