"Карманный" EXCEL (подарок для бухгалтера)


Очень часто замечаю, что люди, столкнувшись с 1С (таблицами и отчетами), иногда хотят перепроверить !!! данные, копируют, открывают EXCEL и там выполняют привычные для них действия. Так зачем далеко ходить, ведь все под рукой 🙂

Внешняя обработка с таблицей EXCEL

Код открыт. Без комментариев (сегодня пятница)

 

По огромной просьбе посетителей сайта, рассказываю подробно как сделать это ЧУДО своими руками

Создаем форму в 1С

Меню — Файл-Вставить ActiveX

Если нет этого компонента , то качаем по ссылке

http://www.microsoft.com/en-us/download/details.aspx?id=22276

файл OWC11.EXE размер 18,5 мб. Устанавливаем (это расширение для Web EXCEL)

 

 

Постоянно встает вопрос :

А для чего ЭТО ? 

— ну придумайте сами 🙂

А как сохранить в EXCEL ?

— есть кнопочка на панели инструментов (для пользователей) экспорт в EXCEl

— для программистов (программный способ)

// откроется книга EXCEL

ЭлементыФормы.ЭлементУправления2.Export();

//открыть и сразу записать на диск (в формате xml)

ЭлементыФормы.ЭлементУправления2.Export(«D:Книга3.xml»);

//записать на диск (в формате xml) без открытия

ЭлементыФормы.ЭлементУправления2.Export(«D:Книга3.xml»);

А как загрузить из EXCEL ?

ЭлементыФормы.ЭлементУправления2.XMLURL=»D:Тест.xml»;

P.S.  я надеюсь у здешних программистов не вызовет вопрос как из xls сделать xml и обратно ?

