Данная обработка позволит прямо в 1С получить некоторые преимущества, которыми нас балует Excel.
С помощью этой обработки можно редактировать электронные таблицы. Есть возможность сохранять/открывать таблицы (формат xml).
Если у вас установлен Microsoft Office то обработка позовляет делать импорт/экспорт с Excel-ем.
Поддерживается конвертация «на лету» из/в стандартный для 1С формат mxl.
Требования:
Внешние компоненты 1cpp.dll скачать можно: http://www.1cpp.ru
formex.dll скачать можно: http://www.dorex.ru/?projects&formex
и Веб-Компоненты Microsoft Office (Office 2003 Add-in: Office Web Components) скачать можно: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76
Если у вас установлен Microsoft Office, то Веб-Компоненты скорее всего качать не придется.
Наличие самого Microsoft Office не обязательно.
Так же прикладываю обработку, проверяющую наличие всех необходимых для обработки компонент.
Из недостатков: работает только с простыми типами данных (строка, число, дата…), нет возможности печати (только через mxl или xls), иногда немного криво переносится форматирование.
ЗЫ Для знающих: обработка является оболочкой для OWC11.spreadsheet
Давно уже подумывал как бы пользователям отрубить рабочий стол и все остальное, кроме 1С )))
И как раз такое нужно было ….
Завтра потрогаю
Присоединяюсь к предыдущему комменту 🙂
Супер!
(1,2) Могу порекомендовать еще посмотреть DSOFramer, но он без установленого офиса «не взлетит».
http://infostart.ru/projects/2378/
Вот тут есть пример использования:
Печать есть?
(5) только из xls или mxl (лишний раз кликнуть нужно:)
Супер !!!
(0) Привел эту разработку в качестве примера 🙂
http://infostart.ru/blogs/1134/?p=1#comm1
(8) сенкс.
когда-то делал генерацию таблиц в формате XMLSS из шаблонов:
http://www.1cpp.ru/forum/YaBB.pl?num=1206552116
(10) У меня тоже была идея сделать все в виде КОП (заодно и научиться их делать)…
но к сожалению полной замены mxl все равно не получиться
добавь проверку загрузки внешних библиотек
ОФФ: В ЗиКе использую DSOFramer для печати приказов из Word’a. Глюк с отрисовкой кнопок удалось побороть через Плавающую форму.
Чем хорош DSO, в нем можно открывать любые офисные доки.
(13) а как борешься с глюком самой плавающей формы (слетает позиционирование в СписокЗначений.ВыбратьЗначение(…)) ?
😉 особо не заморачиваюсь, просто способ выбора заменил на стандартный, т.е. в отдельном окне.
Интересно…
Вопрос: «А сколько колонок можно ввести в этот <Excel>??? т.к. в стандартном 2003 есть ограничение = 255»
(17) Точно не скажу, но по-моему как в 2007 екселе (тоесть больше чем 255)
Два дня закачивала обработки 🙂 Ох уж мне это нововведение с рейтингами!… Это я к тому, что лучше было бы одним архивом выложить. Просто ПроверкаСовместимости тоже понадобилась, без нее не могла понять — чего не хватает.
Сама обработка — просто супер 🙂 Пока ничего не слетало и не выбивало. Жалко только, что Печати сразу нету.
(19) Я вам открою маленький секрет — если нет возможно скачать из-за рейтинга — можно всегда написать письмо автору с просьбой выслать файлик. Во всяком случае я обычно не отказываю 😉
Ничего. Прикольно. Главное — при установке нифига думать не надо…
😉
Спасибо. Думаю, пригодится.
(14) Глюк решил, через 1c++ и DynamicWrapperX
(22) Владимир, можно чуть-чуть подробнее?
(22)(23) Если это про плавающую форму, то да, поподробней.
Основная неприятность это то, что окно плавающей формы продолжает жить после ее закрытия (хэндл не уничтожается).
(24) vip, я имел в виду глюк с выбором из обычного списка значений (через сервис вообще перестает работать).
(23) Может я не правильно выразился, речь про глюк обычного списка значений, который «уезжает» после открытия плавающей формы. Если это интересно, то готов поделиться мыслями.
(24) vip, ты же сам пользуешься DestroyWindow, оно же убивает хендл.
(27) А…
Я думал, может ты чего другое придумал.
(26)Да, именно средство борьбы с этим глюком и интересует! Ни разу с DynamicWrapperX не сталкивался — можно хоть саму идею озвучить?
(29)
http://www.script-coding.info/dynwrapx.html
http://www.1cpp.ru/forum/YaBB.pl?num=1241706959
Про DynamicWrapperX —
Посмотри, как я окно двигаю вот тут
со списком значений тоже самое делаю, единственное он будет «моргать»
(30) Спасибо, буду «курить».
(31)http://www.1cpp.ru/forum/YaBB.pl?num=1252664441
(32) Я чуть по другому обошел проблему:
подменил везде ВыбратьЗначение на функцию:
Функция глВыбратьЗначение(Список,Значение,Заголовок=»»,Позиция=»»,Таймаут=0,Способ=0) Экспорт
Если Способ=0 Тогда
Возврат Список.ВыбратьЗначение(Значение,Заголовок,Позиция,Таймаут,Способ);
КонецЕсли;
Сервис=СоздатьОбъект(«Сервис»);
Возврат(Сервис.ВыбратьЗначение(Список,Значение,Заголовок,,2));
КонецФункции
менюшка позиционируется под координаты мыши, единственный глюк — плавающая форма, в момент, когда видно меню выбора становится типа «активной»…
Владимир, я чуть понаглею: не поделитесь рабочим примером, как вы уничтожаете плавающую форму?
(33) Так а эта конструкция будет работать, если ее вызвать 2-й раз? У меня после хотя бы одного открытия Плавающей формы Сервис::ВыбратьЗначение не работает, т.е. ничего не появляется.
По поводу примера — да мне что жалко что ли 🙂
Только учти, что форма уничтожается, если она встроена в конфу.
(34) Спасибо. hWnd — это контекст? Можно этот код размещать в самой плавающей форме (типа призакрытии())?
у меня эта конструкция работает. из ВК загружены V7plus, dilamail, 1C++ (3.0.1.22), Formex (2.0.5.93). Работает стабильно, но у меня только одна плавающая форма, которая стартует и закрывается одновременно с 1С…
Аааа….тогда понятно, а вот попробуй где-нить открыть хотя бы один раз плавающую форму, а потом попытайся сделать выбор -Сервис::ВыбратьЗначение.
hWnd — это контекст
(35) Забыл номер поста проставить.
(36) сорри, но мне не понятно.
http://infostart.ru/public/57767/ в режиме плавающей формы. Если я делаю список.Выбратьзначение — меню привязывается к активному элементу плавающей формы, а если делаю как в (34), то меню привязывается к координатам мыши — не совсем то, чего хотелось бы (пользователи-клавиатурщики жалуются немного), но лучше чем в первом случае.
У меня сейчас в 1С висит обработка, почти аналогичная
тоесть выбор значения работает в обоих случаях, но с разными глюками.
P.S. я имею ввиду только случай с выбором значения ввиде меню (способ=0)
(38) А если так сделать
Сервис=СоздатьОбъект(«Сервис»);
Возврат(Сервис.ВыбратьЗначение(Список,Значение,Заголовок,,0));
(39) 🙂 Так не пойдет конечно. Я имел ввиду, что я подменяю способ=0 на способ=2 из метода Сервиса…
в 38 посте опечатался: вместо «делаю как в (34)» нужно «делаю как в (33)».
Вообщем понятно, что после открытия плавающей формы нет возможности привязать меню выбора к активному элементу, за исключением способа, предложенного тобой.
Спасибо за подсказки, буду мучить DestroyWindow.