38 Comments

  1. DimaP

    АктивИкс?)

    Reply
  2. Yury1001

    а как запустить, неактивное всё?

    Reply
  3. yandextesting

    Улыбнуло. С пятницей Вас!

    Reply
  4. Фред

    Так это же клинический случай…Ексель может и не помочь…)) Если что и требует проверки, то соответствие неких отчетам другим…

    Reply
  5. Jogeedae

    Эх, плюсну, чего уж там 🙂

    бухи-то налили?

    {Без офиса работало бы вообще цены не было б!!!!!!}

    Reply
  6. Alexsisit

    Не работает!!!

    Офис стоит 2007 открываю обработку все неактивно и ничего не пашет, при увеличении окна увеличиваются все изображение.

    Открыл в конфигураторе, там только форма. Кода нет вообще!

    Если автор не ответит как с ней работать поставлю минус )

    Reply
  7. Tatitutu

    (6) Alexsisit,

    Во первых публикация в Life

    Во вторых в публикации написано : Код открыт. Без комментариев (сегодня пятница)

    В третьих там всего лишь:

    Microsoft Office Spreadsheet 11.0 ActiveX Control на форме

    видно зависит от офиса , 2007 нет подрукой чтобы проверить его работу.

    и вчетвертых : не могу ответить в комментариях у меня нет доступа почему то

    и в пятых : хочешь ставить минус — ставь это твое право

    Удачи, везде , всегда и во всем !

    Reply
  8. Fenicss

    Ну это очень удобно когда работаешь в терминале. И им приходится сворачивать термилку для того что бы запустить эксель на очень медленных Компах.

    А так мне кажется милое дело.

    Reply
  9. tehas

    забавная обработавка =)) возьму себе в коллекцию, спасибо =)

    Reply
  10. MarSeN

    пора сделать то-же самое для управляемой формы ). как пример http://infostart.ru/public/142204/. Если не сделаете Вы — сделаю я (конечно-же с ссылкой на Вашу статью)

    Reply
  11. Tatitutu

    (10) MarSeN,

    Делай — все в твоих руках и удачи.

    Reply
  12. Mell

    Очень понравилась нашему администратору базы. Всегда все перепроверяет в Excel )))

    Reply
  13. echo77

    Я просто во всех отчетах добавляю функционал вычисления суммы выделенных ячеек 🙂

    Reply
  14. Sasha255n

    Ну вообщем то не так часто но бывает такая необходимость насущная возникает и тогда пря мо таки и возникают неудобства с окрытием и закрытием окошек. Вообщем автору однозначно плюс скачаю как выше оратор написал себе в колекцию и не только я дуамаю вещь нужная и пригодиться.

    Reply
  15. xast

    мне очень понравилась ваша идея, пока не скачиваю (не хватает денюжки), но как будет… обязательно скачаю… мои бухи то же в восторге

    Reply
  16. the1

    Офис 2013 тоже не пашет

    Reply
  17. NAKIS

    Сейчас привяжем и нашим бухам) будут просто прыгать от счастья)

    Reply
  18. lelusha

    а как реагирует на это Офис? возможна конвертация?

    Согласна, удобно при работе из терминала, ведь без экселя в 1с никуда)

    Reply
  19. Светлый ум

    не всегда работает

    Reply
  20. alex_4x

    Надо еще допилить возможность записывать полученный файл в 1С (не в виде Excel файла, а в виде документа) и чтобы была возможность одновременно нескольким людям с ним работать.

    У меня такое было сделано, но подглюкивало. 🙂

    Суть такая: Любители пообмениваться ексельками с какой-то мурней (неизвестно чем) делают свой файл, он записывается и потом много людей одновременно! могут менять там строки и колонки, у всех он переодически обновляется. У меня было реализовано как много много документов, в каждом по одной строке в табличной части.

    Строки могут двигать вверх вниз (меняется дата документа, а дата документа используется для сортировки строк. Изначально даты сделаны с разрывом в месяц, начиная с 100 года от рождества христова. 🙂 учитывая. Когда строка передвигается, обычно достаточно поменять дату у одного перемещаемого документа (вверх вниз), все остальные не трогаем.

    С колонками хуже — там надо много перезаписывать.

    Reply
  21. cleaner_it

    Будет больше пользы, если запилить мини-статью — как поместить актив-икс на форму.

    Каждый наклепает себе этих обработок, сколько нужно. Для любого офиса)

    Reply
  22. Tatitutu

    (10) MarSeN, (конечно-же с ссылкой на Вашу статью) — статья Ваша есть , а ссылки на меня нет. бывает.

    Reply
  23. Tatitutu

    (22) cleaner_it, любой каприз — добавил описание в шапку статьи. Спасибо

    Reply
  24. Tatitutu

    (25) arkanru, мне кажется ты «Я» пропустил перед «»

    Должно же быть «По большому счету Я — …,» типа глупый еще и не все получается. Не переживай, будет желание поймешь.

    я то как раз могу сохранить (в любом из трех форматов) и прочитать обратно. А вот что сделал Ты ?

    Reply
  25. arkanru

    (26) Когда кажется — креститься надо, нехристь :))) Пальцы веером, это — здорово ! Слюни подбери, я на досуге ради разминки и загрузил и выгрузил все что мне нужно, потом подумал — а что с этим делать ? Прикол, не более. Возможности этого activeX сильно урезаны, проще уж сам Эксель открыть и сделать все что нужно. Если ты такой крутой в доказательство выложи фрагмент кода, как ты формулы в ячейках сохраняешь.

    Reply
  26. Tatitutu

    (27) arkanru,

    1. тебя не смущает дата публикации 23.11.12 15:21 ? спустя три года твой комментарий как бы немного устарел

    2. элементарно. (там где ты учился — я преподавал)

    3. Хамство не прощаю. До Савеловской не так далеко.

    Reply
  27. arkanru

    Код давай, я тебе таких картинок нарисую мульен

    Хамства аналогично — не прощаю !

    Reply
  28. Tatitutu

    (29) arkanru,

    ЭлементыФормы.ЭлементУправления2.ActiveCell.FormulaLocal=»=»+СокрЛП(Формула);

    Reply
  29. Tatitutu

    Картинки и код в целом — как вставить функцию 🙂

    Reply
  30. arkanru

    Боюсь, уважаемый, вы меня не поняли. Я прошу вас привести код сохранения формулы в ячейке при сохранении данных во «внешнем» файле на диске. В трех форматах — не прошу, хватит одного Экселя, версия Экселя — на выбор.

    а приведенный вами код прописывает формулу в ячейку в поле в ЭлементеУправления, смеетесь, уважаемый ?

    Reply
  31. Tatitutu

    (32) arkanru, Как задал вопрос — так я тебе и ответил. Добавил в описание публикации

    Постоянно встает вопрос :

    А для чего ЭТО ?

    — ну придумайте сами 🙂

    А как сохранить в EXCEL ?

    — есть кнопочка на панели инструментов (для пользователей) экспорт в EXCEl

    — для программистов (программный способ)

    // откроется книга EXCEL

    ЭлементыФормы.ЭлементУправления2.Export();

    //открыть и сразу записать на диск (в формате xml)

    ЭлементыФормы.ЭлементУправления2.Export(«D:Книга3.xml»);

    //записать на диск (в формате xml) без открытия

    ЭлементыФормы.ЭлементУправления2.Export(«D:Книга3.xml»,false);

    А как загрузить из EXCEL ?

    ЭлементыФормы.ЭлементУправления2.XMLURL=»D:Тест.xml»;

    P.S. я надеюсь у здешних программистов не вызовет вопрос как из xls сделать xml и обратно ?

    Reply
  32. Tatitutu

    (34) Скучно с тобой. Ты не понимаешь , что и о чем говоришь. Извиниться слабо, решил слинять

    Reply
  33. arkanru

    собачиться с тобой, да, нет ни малейшего желания, а, собсно, кто и перед кем должен извиняться ? может перечитаешь начало диалога ?

    Reply
  34. Tatitutu

    (36) arkanru,

    попробуйте сохранить в файл внесенные изменения

    — я показал как

    Я прошу вас привести код сохранения формулы в ячейке при сохранении данных во «внешнем» файле на диске. В трех форматах — не прошу, хватит одного Экселя, версия Экселя — на выбор.

    — я показал как

    я то как раз могу сохранить (в любом из трех форматов) и прочитать обратно. А вот что сделал Ты ? — осталось без ответа

    Reply
  35. arkanru
    попробуйте сохранить в файл внесенные изменения

    что непонятного ?

    а ты что начал вещать ?

    а я ничем не хвастался. Обработка с загрузкой-выгрузкой с использованием данного activeX лежит на диске, только я пошел другим путем, создается новый «пустой» COMобъект и в него переносятся по ячейкам все данные и свойства из activeX и этот объект уже сохраняется. Считаю, что хвастаться и понты кидать незачем. Лично я пока этим кодом не доволен.

    но хамить начал ты

    типа глупый еще и не все получается

    извини, но мы с тобой в одной канаве не валялись. Так что — без обид, сам напросился

    Reply
  36. Tatitutu

    (38) arkanru, что же ты такой «болезненный» ? Улыбнись жизнь прекрасна.

    Обработка была выложена — без единой строчки кода — это один из первых примеров использования активХ на форме

    три года назад !!! еще раз повторюсь.

    «только я пошел другим путем, создается новый «пустой» COMобъект и в него переносятся по ячейкам все данные и свойства из activeX и этот объект уже сохраняется.»

    — молодец у каждого свою путь

    нет, ты начал «По большому счету — херня» — если бы задал вопрос — я бы тебе спокойно ответил.а так от кого прилетело туда и вернулось. Тебе с этим жить 🙂

    «извини, но мы с тобой в одной канаве не валялись»

    ты знаешь — я вообще не имею привычки в канаве валяться

    «Так что — без обид, сам напросился»

    Не льсти себе, Tatitutu — обидеть очень хлопотно!

    Reply
  37. arkanru

    На обиженных воду возят. Сиди и обижайся в своем углу.

    Лечиться тебе надо.

    Когда я выложил в сети свои «изыскания» на предмет другого COMобъекта — Skype4Com у меня и в мыслях не было надуваться как индюк, что я там где-то что-то первым выложил.

    А за напоминание о методе Export() — пасиб, что-то я его упустил из виду.

    Reply
  38. Tatitutu

    (40) arkanru, Ты нормально смотрю разговаривать не можешь.

    Никто на тебя не обижался и обижаться не собирается — еще раз говорю не льсти себе.

    Всегда пожалуйста. Обращайся.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *