MiracleV8: Расширенная версия

03.11.11

Разработка - Разработка внешних компонент

Универсальная компонента для 1С 7.7 и 1С 8.x

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Ссылка на скачивание
.txt 0,03Kb
2324 Скачать бесплатно
-
.txt 29,04Kb
1335 Скачать бесплатно
Тест77
.zip 657,27Kb
646 Скачать бесплатно
Тест81
.zip 681,43Kb
554 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Работа с xls-файлами на считывание/запись напрямую (не  требует наличия Excel или Open Office), интерактивная иконка окна 1С в трее,

медиа, индикаторы, работа с htm-файлами и веб-ссылками, аниматоры, прогресс-бары, некоторые возможности WinAPI для продвинутых, некоторые полезные функции для администрирования и т.д. (см. файл описания)

MiracleV8_TestBase81.zip - тестовая база 8.1, dll внутри

MiracleV8_TestBase77.zip - тестовая база 7.7, dll внутри

Описание (ReadMe).txt - описание методов

Примечание: обновления dll в четвертом файле с номером актуальной версии

ВНИМАНИЕ: в связи с вопросами кое-кого сообщаю, что внутри тестовых баз лежат самые дремучие версии dll, тестовые базы не обновляются с начала публикации.

Версия 2.1.3.0, добавлен "Рабочий стол". Скачивать по ссылке в публикации


Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Маркетплейсы Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, ЛаМода, Мегамаркет, Aliexpress, Детский мир, Магнит Маркет (быв.МагнитЭкспресс), Лемана про, ЭНФАНТА (Акушерство), Летуаль, Твой дом, Золотое Яблоко, Каспи, Авито, Аптеки+, М.Видео,Тинькоф в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP.

5490 руб.

12.08.2021    48436    654    71    

230

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

12444 руб.

29.10.2014    237863    777    544    

509

Загрузка и выгрузка в Excel Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса Lamoda «Ламода» для конфигурации: 1С:Бухгалтерия предприятия, редакция 3.0; 1C:Управление торговлей, редакция 11 и 1C:Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

6000 руб.

01.03.2021    13426    89    0    

44

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 07.10.2026, версия 9.5.0 - 10.9.0)

20740 руб.

20.11.2015    179820    430    401    

546
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 4027 24.10.09 12:46 Сейчас в теме
2. Abadonna 3979 24.10.09 12:51 Сейчас в теме
В самом начале ошибся, два раза положил тестовую базу 8.1 :cry:
Исправил
151. sytkosa 119 14.04.10 00:03 Сейчас в теме
(2) Есть маленькие проблемки с тестовой базой под 8.1
1. Если база запущенна под Windows 7 то СтрокаСоединенияИнформационнойБазы() выдает "File="D:\infobase\8.1\MiracleV8_TestBase81\";" т.е. слэш на конце строки уже есть
2. Обработка Статус прогресс бар ничего не показывает. Т.е. мигнуло что то и все бара нет внизу окна, хотя курсор был еще какое-то время был занят т.е. цикл счетчика работал
3 При закрытии главного окна программы иконка в трэе не проподает пока на неё не наведешь мышью
152. Abadonna 3979 14.04.10 00:07 Сейчас в теме
(151)
Если база запущенна под Windows 7

Под Windows 7 ничего сказать не могу: нет её у меня, и еще долго не собираюсь...
3. Арчибальд 2712 24.10.09 13:10 Сейчас в теме
4. пользователь 24.10.09 23:13
Сообщение было скрыто модератором.
...
5. пользователь 24.10.09 23:55
Сообщение было скрыто модератором.
...
6. пользователь 25.10.09 04:05
Сообщение было скрыто модератором.
...
8. GSoft 2345 26.10.09 12:14 Сейчас в теме
(6) очевидное не найдено
видимо оно еще и невероятное :D
7. Velostrannik 202 25.10.09 17:12 Сейчас в теме
Работа с эксельными файлами без установки Эксель - это круто!
Да... Abadonna молодец. Супер гений!
44. igor_gk 49 01.11.09 10:08 Сейчас в теме
(7)
Работа с эксельными файлами без установки Эксель - это круто!

В принципе да, неплохо... Только, если уже есть цель эксцель не ставить вообще, то зачем с ними работать? Полно других более цивильных вариантов.
9. venger 2127 26.10.09 12:29 Сейчас в теме
Новая ВК всегда лучше, чем новый перенумератор, как по мне;)
gilaa70; v.l.; w-divin; vasilykushnir; anig99; +5 – Ответить
10. Душелов 4027 26.10.09 13:57 Сейчас в теме
(9) А я вот, лично, сейчас болею за "рабочие столы".
Вот за чем будущее!
11. Abadonna 3979 26.10.09 13:58 Сейчас в теме
(10) А я всё больше за столик в приличном ресторане :D
12. Арчибальд 2712 26.10.09 14:18 Сейчас в теме
(11) Рабочий столик ;)
13. iov 409 26.10.09 14:24 Сейчас в теме
(10) 1С выполняемая как рабочий стол? или рабочий стол в 1С (1С аля explorer)? А когда будет?
14. venger 2127 26.10.09 16:47 Сейчас в теме
(13) Их (рабочих столов этих) уже с десяток на ИС, по-моему;-)
15. venger 2127 26.10.09 16:48 Сейчас в теме
(13) +14, они скоро потеснят перенумераторы;-)
chepkin-sm; +1 – Ответить
344. пользователь 13.11.10 16:17
Сообщение было скрыто модератором.
...
347. пользователь 13.11.10 16:38
Сообщение было скрыто модератором.
...
349. пользователь 13.11.10 16:40
Сообщение было скрыто модератором.
...
16. Abadonna 3979 26.10.09 16:49 Сейчас в теме
Рация НА ТАНКЕ :D
Дядя Вася пошутил в 10
chepkin-sm; +1 – Ответить
17. mir-inoy 26.10.09 18:31 Сейчас в теме
193. Andry.Boris 59 09.08.10 23:03 Сейчас в теме
Попробовал тестовую...

{МодульПриложения(17)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты
ЗагрузитьВнешнююКомпоненту(Путь+"MiracleV8.dll");
по причине:
Ошибка при загрузке внешней компоненты

В чем проблема?...
194. Abadonna 3979 10.08.10 05:29 Сейчас в теме
(193) Даже не подскажу, не было таких жалоб. Сейчас закачал тестовую к себе - без проблем. А права локальные на запись в реестр на компе есть?
18. iov 409 26.10.09 18:42 Сейчас в теме
нет какие могут быть шутки с рабочими столами? :evil:
тут главное цвет и количество иконок и самое главное ОБОИ!!
без них нельзя!!! :D
(Это шутка если кто не понял)
19. venger 2127 26.10.09 21:45 Сейчас в теме
(18) Да простят меня люди;) Но главное - это иконки на столе:
http://www.infostart.ru/upload/iblock/549/workingtable.jpg

21. iov 409 26.10.09 23:19 Сейчас в теме
(19) Не трожъ икону :evil: . Человек всю жизнь творил и работал :!:
(20) В обычной обстановке = на столе - скатерть, обои на стенах (иногда на потолке), иконки - в красном углу... - это до того как кончилась закуска, а пить долго ... потом - как в компе обои на столе иконки на обоях.
22. poppy 26.10.09 23:40 Сейчас в теме
(21) Тут главное дурака в магазин не отправлять, точнее в магазин отправлять недурака. Иначе закуска превратится в еду и иконок на обоях не будет.
23. iov 409 26.10.09 23:48 Сейчас в теме
(22) И как разок было...
Я сказал - Пьянству бой! И набил лицо охраннику ресторана (за что пардон и вечный стыд мне).
24. iov 409 26.10.09 23:54 Сейчас в теме
(23) ну и на оффтопили мы тут :(
29. пользователь 27.10.09 08:39
Сообщение было скрыто модератором.
...
20. пользователь 26.10.09 23:05
Сообщение было скрыто модератором.
...
25. RinGo 91 27.10.09 06:59 Сейчас в теме
:?: MDIhref(...)/Reporthref(...,...) - внедрить веб-окно по ссылке
... А как убрать?
26. Abadonna 3979 27.10.09 07:02 Сейчас в теме
(25) На отчете зачем убирать? Закрыл да и всё...
Если шибко надо - приделаю, проблем ноль
27. RinGo 91 27.10.09 07:47 Сейчас в теме
:!: Буду очень признателен!..
28. Abadonna 3979 27.10.09 08:12 Сейчас в теме
По просьбе RinGo, версия 1.9.6.5, два метода по разрушению объектов
MDIhre и Reporthref:
FreeMDIHref() - без параметров
FreeReportHref() - без параметров
30. пользователь 27.10.09 08:40
Сообщение было скрыто модератором.
...
31. пользователь 28.10.09 08:33
Сообщение было скрыто модератором.
...
33. пользователь 28.10.09 08:58
Сообщение было скрыто модератором.
...
34. пользователь 28.10.09 09:22
Сообщение было скрыто модератором.
...
32. пользователь 28.10.09 08:38
Сообщение было скрыто модератором.
...
35. пользователь 28.10.09 09:30
Сообщение было скрыто модератором.
...
36. пользователь 29.10.09 11:25
Сообщение было скрыто модератором.
...
37. пользователь 29.10.09 11:27
Сообщение было скрыто модератором.
...
38. gvadeg 29.10.09 22:17 Сейчас в теме
При нажатии esc объект не разрушается
После отмены запустить статусПрогрессБар не удается.
39. Abadonna 3979 30.10.09 03:53 Сейчас в теме
(38) не совсем понял в какой момент нажатие esc?
если во время цикла - он и не должен разрушаться...
разрушается только при закрытии формы или при установке его позиции в 100%
40. Abadonna 3979 30.10.09 04:09 Сейчас в теме
+(39) Добавил принудительное разрушение при повторном использовании SetProgressBarEx()
версия 1.9.6.6
41. artbear 1590 30.10.09 12:45 Сейчас в теме
(40) В заголовке не поменял версию на 1.9.6.6
ЗЗЫ наконец-то я вернулся на ИС, несколько дней был автобан :)
42. Abadonna 3979 31.10.09 12:42 Сейчас в теме
В описание добавлены ранее не документированные методы.
актуальная версия 1.9.6.7
43. Abadonna 3979 01.11.09 05:56 Сейчас в теме
1.9.6.8 Добавлен контроль "рождаемости/смертности" форм
см. Описание
45. maloi_a 03.11.09 15:06 Сейчас в теме
Когда стартую 1С:Предприятие из конфигуратора повторно, затем закрываю оба окна, из трея одну иконку не убирает пока не нажмёшь кнопку отображения скрытых значков. Без конфигуратора всё нормально.
46. Abadonna 3979 03.11.09 15:08 Сейчас в теме
(45) Я никогда эту кнопку не юзал, даже и не проверял...
47. Abadonna 3979 04.11.09 07:09 Сейчас в теме
1.9.6.10 Добавлено всплывающее окно
48. Zep 05.11.09 14:19 Сейчас в теме
Планируется ли сделать запись xls без установленного ms/open-офиса?
51. Abadonna 3979 06.11.09 07:52 Сейчас в теме
(48) Вообще-то не так сложно, не стал делать только потому, что 1С и сама в xls пишет
52. pavlo 06.11.09 07:57 Сейчас в теме
(51) пишет и зависает на больших объемах, а также не умеет формулы и т.д. писать.
53. Abadonna 3979 06.11.09 07:59 Сейчас в теме
(52) Ну, посмотрю на выходные...
54. Душелов 4027 06.11.09 08:11 Сейчас в теме
(51) В контексте сервера 1С не пишет в xls ;)
55. Abadonna 3979 06.11.09 08:13 Сейчас в теме
(54) Василий, не пугай! :D
В 8-ке я еще не добрался до контекста сервера 1С ;)
56. Душелов 4027 06.11.09 08:20 Сейчас в теме
(55) Ты, кстати, посмотри потом, как твоя миракл там будет "вариться" ;)
А то, думаю, придется тебе на ActiveX переводить ее. Событий добавить...
57. Abadonna 3979 06.11.09 08:25 Сейчас в теме
(56) Посмотрю, но она, в общем, и так ActiveX, от ТСВК используется практически только Init-Done для того чтобы сработало ЗагрузитьВнешнююКомпоненту
58. pavlo 06.11.09 08:59 Сейчас в теме
(56) любишь ты все таки АктивХ :D
кто бы кубик еще из ТЗ написал на АктивХ хотябы ;)
59. Душелов 4027 06.11.09 09:39 Сейчас в теме
(58) АХ - это возможность использования визуальных компонент в 1С + работает в контексте сервера + подписка на событие компоненты из 1С.
Без всяких там "обработок внешних событий".

Кубик - это не интересно... Таких уже полно разработок.
61. JohnyDeath 302 06.11.09 09:50 Сейчас в теме
(59) на самом деле очень интересно. Толкового кубика я так и не увидел (
63. pavlo 06.11.09 10:39 Сейчас в теме
(59) >Кубик - это не интересно... Таких уже полно разработок.
Если бы были реально те которые удовлетворяли бы потребностям, не говорил бы :)
60. JohnyDeath 302 06.11.09 09:50 Сейчас в теме
62. Abadonna 3979 06.11.09 09:51 Сейчас в теме
(60) Обсуждение AX (ActiveX) переносим в форум ;)
А то мне письма валятся
64. pavlo 06.11.09 10:40 Сейчас в теме
(60) Ну а он расшифровки умеет делать? и потом какая то версия была его не умела расшифровки и изрядно кривая была :(
68. Zep 06.11.09 12:32 Сейчас в теме
(54) именно поэтому и задал вопрос :)
49. pavlo 06.11.09 06:19 Сейчас в теме
прикольный сайт я смотрю, 2 дня с утра захожу и пытаюсь качнуть компоненту, а она мне превышен лимит скачиваний в сутки, это видать новый подход администрации сайта, не платите денег будем врать что от вас уже все сегодня скачано!
50. pavlo 06.11.09 06:21 Сейчас в теме
вот если бы умела писать в excel без установленного ms/open-офиса с формулами и т.д. было бы круто :)
65. pavlo 06.11.09 10:44 Сейчас в теме
эта разработка мне лично интересна если честно пока только выводить разные новости на рабочий стол 1с :) ну для красоты классная вещь прогресс бар в 1с нижней панели.
Но скачать никак не удается, администрация сайта гонит, 2 дня ничего отсюда не качаю, а мне с утра по раньше говорит уже лимит исчерпан :)
66. Abadonna 3979 06.11.09 10:48 Сейчас в теме
(65)> выводить разные новости на рабочий стол 1с
И чего все так любят всё в 1С запихать? ;)
> классная вещь прогресс бар в 1с нижней панели
В 8.1 можно сделать стандартными методами, в 7.7, конечно, фиг.
>Но скачать никак не удается
Оставь мыло - закину, если у так надо
67. pavlo 06.11.09 11:20 Сейчас в теме
(66) Ну конечно про 7.7. говорю, на счет чего так любят, так суть в том что народ в компании больше всего в ней и работает, отсюда самое точное решение там и выдать то или иное, так как по другому всегда кто то да не в курсе остался. Ну и можно логотип замутить конторы прямо на рабочем столе :) но это вкусности по сути уже :)
мыло: pavlo1c собачара mail.ru
69. Abadonna 3979 08.11.09 09:36 Сейчас в теме
1.9.6.12 Добавлена прямая запись в xls-файл (наличия Excel и Open Office не требует)
70. Abadonna 3979 08.11.09 17:58 Сейчас в теме
+(69) Ха! Сам не ожидал:
время заполнения xls-матрицы 50000х10 (пятьдесят тыс. строк, 10 столбцов) словом "Тест"
Старт: 08.11.2009 21:51:36
Финиш: 08.11.2009 21:51:58
Старт: 08.11.2009 21:52:09
Финиш: 08.11.2009 21:52:32
Старт: 08.11.2009 21:52:59
Финиш: 08.11.2009 21:53:21
______________________________________
тачка:
Процессор:AMD Athlon™ 64 X2 Dual Core Processor 4600+ частота 2420
Оперативная память, MB: 2146
71. Abadonna 3979 09.11.09 10:46 Сейчас в теме
1.9.7.1 Добавлена возможность создания новых форматов xls-ячейки, использование числовых формул
72. pavlo 10.11.09 13:44 Сейчас в теме
не хорошая штука есть, если журнал открыть на фоне этих часов и не разворачивая журнал на всю область, тоесть открыть видя часы нажать на часы или любую рабочую область то Журнал пропадает бесследно.
однако он видно на панели внизу что открыт и там если только правой кнопкой нажать и сказать развернуть то тогда появляется снова до след клика по "часам" :(
74. Abadonna 3979 10.11.09 13:46 Сейчас в теме
(72) Честно говоря, я на рабочей базе и не проверял, да и часики на MDI просто по приколу повесил...
73. pavlo 10.11.09 13:44 Сейчас в теме
на счет формул нужно попробовать, классно, спасибо!
75. pavlo 10.11.09 13:53 Сейчас в теме
нет ну я и говорю что это косячит даже на твоей тестовой
77. Abadonna 3979 10.11.09 14:01 Сейчас в теме
(75) То, что другое окошко сворачивается - это нормально, потому что часы - тоже окошко MDI, при клике выходит на передний план, заставляя
других сернуться. На 8.1 они спокойно сворачиваются и разворачиваются кликом в панели (левым). В 7.7, значит, немного по другому...
Кстати, не полько по часам, а и просто клик по MDI заставляет их свернуться
76. pavlo 10.11.09 14:00 Сейчас в теме
я просто задумался кабы это не было с любым текстом который там появляется, я же тыкаю не только на часы но и на любое место всей поверхности рабочей 1с
78. Abadonna 3979 10.11.09 14:02 Сейчас в теме
(76) Это закономерные издержки
79. Abadonna 3979 10.11.09 14:15 Сейчас в теме
Ты выводи им текст через
SetDesktopAlert(Текст: строка,ВремяПоказа: целое,Прозрачность: целое) - создать всплывающее окошко
Тогда уж не отвертятся, даже если главное окно свернутое будет :D
80. Abadonna 3979 11.11.09 06:18 Сейчас в теме
2 support по новому дизайну
И где САМЫЙ ОСНОВНОЙ файл с обновленной версией (номер четыре,1.9.7.1) :?: :!:
P.S. В режиме редактирования он, разумеется, есть
Прикрепленные файлы:
81. support 4484 11.11.09 06:32 Сейчас в теме
(80) прекрасно вижу четвертый файл
82. Abadonna 3979 11.11.09 06:36 Сейчас в теме
(81) СЕЙЧАС и я вижу :D
83. pavlo 13.11.09 08:18 Сейчас в теме
а как вылечить это кто нить знает? ;)
84. pavlo 13.11.09 08:24 Сейчас в теме
а также скудно описаны параметры у методов :(
SetStatusBarGauge(,) например здесь если какие то параметры меняешь цвет походу меняется заполнения
85. Abadonna 3979 13.11.09 09:30 Сейчас в теме
(84)>SetStatusBarGauge(,) например здесь если какие то параметры....
Спецом не стал указывать, чтобы цветом не баловались ;)
А вообще-то это стартовый и финишный цвета индикатора (по умолчанию от белого до серого)
>а как вылечить это кто нить знает?
Настраивал по свой монитор с разрешением 1280x1024, левая граница задана жестко, так, чтобы правый край индикатора приходился вплотную
к индикатору [CAP]/
86. pavlo 13.11.09 09:38 Сейчас в теме
вот именно а у нас в конторе у половина 15" еще стоят :( с твоим разрешением вообще мало кто у нас есть :(
нужно как-то отслеживать это компонентой иначе становится не пригодной фишка :(
87. pavlo 13.11.09 09:41 Сейчас в теме
если можешь получить начало позиции [CAP] то можно оставить левую на месте, только прогресс короче сделать!
88. Abadonna 3979 13.11.09 09:44 Сейчас в теме
(87) За последние 5 лет НИ ОДНОЙ конторы не встречал, где стоят пятнахи, ей Богу :D. Семнахи - и то уже редкость.
Мне проще добавить еще один парамерт куда помещать Лево, чем все виды разрешений учитывать... Щас прям и добавлю ;)
89. Abadonna 3979 13.11.09 09:45 Сейчас в теме
>если можешь получить начало позиции [CAP]
Вот позицию CAP я как раз никак не получал, получал просто правую позицию статус панели, а дальше метод научного тыка ;)
90. Abadonna 3979 13.11.09 10:07 Сейчас в теме
2 pavlo: скачай, номер версии менять не стал.
SetStatusBarGauge(ЦветСтарт, ЦветФиниш, Лево: целые)
ЦветСтарт, ЦветФиниш, Лево - необязательные, по умролчанию
ЦветСтарт- белый, ЦветФиниш- серый, Лево - 0
Если Лево не ноль - тогда заданное значение, иначе - встроенное
Добавил метод ScreenParam() - возвращает разрешение экрана, вида
Ширина x Высота - строка (разделитель англ "x")
91. pavlo 13.11.09 10:23 Сейчас в теме
запускаешь обработку выдает скажем 25% и тут ошибка, бар остается - ну да ладно.
исправляешь ошибку и запускаешь обработку снова, поле бара с процентами которое осталось белеет на простую полоску белую и все, больше бар не пашет вовсе, пока 1С не перезапустишь :(
92. pavlo 13.11.09 10:25 Сейчас в теме
(91) ну так жутко не удобно, из-за одно отчета перебрать все варианты этого значения под экран :( а в новых постоянно это делать (не важно как, что через глобальник, что просто в отчете) но из-за мааленькой рюшечки имхо тяжко!
94. Abadonna 3979 13.11.09 10:45 Сейчас в теме
(92) Отследить на статус панели, где начинается CAP НЕВОЗМОЖНО, это не отдельные окошки с хэндлом. Невозможно, кстати, и в 8.1 отловить конкретную кнопку, нет ни у одной заголовка а класс окна везде один и тот же V8FormElement
95. Abadonna 3979 13.11.09 10:47 Сейчас в теме
+(94) Ну поставь везде, например, L=250 да и всех дел! Чуток обрежет в крайнем случае текст Состояние("бла-бла")
93. Abadonna 3979 13.11.09 10:27 Сейчас в теме
Поставь везде передперед SetStatusBarGauge
Попытка
StatusBarGaugePosition(100) // при установке в 100 обязательно разрушится
Исключение
КонецПопытки
100. pavlo 13.11.09 11:11 Сейчас в теме
(93) не понял, что даст попытка, он то нормально сработал, а потом упал с ошибкой после уже...
Ааа ты про разрушение в начале процедуры, перед новым созданием, понял ок... можно и так. сенкс
96. pavlo 13.11.09 10:57 Сейчас в теме
ну обрезанные кривые прогрессы это уже не айс, в формекс как то добавляют часы и т.д. со сдвигом, не ужто сами все перерисовывают и выводят :)
97. Abadonna 3979 13.11.09 10:59 Сейчас в теме
(96) Формекс работает с библиотеками самой 1С, это совсем другой принцип ВК и ее уровень
98. Abadonna 3979 13.11.09 11:01 Сейчас в теме
+(97) Обрезанного прогресса как раз и не будет по (95), он может порезать текст состояния (а на фиг он ваще нужен, если есть индикация?)
99. pavlo 13.11.09 11:08 Сейчас в теме
(98) ну тогда и размер бы самой панельки сделать, чтобы можно было выставить ;)
101. Abadonna 3979 13.11.09 11:16 Сейчас в теме
(99) Уговорил, черт красноречивый :D
Перезакачивай, четвертый параметр (по умолчанию=0) - ширина прогресс-бара. Если ноль, ширина=150, иначе - указанная
102. pavlo 13.11.09 11:18 Сейчас в теме
прикольно теперь, раз 5 нажал сформировать отчет все показывается нормально, но потом 1с раз и улетела причем без отладки :( просто слетела нафиг и так постоянно!
103. pavlo 13.11.09 11:25 Сейчас в теме
заметил ровно 5 раз можно сформировтаь отчет, причем закрыл или не закрыл не важно. как только в 6 раз жмешь сформировть 1с пока :)
104. Abadonna 3979 13.11.09 11:30 Сейчас в теме
(103) Спасибо за тестирование. Сделал ошибку из-за невнимательности, разрушал не основного владельца прогресс-бара.
Исправил, раз 10 прерывание сделал - все ОК.
P.S. И не надо теперь перед началом установки разрушать (ставить в 100).
Он теперь сам обязательно разрушит старый по SetStatusBarGauge
105. pavlo 13.11.09 11:37 Сейчас в теме
да чего не по тестить, что поможет в работе :)
правда чую скоро лимит на скачивание отсюда у меня кончится :)
106. Abadonna 3979 13.11.09 11:38 Сейчас в теме
(105) Ну тогда придется мне тебе кидать по мылу :D
107. pavlo 13.11.09 11:47 Сейчас в теме
а аськи у тебя нет? а то мы уже сокро 10 страниц поста здесь сделаем :)
108. Abadonna 3979 13.11.09 11:49 Сейчас в теме
109. pavlo 17.11.09 13:52 Сейчас в теме
Ексель=СоздатьОбъект("AddIn.MiracleClass");
Ексель.NewXLS(ИмяФайла);
//Шапка
индекс=Ексель.XLSAddFormat("Arial Cyr",10,1,0);
Ексель.CellSetString(1,1,"Товар",индекс);
Ексель.CellSetString(1,2,"Цена,руб",индекс);
Ексель.CellSetString(1,3,"Есть",индекс);
Ексель.CellSetString(1,4,"В пути",индекс);
Ексель.CellSetString(1,5,"Заказ",индекс);
Ексель.XLSWrite(); // зафиксировали (записали файл)

В итоге, вниз добавляет таблицу с примером, которую я не прошу добавлять :)
p.s. Опечатка в методе XLSDelFomat(Индекс) вместо XLSDelFo"R"mat(Индекс) ;)
110. Abadonna 3979 18.11.09 14:05 Сейчас в теме
Ни фига не понял... :cry:
Вот отреботка твоего кода, никаких "таблиц с примером"...
Прикрепленные файлы:
111. pavlo 19.11.09 07:02 Сейчас в теме
хотел все в асе объяснить, но тебя там нет чего то :)
112. Abadonna 3979 22.11.09 16:44 Сейчас в теме
1.9.7.3 Подправлены баги при записи XLS-файлов. Новые бантики
114. Lapitskiy 1064 01.12.09 18:39 Сейчас в теме
115. Abadonna 3979 02.12.09 09:02 Сейчас в теме
1.9.7.5
По просьбе http://infostart.ru/public/59436/forum/topic/28936/message/330549/#message330549 (4,5)
добавлены методы:
StayOnTop() - сделать главное окно 1С всегда поверх всех окон
Примечание:
в связке с MainNoMinimize() юзвери никак от окна избавиться не смогут, только закрыть ;)
PlayBeep(Частота, Длительность: целые) - пискнуть системным динамиком
Частота, Длительность - необязательные, по умолчанию 440 Гц (Ля) и 1000 - одна секунда.
Примечание: проверить не смог, динамика нема ;)

116. Abadonna 3979 02.12.09 09:45 Сейчас в теме
+(115) Кушнир по моей просьбе проверил PlayBeep - пищит ;)
118. Abadonna 3979 25.12.09 17:16 Сейчас в теме
начал дорабатывать под 8.2.
Прикрепленные файлы:
119. Душелов 4027 25.12.09 17:20 Сейчас в теме
(118) Давай, давай... :D

Кстати, не смотрел spy++ или оным текущее положение окон 8.2 (тонкий клиент, веб пока опускаем) ?

С вебом, думаю, будет проще.
124. Abadonna 3979 25.12.09 19:31 Сейчас в теме
(119)
Кстати, не смотрел spy++ или оным текущее положение окон 8.2 (тонкий клиент, веб пока опускаем) ?

Нашел подложечку, куда можно компоненты всадить ;)
Мудро тупым методом:
function EnumChildMain(wnd: hwnd; LParam: LParam): bool; stdcall;
var b: array[0..100] of char;
var hexwnd:string;
begin
hexwnd:=IntToHex(wnd,8);
GetClassName(wnd,@b,100);
Form1.Memo1.Lines.Add(hexwnd+' '+StrPas(b));
ShowMessage(hexwnd);
PB:=TProgressBar.CreateParented(wnd);
PB.UpdateControlState;
PB.Left:=10;
PB.Top:=40;
PB.Width:=200;
PB.Height:=20;
PB.Visible:=true;
PB.Enabled:=true;
PB.Position:=60;
end;
Показать

Тупо жмем кнопочку на ShowMessage(hexwnd) и смотрим, когда же он, родной видимо появится на форме 8.2 ;)
125. Abadonna 3979 26.12.09 05:24 Сейчас в теме
120. Душелов 4027 25.12.09 17:20 Сейчас в теме
Да и не правильно ты все делаешь! Надо каждую фичу отдельной разработкой выкладывать! А ты все в одно лепишь! :evil:
121. vip 25.12.09 18:10 Сейчас в теме
122. Abadonna 3979 25.12.09 18:19 Сейчас в теме
(120) я просто положу потом под названием Суперуниверс :D
отдельно
123. Душелов 4027 25.12.09 19:04 Сейчас в теме
(122) И получишь свои заслуженные 12,5 плюсов :)))
134. artbear 1590 20.02.10 21:41 Сейчас в теме
(126) А чего блогами не пользуешься? самое-то для показа обновлений
135. Abadonna 3979 20.02.10 21:43 Сейчас в теме
(134) Вообще-то они у меня как раз в форуме и лежат, даже с примером кода.
http://infostart.ru/public/59436/forum/topic/28936/
136. artbear 1590 20.02.10 21:48 Сейчас в теме
(135) Блог сразу показывается, чуть ниже самой публикации, не нужно никуда дополнительно заходить.
137. Abadonna 3979 20.02.10 21:51 Сейчас в теме
(136) Попробую. Только мне она уже наскучила, вряд ли я еще чего там приделаю, просто неинтересно уже :(
138. пользователь 20.02.10 22:24
Сообщение было скрыто модератором.
...
127. V_Nikitin 04.02.10 20:35 Сейчас в теме
Неверно загрузилось поле типа дата из Excel.
128. Abadonna 3979 17.02.10 03:35 Сейчас в теме
(127) Вообще-то она даты специально не определяет, а просто возвращает форматированной строкой.
См. на рис, что у меня получилось
Прикрепленные файлы:
140. Борода 03.03.10 23:20 Сейчас в теме
(128) а нет ли возможности подменить формат дат на форме в 77 на американский (мм.дд.гг) ?
141. Abadonna 3979 04.03.10 10:04 Сейчас в теме
(140) Не понял вопроса... Формат дат на форме - что имеется в виду?
При выборе даты в поле ввода?
142. Борода 04.03.10 11:52 Сейчас в теме
(141) да, имеется ввиду реквизит диалога типа дата. При установке региональных параметров "Английский (США)" формат даты в диалоге остаётся "дд.мм.гг", а хотелось бы чтобы он понимал системные настройки и переходил в режим "мм.дд.гг". Ну или хотябы мог быть переведён в такой режим программно.
143. Abadonna 3979 04.03.10 11:56 Сейчас в теме
(142) Посмотрю, но ничего не обещаю ;)
221. Abadonna 3979 21.08.10 12:32 Сейчас в теме
Версия 1.9.9.15 (после 12:45 Москвы 21.09.10), новый метод:
SetButtonCaptionEx(ЗаголовокКнопки1С,ЦветФонОт,ЦветФонДо,ЦветРамки,ЦветШрифта)
Для более явного выделения кнопки (рамка вокруг)
Дополнительный параметр ЦветРамки - целое
//-- бардовая рамка (128)
L.SetButtonCaptionEx("Закрыть",8684799,255,128,65021);
Не применять для форм, открываемых модально!!!
//-- синяя рамка  (15966336)    
L.SetButtonCaptionEx("С&формировать",16245453,7950848,15966336,0);

Прикрепленные файлы:
129. Abadonna 3979 20.02.10 21:21 Сейчас в теме
Примутил "Арчибальдовидные" окошки ;) На фиг, сам не знаю. Вдруг кому-нибудь понравится.
Примечание: это не картинка на форму наложена. Варианты градиента могут быть любые.
Прикрепленные файлы:
130. Abadonna 3979 20.02.10 21:23 Сейчас в теме
+(129) Если кто-нибудь скажет, что оно надо - выложу свежую версию :D
132. larisab 159 20.02.10 21:37 Сейчас в теме
(130) Выкладывай "арчибальдовидную" версию, увековечь!
131. artbear 1590 20.02.10 21:36 Сейчас в теме
(0) Сабж точно умеет получать содержимое окна сообщений 8-ки ?
133. Abadonna 3979 20.02.10 21:41 Сейчас в теме
(131) Может, но методом советских отолярингологов.
Программно фокус на окно, программно выделить всё, программно копировать.
И есть метод получения текста из буфера.
139. Abadonna 3979 26.02.10 13:19 Сейчас в теме
144. Борода 10.03.10 19:41 Сейчас в теме
Set1CMaxPriority() - лучше сделать Set1CPriority(N)
CaptureWindow() - сворачивать в панель окон 1С
145. Борода 12.03.10 12:44 Сейчас в теме
Иногда странно как-то прогресс SetStatusBarGauge цепляется внизу (см. картинку) + не учитывает наличие доп полей типа время и раскладка клавиатуры.
Добавьте "для продвинутых" GetPID1C() пл3 :)
А скоро ли появятся обещанные кнопочки на родных тулбарах ? :oops:
Прикрепленные файлы:
146. Abadonna 3979 13.03.10 10:12 Сейчас в теме
(145)
1.SetStatusBarGauge(ЦветСтарт,ЦветФиниш,Лево,Ширина:целые) – установить индикатор прогресса на статус-панели 1С (там, где выводится Состояние(«бла-бла»), в правой части панели). Значение процента прогресса выводится посередине индикатора.
ЦветСтарт,ЦветФиниш - необязательные, по умолчанию от белого до темно-серого, цвет полоски индикатора
Лево - необязательный, если ноль - встроенное, иначе указанное - левая граница бара на статус панели
Ширина - необязательный, если ноль - встроенное (150), иначе указанное - ширина бара на статус панели.
Используй параметр Лево. Автоматом наличие панелей не определяется
2. Кнопки уже есть (давно)
http://infostart.ru/public/59436/forum/topic/28936/?PAGEN_1=5
пост 50

147. Abadonna 3979 13.03.10 10:34 Сейчас в теме
(145)
Добавьте "для продвинутых" GetPID1C() пл3

1.9.9.2
GetThreadPID(Что:число): целое.
Что - необязательный, по умолчанию 0.
Если 0 - возвращает ИД процесса (PID), иначе ИД нити (ThreadID)
Пример:
Сообщить("PID = "+L.GetThreadPID());
Сообщить("ThreadID = "+L.GetThreadPID(1));
148. Abadonna 3979 13.03.10 15:14 Сейчас в теме
1.9.9.3 Для удобства работы с главным окном добавил метод
GetMainRect(Что:строка):число
Что - необязательный, по умолчанию "L"
Что="L" - абсолютная Х-координата верхнего-левого угла окна 1С
Что="T" - абсолютная Y-координата верхнего-левого угла окна 1С
Что="W" - ширина в пикселях окна 1С
Что="H" - высота в пикселях окна 1С

149. Abadonna 3979 22.03.10 06:58 Сейчас в теме
150. Spartan 366 29.03.10 14:00 Сейчас в теме
Классная штука, спасибо! Скачал посмотреть, а тут вдруг потребовалось удалять файлы без возможности восстановления - так что сразу и внедрил! :D
153. Abadonna 3979 24.04.10 19:31 Сейчас в теме
Версия 1.9.9.6
Метод
RunAndWait(КоманднаяСтрока:строка, ПараметрыЗапуска:строка, ОконныйРежим:целое) - запустить внешнее приложение и подождать его выполнения.
КоманднаяСтрока - строка для запуска приложения
ПараметрыЗапуска - строка стартовых параметров, необязательный, по умолчанию без параметров
ОконныйРежим: целое 0-10 (стандарные режимы окна Windows), необязательный, по умолчанию 1 - показать окно в обычном режиме (SW_SHOWNORMAL)
Кроме того, основные:
0 - не показывать окно (SW_HIDE)
2- минимизировать окно (SW_SHOWMINIMIZED)
3- максимизировать окно (SW_SHOWMAXIMIZED)
Для чего? Например, надо запустить программу, которая что-то там сделает (посчитает) и поместит результат в определенный файл. После RunAndWait можно будет считать этот файл.
Пример:
L.RunAndWait("C:\Program Files\Total Commander\Plugins\exe\AkelPad.exe");  
// следующий оператор отработает только после закрытия блокнота (AkelPad)
Сообщить("Закрыл, гаденыш? Молодец!");  

Добавлены методы для работы с картинками XLS-файлов:
XLSPictCount() - возвращает количество картинок в xls-файле
Примечание: считаются картинки во всех листах открытого файла
XLSSavePicture(ПорядковыйНомерКартинки:число,ИмяФайлаДляЗаписи) -
считать картинку с указанным номером и сохранить её в указанный файл. Возвращает строку размеров записанной картинки вида Ширина х Высота
Примечания:
Отсчет картинок от 1 до Счетчик
Номер картинки в файле - это не как они видятся в файле, а в порядке их добавления туда
Пример:
L.ReadXLS("c:\MiracleV8_TestBase77\Картинки.xls");// открыли файл    
Для А=1 По L.XLSPictCount() Цикл // цикл по всем картинкам файла
   ИмяФайла=Строка(А)+".bmp";	
   Сообщить(L.XLSSavePicture(А,КаталогИБ()+ИмяФайла));
КонецЦикла;

P.S. Навеяно http://infostart.ru/public/69412/ , но извратов поменьше ;)
154. maxtomsk 158 25.04.10 17:26 Сейчас в теме
Подскажите пожалуйста, такая ошибка:
при чтении из экселя ячейки где стоит не значение, а формула, результатом которой получается значение не целое, то он вываливается в исключение при чтении:
L.ReadCell(Лист,Стр,Столб);
AddIn.MiracleClass: '97.43' is not a valid integer value
причем он правильно считывает значение, но почему-то ждет что оно должно быть целое....
как с этим бороться?
155. Abadonna 3979 25.04.10 17:35 Сейчас в теме
156. Abadonna 3979 25.04.10 18:43 Сейчас в теме
Версия 1.9.9.7
Подправлен глючок (154) для ячеек с формулами xls-файлов
157. Abadonna 3979 25.04.10 20:10 Сейчас в теме
Поленился сразу дописать.
Новый метод:
GetTraffic() - возвращает строку с разделителями вида:
00-22-15-D3-D3-BC;NVIDIA nForce Networking Controller - Kaspersky Anti-Virus NDIS Miniport;13058897;5995229
MAC-адрес; Имя сетевого интерфейса; Всего принято байт; Всего отправлено байт
(за время сеанса Windows)
158. andy_zhav 200 05.05.10 16:08 Сейчас в теме
А есть что-то вроде лицензионного соглашения? Можно использовать в комерческих целях?
159. Abadonna 3979 05.05.10 16:10 Сейчас в теме
(158)В каких хочешь - в таких и используй.
Поздновато уже ей цену и соглашения объявлять
160. Арчибальд 2712 05.05.10 16:11 Сейчас в теме
(158) И так используют все кому не лень :D
Ежели человек приличный - то с указанием копирайта.
161. Abadonna 3979 05.05.10 16:17 Сейчас в теме
(160)
то с указанием копирайта.

И это необязательно ;) Копирайт в библиотеку зашит
P.S а вот ресхакер применять не желательно ;)
162. Арчибальд 2712 05.05.10 16:22 Сейчас в теме
(161) Ага. И, в случае чего, ты его найти сможешь...
Я ж про то, чтобы не искать ;)
ресхакер
Это что? :o
163. Abadonna 3979 06.05.10 00:07 Сейчас в теме
(162)Ну, блин, Арчи... от тебя не ожидал :(
http://www.izone.ru/sys/utilities/resource-hacker-download.htm
P.S."Дома" можешь поставить А. Рытов - не возражаю :D
164. andy_zhav 200 06.05.10 08:10 Сейчас в теме
А если прийдут злые, жутко умные дядьки из обэпа, которые разбираются с лицензировании и спросят: а что это у вас за такое тут стоит? У 1Ски такого нету. Где лицензионное соглашение? Есть клиенты, которые придираются к каждой мелочи и к каждой дллке. Иностранные компании, в частности.

P.S. Например, во всех линуксах есть лицензионное соглашение, несмотря на открытый исходный код - требование закона.
165. vip 06.05.10 08:58 Сейчас в теме
(164) Ответишь дядькам, что технология создания внешних компонент для 1С является абсолютно штатной и рекомендована фирмой 1С для расширения функционала программы.
166. Арчибальд 2712 06.05.10 09:04 Сейчас в теме
(164) +(165) И копирайт Абадонны на свой замени, как в 163 посте сказано :D
167. andy_zhav 200 06.05.10 10:21 Сейчас в теме
(166) Вот точно тада будет нарушение авторских прав.
168. Abadonna 3979 06.05.10 10:23 Сейчас в теме
(167)Вообще-то в хелпе написано
© А. Кучер (aka Abadonna), 2009, Красноярск (http://infostart.ru/profile/1329/)
Программа распространяется бесплатно, на условиях «как есть», за возможный вред, нанесенный программой, автор ответственности не несет

Чего еще дядькам надо? Если они захотят, то и до ФИО докопаются - где лицензия? :D
P.S Для иностранных будет "free... as is..."
169. пользователь 02.06.10 02:40
Сообщение было скрыто модератором.
...
170. Altair777 649 25.06.10 16:53 Сейчас в теме
Огромное спасибо за простые методы работы с Excel :!:
171. Abadonna 3979 26.06.10 06:22 Сейчас в теме
(170) Вот так всегда! Делаешь для бантиков, а тебя за какой-то паршивый ёксель благодарят :D :D :D
172. anig99 2867 26.06.10 13:39 Сейчас в теме
(171) Ага...бантики меня заинтересовали (: Мне как раз часики нужны (: и информ окно пригодится (:
173. Abadonna 3979 26.06.10 13:50 Сейчас в теме
(172) Смех-смехом, а один клиент просто плакал, что трудно разобраться, где какая база бух 7.7 (до фига их у них и заголовки везде стандартные). После установки в каждое окно своей иконки, они просто счастливы стали.
Правда, таких мерзких напихали :cry: :D
174. anig99 2867 26.06.10 17:55 Сейчас в теме
(173) у меня ещё со старой версии миракла базы имеют разные значки и логотип...
Тоже задумался о различии баз...как раз думал о добавлении логотипа вместо серого фона, а потом случайно наткнулся на овчарочку
175. anig99 2867 28.06.10 09:37 Сейчас в теме
(173) Надо поменять цвет линий в табличных частях - очень бледный - пользователи жалаются. Реально с miracle это сделать?
176. Altair777 649 29.06.10 10:40 Сейчас в теме
(171) А вот с "бантиками" я еще не разбирался. Очень хотелось бы увидеть полноценную тестовую базу со всеми бантиками ;)
177. KeyMaster 89 09.07.10 15:31 Сейчас в теме
Да, со всеми "бантиками" было бы очень здорово!
179. Abadonna 3979 09.07.10 22:40 Сейчас в теме
(177)
А вот с "бантиками" я еще не разбирался. Очень хотелось бы увидеть полноценную тестовую базу со всеми бантиками

А КАКУЮ именно базу? А то я тут от 7.7 до 8.2 бедный тружусь :(
7.7 скорее?
(178) Фиг его знает, может я там уже типы поменял, надо вспоминать.
Как только совсем делать нечего станет - напишу полноценный хелп. Жаль только, что из форума из 6 страниц пропало 5, там и примеры кода были...:(
180. KeyMaster 89 12.07.10 08:52 Сейчас в теме
239. Altair777 649 26.08.10 11:12 Сейчас в теме
(179)
А КАКУЮ именно базу? А то я тут от 7.7 до 8.2 бедный тружусь
7.7 скорее?

Да, 7.7. В 8-ке своих бантиков хватает :D
178. KeyMaster 89 09.07.10 16:00 Сейчас в теме
Да, заметил еще, что в отдельном файле с описанием нет функции SetMDIPicture, а в "readme.txt" из тестовой базы - есть. Хотелось бы полное описание всех возможностей.
И еще:
L.SetGifAnimator(10, 10, Путь+"Bird-06.gif");
выдает ошибку: "ошибка при вызове метода... Типы не совпадают (0)".
Подскажите в чем дело, пожалуйста.
181. Abadonna 3979 12.07.10 10:39 Сейчас в теме
(178) Посмотрел наконец-то, почему
L.SetGifAnimator(10, 10, Путь+"Bird-06.gif");
выдает ошибку: "ошибка при вызове метода... Типы не совпадают (0)".

Я там в описаловке наврал: сначала файл, потом точки надо.
Т.е. надо L.SetGifAnimator(Путь+"Bird-06.gif",10,10);
а вообще их можно совсем не задавать [L.SetGifAnimator(Путь+"Bird-06.gif");], тогда к краешку прижмется сама (по умолчанию там 5 и 32 - как раз под формочку 8.1 заточено)
Короче, фиг его уж знает почему, для GifAnimator я сделал всё наоборот, чем на AviAnimator :cry:
182. KeyMaster 89 12.07.10 15:22 Сейчас в теме
183. alsoftik 6 13.07.10 07:37 Сейчас в теме
Спасибо, все прекрасно работает! Вот бы еще расширить функции по работе со звуком (видео), например пауза, продолжение, чтение позиции, установка позиции, чтобы можно было на основании данной компоненты сделать полноценный медиа проигрыватель. А так супер!
184. Abadonna 3979 13.07.10 15:00 Сейчас в теме
(183) Спасибо за спасибо ;)
чтобы можно было на основании данной компоненты сделать полноценный медиа проигрыватель

Честно говоря, звук и видео я больше ради баловства воткнул, ибо как раз являюсь противником пихания в 1С всего-всего... Один фиг внешний плейер всегда будет лучше.
Но, вообще-то, проблем расширить функционал работы со звуком и видео особых нет
185. alsoftik 6 14.07.10 05:45 Сейчас в теме
(184)
По поводу внешнего плеера я согласен, что он будет лучше, есть конечно и визуальные activex компоненты (wmp), но мне не особо нравиться как они работают в терминальном режиме, да и видео не всегда нужно, нужна простая не визуальная компонента, которая сможет проигрывать, останавливать, продолжать с указанного места проигрывать аудио файл, а незатейливый интерфейс можно и самой 1С состряпать.
189. maxpiter 150 09.08.10 14:47 Сейчас в теме
(184) в качестве плюшки.
Сильно сложно наваять подобное? пусть грубое, но хоть чуток похожее :)
Сам пробовал, но все время никак да и разбираться со звуком и видео надо.

http://www.youtube.com/watch?v=qC6N03rOuSk
190. Abadonna 3979 09.08.10 14:58 Сейчас в теме
(189) Ну не знаю... Не озадачивался никогда. А на фига в 1С? Для приколу просто?

191. maxpiter 150 09.08.10 15:00 Сейчас в теме
(190) конечно для приколу :)
ну и на винде до сих пор такой проги не видел.
Есть либо навароченые слишком либо ну совсем не такое.
А так, 1С vs IPHone ;)
192. Abadonna 3979 09.08.10 15:02 Сейчас в теме
(191) :D во всяком случае, скоро не обещаю
186. Yurus 27 23.07.10 10:14 Сейчас в теме
Добрый день, есть проблема с регистрацией miracle.dll 1.9.9.7 в Win2000, хотя права админовские (на XP проблем нет). Расположение dll (на сервере или локально) роли не играет. При попытке воспользоваться Vkloader выдает: "файловая ошибка". Возможно ли проверить и исправить или что-нибудь порекомендовать?
187. Борода 23.07.10 17:12 Сейчас в теме
замечания по создаваемым кнопкам в тулбаре (всё для 77):
1. При наведении мышкой на кнопку подсказка всплывает не регулярно, со специфическим голубым фоном и фиксированной ширины (не весь текст показывает либо много пустого места).
2. При наведении мышкой на кнопку в строку состояния пишется бред из подсознания 1С типа "Справочник", "SrtReplace,СтрЗаменить", "Коллекции не поддерживаются" и т.д. При переоткрытии формы текст меняется.
3. Иногда при попытке создать кнопку начинает сыпать ошибку "Bits index out of range" и кнопок при этом не видно. Помогает перезаход в програму.
4. Нельзя ли сделать так, чтобы при наведении на кнопку она становилась выпуклой (как стандартные кнопки).
Заранее спасибо.
Прикрепленные файлы:
188. Abadonna 3979 06.08.10 23:06 Сейчас в теме
Версия 1.9.9.11.
По просьбе, новый метод для установки jpeg/jpg картинок на форму 1С 7.7 (отчет, обработка, справочник, документ...) с возможностью пропорционального масштабирования и откликом на двойной клик на картинке.
Метод:
L.SetJpgPicture(ПолноеИмяФайла:строка,Масштаб:число,Лево,Верх:целые);
Масштаб - возможно дробное, больше, равно или меньше 1.
Если Масштаб меньше 1 - картинка увеличивается, если больше - уменьшается
Лево,Верх - необязательные, по умолчанию 5, расположение верхнего/левого угла картинки относительно верхнего/левого угла клиентской части формы.
Двойной клик по картинке генерирует внешнее событие, которое может быть обработано процедурой ОбработкаВнешнегоСобытия(Источник,Событие,Данные),
где Источник: строка "MiracleV8", Событие: строка "PictureDblClick", даные: строка полного имени файла картинки.
Примечание: на форму можно установить неограниченное количество картинок, каждая картинка "помнит" свой файл.
Возвращает строку вида ШиринахВысота - новые размеры установленной картинки
Пример:
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
	Если Событие="PictureDblClick" Тогда       	
		Сообщить("ВНЕШНЕЕ СОБЫТИЕ: Двойной клик по картинке. Файл:  "+Данные,"i");
	КонецЕсли;
КонецПроцедуры     

Процедура Сформировать()                                                                          
	// с маштабом 1:1.5, лево по умолчанию - 5 пикс., верх  по умолчанию 5 пикс.
        L.SetJpgPicture("c:\MiracleV8_TestBase77\ExtForms\Роза.jpeg",1.5);       
	// с маштабом 1:1.3, сдвинуто влево на 180 пикселей, верх  по умолчанию 5 пикс.
	L.SetJpgPicture("c:\MiracleV8_TestBase77\ExtForms\Цветы.jpeg",1.3,180);
КонецПроцедуры
Показать

Примечание: если в ОбработкаВнешнегоСобытия поставить
ЗапуститьПриложение(Данные), у меня, например, картинка открывается для просмотра в программе просмотра факсов и изображений
Добавлен симпатичный календарик из Дельфи с возможностью получения выбранной даты через ОбработкаВнешнегоСобытия
Метод L.SetCalendar(Лево,Верх:целые);
Лево, Верх - необязательные, по умолчанию 5.
Примечание: для 8.1 Верх ставить не меньше 30, иначе прячется под верхней панелью.
Генерит событие Источник="MiracleV8", Событие="CalendarChange", Данные - выбранная дата.
Примечание: технология получение отклика (обработки событий компонент Дельфи)
изложена в http://infostart.ru/public/73902/


Прикрепленные файлы:
Altair777; +1 – Ответить
195. Abadonna 3979 10.08.10 06:01 Сейчас в теме
Внимание, кто залил версию 1.9.9.11 до утра 10 августа. Случайно оставил в ней пару отладочных операторов на методе SetJpgPicture, перезалил. Скачайте по новой
196. Арчибальд 2712 10.08.10 07:37 Сейчас в теме
(195) С новинками спешить не надо. Новинки от Билла надо два-три года игнорировать. От Абадонны - двух дней должно хватить.
197. Abadonna 3979 11.08.10 05:42 Сейчас в теме
Версия 1.9.9.12
Навеяно http://www.infostart.ru/public/73112/
Метод ScaleAndCompressJpg(ФайлВходной,ФайлВыходной,Качество,Масштаб);
ФайлВходной,ФайлВыходной: строки, полные имена файлов
Качество: целое от 1 до 100. При 1 наихудшее качество, но и наименьший размер файла,
при 100 - наоборот
Масштаб: число. При Масштаб<1 картинка увеличивается, при >1 - уменьшается
Возвращает размер нового записанного файла в байтах
Пример кода:
Процедура Сформировать()  
	ФайлВходной="c:\MiracleV8_TestBase77\ExtForms\Роза.jpeg";  
	ФайлКачество100="c:\MiracleV8_TestBase77\ExtForms\Роза100.jpeg";
	ФайлКачество50="c:\MiracleV8_TestBase77\ExtForms\Роза50.jpeg";
	ФайлКачество25="c:\MiracleV8_TestBase77\ExtForms\Роза25.jpeg"; 
	// исходный файл уменьшается в 2 раза (параметр 4)
	// все три новых файла получаются одного размера (картинки),              
	//но разного качества (параметр 3) и разного размера файла
	Р1=L.ScaleAndCompressJpg(ФайлВходной,ФайлКачество100,100,2); 
	Р2=L.ScaleAndCompressJpg(ФайлВходной,ФайлКачество50,50,2);   
	Р3=L.ScaleAndCompressJpg(ФайлВходной,ФайлКачество25,25,2);     
	Сообщить("Записан файл с качеством 100, размер: "+Р1); 
	Сообщить("Записан файл с качеством 50, размер: "+Р2); 
	Сообщить("Записан файл с качеством 25, размер: "+Р3);
КонецПроцедуры
Показать

Примечание: что-то я на глаз особо не заметил ухудшения качества ;) А вот размер прилично меняется (см. рис.)
Прикрепленные файлы:
maxpiter; Поручик; +2 – Ответить
198. maxpiter 150 11.08.10 09:49 Сейчас в теме
199. Гон 14.08.10 09:48 Сейчас в теме
MiracleV8: Расширенная версия
Да когда-же описание нормальное (полное) или примеры будут?!! :cry:
Откуда-то по крупицам приходится дергать инфу...
А как кнопки на форме сделать - так и не нашел!
А. Кучер - молодец, конечно; вешь уникальная, но как ОБЫЧНЫМ людям пользоваться-то?
200. Abadonna 3979 14.08.10 09:51 Сейчас в теме
(199) Всё было на форуме разработки, но после некоторых реконструкций сайта на форуме из 6-ти осталась только одна страница. support обещал поправить, но уж месяца три воз и ныне там :(
201. babylon_5 55 17.08.10 12:34 Сейчас в теме
А как из xls дату прочитать?
Мираклом читаю ячейку (в ней дата 25.08.2010), логично получаю число 40415 - как из него сделать дату?
202. Abadonna 3979 17.08.10 12:46 Сейчас в теме
203. Abadonna 3979 17.08.10 13:34 Сейчас в теме
(201) К сожалению компонента Дельфи для xls не определяет автоматом тип ячейки "дата"
Поэтому добавил метод IntToDateStr(ДатаЧислом: целое), но когда его надо применять придется определять самому.
Возвращаемое значение: дата строкой.
Версия 1.9.9.13
По IntToDateStr(0) вываливает дату "начала мира" 30.12.1899
По твоему примеру IntToDateStr(40415) как раз 25.08.2010
204. babylon_5 55 17.08.10 13:50 Сейчас в теме
(203) Отлично. Когда применить - определю руками. Не вопрос.
Спасибо большое.
205. Арчибальд 2712 18.08.10 08:19 Сейчас в теме
Разработка проверена группой "Экспертиза публикаций" и получила соответствующий знак.
Прикрепленные файлы:
206. Abadonna 3979 18.08.10 09:57 Сейчас в теме
(205)
Я и раньше счастлив был, а теперь в два раза счастливее буду, потому что у меня значок есть
:)
(с) Матроскин
207. alexk-is 6550 18.08.10 10:04 Сейчас в теме
(205) А по каким принципам, позвольте узнать, тут медали раздают? :)
208. Арчибальд 2712 18.08.10 10:15 Сейчас в теме
(207) Клиент находит эксперта, оплачивает его работу, посылает мне заявку на медаль и рецензию эксперта - вуаля :D
http://infostart.ru/community/groups/148/blog/1148/
209. Abadonna 3979 18.08.10 10:57 Сейчас в теме
(208) Надеюсь, никто не поверит, что я за свою бесплатную разработку еще и деньги кому-то платил :D
210. Арчибальд 2712 18.08.10 11:04 Сейчас в теме
(209) А про деньги там ничего и не сказано. Можно бартером - как договоришься(тся) :D
211. Abadonna 3979 18.08.10 20:28 Сейчас в теме
Версия 1.9.9.14 MIDI-баловство
Метод
MidiPlayNote(НомерMidiНоты,Длительность,НомерMIDIИнструмента), где
НомерMidiНоты - число (см. ниже)
Длительность - число, длительность звучания ноты, мс.
НомерMIDIИнструмента - число 0..127, каким инструментом проигрывать
Для определения названия инструмента по его номеру метод
GetInstrumentName(НомерMIDIИнструмента) - возвращает строку названия
НомерMidiНоты=60 соответствует ДО первой октавы.
Каждая единичка вверх/вниз - полтона вверх/вниз.
Т.е:
59 - СИ малой октавы (между ними полтона)
58 - СИ-бемоль (ЛЯ-диез) ... и т.д. вниз
61 - ДО-диез (РЕ-бемоль)
62 - РЕ
63 - РЕ-диез (МИ-бемоль)
64 - МИ
65 - ФА (между ними полтона) ...и т.д. вверх
Пример кода:
Для А=0 По 127 Цикл           
   Инструмент=L.GetInstrumentName(А);
   Состояние(""+А+"."+Инструмент);
   // ДО первой октавы, 500 мс, по всем инструментам последовательно
   L.MidiPlayNote(60,500,А);
КонецЦикла;	 

P.S. Прикольный (и "предупреждалистый") звук у инстурмента 55 - OrchestraHit
212. RinGo 91 19.08.10 14:56 Сейчас в теме
Почему-то скачивается версия 1.9.9.13 :?:
213. Abadonna 3979 19.08.10 14:59 Сейчас в теме
(212) Фиг его знает.. может не загрузилось. Грузил точно 14-ю, сейчас проверил.
Перезаливаю
214. Abadonna 3979 19.08.10 15:06 Сейчас в теме
(212) Перезалил, скачал - 14-я
215. RinGo 91 19.08.10 15:19 Сейчас в теме
Ща - нормуль!
Эх! Тебе бы на полгодика хатта бы раньше так "побаловаться"!...
Ща буду свои алармы на MIDI переводить...
+5!(за метод)
216. Abadonna 3979 19.08.10 15:20 Сейчас в теме
(215) А колонки у юзверей?
217. Abadonna 3979 19.08.10 19:16 Сейчас в теме
В. Кушнир у нас большой любитель пестрых кнопок на форме 1С ;)
А картинки на них накладывать ему лень.
По его просьбе версия 1.9.9.15, новый метод:
L.SetButtonCaption(ЗаголовокКнопки1С,ЦветФонОт,ЦветФонДо,ЦветШрифта), где:
ЗаголовокКнопки1С - строка, заголовок кнопки на форме, которую видоизменяем
(не забываем, что может быть с амперсандом, например: С&формировать)
(Кстати, реакция на быструю клавишу, обозначенную амперсандом, остается в силе).
Кнопки могут иметь объемно-цилиндрический вид, поэтому
ЦветФонОт,ЦветФонДо - целые, соотвествующие цвета
ЦветШрифта - целое, цвет надписи на кнопке.
Пример кода:
Процедура Сформировать() 
   Сообщить("Процедура Сформировать отработала","i");
КонецПроцедуры          

Процедура  УстановитьКнопки()
   Форма.ОбработкаОжидания("УстановитьКнопки",0);
  // от розового до красного, шрифт желтый  	
   L.SetButtonCaption("Закрыть",8684799,255,65021);
   // от светло голубого до голубого, шрифт черный       
   L.SetButtonCaption("С&формировать",16245453,15966336,0);
КонецПроцедуры

Процедура ПриОткрытии() 
   Форма.ОбработкаОжидания("УстановитьКнопки",1);
КонецПроцедуры
Показать

Примечание 1: применен метод полного перекрытия родной кнопки кнопкой TJvNavPanelButton, обработчик события OnClick которой посылает сообщение родной,
что она нажата. Спецам по дельфи - статья http://infostart.ru/public/74434/
Примечание 2: у кнопок TJvNavPanelButton нет метода отровнять заголовок по центру.
Смещение слева на один пробел задано в библиотеке, центровку регулируйте шириной кнопки на этапе проектирования
Примечание 3: только для 7.7, да для 8х оно и не надо
Примечание 4: если кто не знал (забыл) в библиотеке есть метод для визуального выбора нужного цвета SelectColor(). Возвращает число, соответствующее выбранному цвету
Прикрепленные файлы:
kfilfac; cleaner_it; Арчибальд; vasilykushnir; +4 – Ответить
218. vasilykushnir 63 20.08.10 08:10 Сейчас в теме
Жаль, что нельзя повторно за библиотеку голосовать... - просто чумовую вещь замутил. СПАСИБО!!!
Теперь формы разрисую а-ля попугай. Это не моя прихоть - есть у меня юзеры, которые просят, чтобы формы были гламурненькие. Нате вам гламура!
219. Арчибальд 2712 20.08.10 08:25 Сейчас в теме
(218) Гламур - не гламур, А по-любому, кнопки без цветовой дифференциации нежизнеспособны :D
А реально, бухи еще не жалуются на стандартную палитру форм, а операторы, когда в прошлом году их перевели с моего дизайна на стандартный восьмерочный (темно-серое на светло-сером) аж взвыли.
220. Abadonna 3979 20.08.10 09:10 Сейчас в теме
(219)
кнопки без цветовой дифференциации нежизнеспособны

Может еще кнопки с цаком приделать? :D :D
222. Abadonna 3979 22.08.10 09:57 Сейчас в теме
Версия 1.9.9.17
Изменен метод SetButtonCaptionEx:
SetButtonCaptionEx(ЗаголовокКнопки1С,ЦветФонОт,ЦветФонДо,ЦветРамки,ЦветШрифта,Центровать)
Новый параметр Центровать: число, необязательный, по умолчанию 1.
Если Центровать=0 - фонт жирный без центровки
Если Центровать=1 - фонт обычный, почти автоцентровка
"Почти" - потому что центровка пробелами слева, а не пикселями.
P.S. Добавлена проверка на существование кнопки с заданным заголовком.
Если при вызове методов SetButtonCaption иSetButtonCaptionEx была ошибка
в параметре 1 (нет кнопки на форме с таким заголовком), то происходит просто выход из процедуры без выведения ошибки
____________________________________________________________­__
После 13:45 Москвы
Извращения для развлечения ;)
Форма 77 прикидывается восьмерочной
Метод As81Form(ЛинияПодПанельюИструментов)
ЛинияПодПанельюИструментов - 0 или 1 - рисовать линию под ПИ
Необязательный, по умолчанию 0.
Процедура Сформировать()
КонецПроцедуры

Процедура  ИзменитьФорму()                                    
	Форма.ОбработкаОжидания("ИзменитьФорму",0);
	L.As81Form();
КонецПроцедуры

Процедура ПриОткрытии() 
	Форма.ОбработкаОжидания("ИзменитьФорму",1);
КонецПроцедуры
Показать

Нюансики:

1. Метод блокирует кнопку максимизации формы.
2. Родные края формы обрезаны (гусары, молчать! ;)), поэтому форма размеры не изменяет
3. Если на форме несколько кнопок с одинаковым заголовком, отловит только первую
Подправлено в версии 17 - все отловит теперь
Не применять метод на формах с рамками групп!!!
Прикрепленные файлы:
223. ЗАК 22.08.10 13:25 Сейчас в теме
С кнопками чего-то не выходит никак .... пишет "AddIn.MiracleClass: Control '' has no parent window", непонятно про какое родительское окно ругается :)
224. Abadonna 3979 22.08.10 13:33 Сейчас в теме
(223) Проверь точность заголовков кнопок при вызове метода.
Например вызывал с заголовком "Сформировать", а не с "С&формировать"
В последней закачке поставил проверку на существование кнопки с заданным заголовком, если нет такой - просто выходит из процедуры
Еще метод проверки
Вызови метод hButton(ТвойЗаголовок)
Если вернет 0 - значит не так заголовок задан
И еще: ты, случаем, не в процедуре ПриОткрытии() сразу вызываешь?
Так нельзя - у формы еще хэндла нет. Пример кода, чтобы сразу кнопки ставила
был выше приведен
225. ЗАК 22.08.10 14:00 Сейчас в теме
Спасибо, разабрался ... я по привычке обращения к объектам, обращался не по тексту в Загаловке, а по идентификатору :) Кстати, метод hButton возвращает 0, но при этом все отлично работает теперь :)
226. Abadonna 3979 22.08.10 14:02 Сейчас в теме
(225)
обращался не по тексту в Загаловке, а по идентификатору

Где ж я тебе в dll 1С-идентификаторы возьму? :D
Это у нас Альф с формексом молодец, в самое нутро влез. А мы все больше "со стороны"
Кстати, метод hButton возвращает 0, но при этом все отлично работает тепер

Если бы hButton(ЗаголовокКноки) вернул ноль, ничего бы не работало.
Опять ты там чего-то намудрил ;)
227. aka AMIGO 60 23.08.10 09:22 Сейчас в теме
Abadonna, вопрос: вариант с 8-кой убран?
вроде в топике есть намёк:
""MiracleV8_TestBase81.zip - тестовая база 8.1, dll внутри""
а в файлах нет..
228. Abadonna 3979 23.08.10 09:40 Сейчас в теме
(227) Блин, какой-то глюк с закачкой :(
Прикрепленные файлы:
MiracleV8_TestBase77.zip
MiracleV8_TestBase81.zip
x1c; aka AMIGO; +2 – Ответить
229. alexk-is 6550 23.08.10 09:44 Сейчас в теме
(228) IE тебе в помощь. Публиковаться лучше им. Меньше проблем с кэшем страниц.
230. Abadonna 3979 23.08.10 09:51 Сейчас в теме
(229) Точно. Опера все никак не хотела менять (показывать). Хоть и "Очистить кэш публикации" делал. IE сходу перезалил
231. Bobak 206 23.08.10 21:24 Сейчас в теме
Глюк с As81Form.
"Рамка группы" почему то становиться "активным" элементом.
И при клике на любом элементе внутри группы, перекрывает все элементы находящиеся внутри группы.
232. Abadonna 3979 23.08.10 21:30 Сейчас в теме
(231) Ха, блин. Про рамку-то я и забыл. Она тоже класса "Button", поэтому наравне с кнопками видоизменяется. Вывод: не применять метод на формах, где есть рамки.
Тут уж я никак их не отфильтрую, зацепиться не за что...
233. ЗАК 23.08.10 23:38 Сейчас в теме
Заметил интересную вещь, в 1С 7.7, если форма открыта модально, при нажатии"Alt" исчезают фиктивные кнопки и после этого даже повторный вызов метода "SetButtonCaptionEx" не рисует новые, помогает только закрытие-открытие формы.
234. ЗАК 23.08.10 23:43 Сейчас в теме
+(233) Хм ... оказалось если по кнопкам прощелкать, то возвращаются на место они и уже на Alt не реагируют больше :)
235. Abadonna 3979 24.08.10 07:19 Сейчас в теме
(233), (234) Забавно, что они вообще на модалке как-то рисовались, там наследование окон совсем другое... Будет время - посмотрю
236. ЗАК 24.08.10 13:16 Сейчас в теме
(235) Все отлично в модальных окнах прорисовывает, а тот глюк который я описал - это только при использовании формекса возникает, при использовании метода для формы(окна) : "СтильОкна(Форма, 2)" ... в обычном модальном режиме все отлично :)
237. Abadonna 3979 24.08.10 13:18 Сейчас в теме
(236)
только при использовании формекса возникает

Ага, они кое в чем с формексом не дружат - начинают... этими самыми.. мериться :D
238. Борода 24.08.10 14:29 Сейчас в теме
по 187 что-то прояснится ? :cry:
240. Abadonna 3979 26.08.10 19:26 Сейчас в теме
2Борода. Будет время посмотрю, но вот по статус строке, помню, никак не получалось, даже SetStatusLine не помогало...
Решу точно, но вот когда пока не знаю
Борода; +1 – Ответить
241. Abadonna 3979 29.08.10 13:51 Сейчас в теме
Версия 1.9.9.18
Новый метод (для 7.7)
As81FormEx() - без параметров
Более-менее похоже на форму 8.1
Нюансы:
1. Форма уменьшается на 3-4 пикселя с каждой стороны + 3 пикселя на синюю рамку.
Предусмотрите соотв. свободное место
2. Заголовочная часть окна замещает 1С-панель инструментов, поэтому:
а) панель должна быть на форме
б) панель будет перекрыта после применения метода
3. Заменяются только кнопки и надписи на форме, другие контролы - "родные"
4. Не применять для максимированной формы, кнопка максимизации методом блокируется
5. Рамки групп на форме тоже имеют класс "button", метод заменит их на кнопки (не за что зацепиться, чтобы отличить), поэтому не применять для форм с рамками
Новый метод
ShowWind(ХэндлОкна,РежимПоказа: целые)
РежимПоказа: от 0 до 10, стандартные константы ShowWindow

SW_HIDE = 0;
SW_SHOWNORMAL = 1;
SW_SHOWMINIMIZED = 2;
SW_SHOWMAXIMIZED = 3;
SW_MAXIMIZE = 3;
SW_SHOWNOACTIVATE = 4;
SW_SHOW = 5;
SW_MINIMIZE = 6;
SW_SHOWMINNOACTIVE = 7;
SW_SHOWNA = 8;
SW_RESTORE = 9;
SW_MAX = 10;
Показать

Примечание:
Для определения хэндлов окон 1С библиотека предоставляет методы:
h1C() - хэндл главного окна
hReport() - хэндл активной формы
hButton(ЗаголовокКноки) - хэндл кнопки активной формы по ее заголовку
hPanel() - хэндл панели инструментов активной формы
Прикрепленные файлы:
242. Abadonna 3979 29.08.10 13:58 Сейчас в теме
Пример изменения формы сразу при открытии:
Процедура ИзменитьФорму()
   
Форма.ОбработкаОжидания("ИзменитьФорму",0);
   
L.As81FormEx();
КонецПроцедуры

Процедура
ПриОткрытии()
   
Форма.ОбработкаОжидания("ИзменитьФорму",1);
КонецПроцедуры;
243. Abadonna 3979 29.08.10 20:10 Сейчас в теме
Подумалось, что статус строку удобнее видеть перед "мордой лица", а не внизу, т.е. на форме. Можно, конечно, через элемент "Текст", но тогда придется тратить ресурсы
на полную перерисовку формы (Форма.Обновить()).
Новые методы (после 20.30 Москвы)
SetPILabel(Лево,ЦветШрифта,ЖирныйШрифт: целые) - установить надпись на панели инструментов формы
Лево - необязательный, по умолчанию 100 (как раз под ПИ отчета)
ЦветШрифта - целочисленное значение цвета, необязательный, по умолчанию 0 (черный)
ЖирныйШрифт - если 0 - обычный, любое другое - жирный. По умолчанию 0
PILabelText(НашТекст:строка) - вывести текст в ранее установленный PILabel
FreePILabel() - разрушить ранее установленный PILabel

Процедура Сформировать()
//Слева на 100, красным, жирным
L.SetPILabel(,255,1);
Для
А=1 По 200 Цикл
Т="Текущее значение равно: "+А+"...";
L.PILabelText(Т);
// задержка, чтобы разглядеть успеть
L.SleepTime(30);
КонецЦикла;
// разрушили компонент
L.FreePILabel();
КонецПроцедуры
Прикрепленные файлы:
244. Арчибальд 2712 30.08.10 09:22 Сейчас в теме
ПИотчета - это то, что я думаю? :oops:
245. Abadonna 3979 30.08.10 09:29 Сейчас в теме
1.9.9.19
Добавлены методы межоконного сообщения через Widows-сообщение WM_COPYDATA.
Может работать с любыми приложениями, осуществляющими контроль этого сообщения.
В первую очередь задумывалось как общение со своей (не 1С-программой)
Разумеется только для приложений, работающих на одном компьютере, например, в терминальном режиме.
Метод
SendCopyData(ХэндлЦели,Сообщение), где
ХэндлЦели - целое, хэндл окна, которому посылаем сообщение
Сообщение - строка сообщения
ВНИМАНИЕ: для приема сообщений окном 1С необходимо переопределить оконную процедуру окна MDI методом SetNewMDIWindowProc()
После обработки сообщения метод вернет "родную" оконную процедуру
Получение сообщения производится через обработку внешнего события:
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
//.......................................................................        
	Если Событие="DATACOPY"   Тогда
		Сообщить(Источник+"; "+Данные);
	КонецЕсли;

В прикрепленном файле заготовка (рабочая) под программу обмена с 1С.
Далее полный простор для творчества: можно вести учет пользователей в системе,
учитывать блокировки, диспетчеровать сообщения между сеансами 1С (можно и между 7.7 и 8.1).
Код для посылки сообщений в 1С данной программе:
Процедура Сформировать()  
// я обозвал форму MessageForm
// соотвественно ее класс TMessageForm
// ищем хэндл по имени класса
	ХэндлЦели=L.FindWnd("TMessageForm","");                                                                
	Для А=1 По 5 Цикл                       
		Стр=ТекущееВремя()+" Сообщение номер "+Строка(А);	
		L.SendCopyData(ХэндлЦели,Стр); 
	КонецЦикла;
КонецПроцедуры
Показать

Те, кому Дельфи по барабану, могут побаловаться с скомпилированным файлом
MessFromTo1C.exe.
Приложение: папка с исходниками на D7
Результат теста - на рисунке

Прикрепленные файлы:
246. Abadonna 3979 30.08.10 10:38 Сейчас в теме
Может и погорячился с терминалом :(
artbear озадачил: вполне возможно, что и не найдет окошко в другой сессии...
блинннннннн.
ежели только как сервис попробовать
247. babylon_5 55 30.08.10 17:09 Сейчас в теме
Не читает xls-файл если включена защита структуры книги. Можно научить компоненту работать и в этом случае?
Т.е. когда защищены только листы - работает. Как только включаешь защиту книги - вываливается сообщение "Нет считанного XLS-файла".
248. Abadonna 3979 30.08.10 18:25 Сейчас в теме
(247) Боюсь, что фокус не пройдет :(
Вот что вывалил мой плагин под Тотал, в котором используется тот же компонент, что и в библиотеке. См. рис.
File is password protected
, блин.
Прикрепленные файлы:
249. babylon_5 55 30.08.10 18:43 Сейчас в теме
(248) Мдя.
Остается только уточнить: это не про пароли на открытие/редактирование файла, а про защиту которая в меню живет в "Сервис/Защита"...
Если это именно с ней так пишет... тады жаль... придется читать ч/з OLE. А так не хочется...
250. Abadonna 3979 30.08.10 18:48 Сейчас в теме
(249)
это не про пароли на открытие/редактирование файла, а про защиту которая в меню живет в "Сервис/Защита".

Это я как раз защитил лист книгу через меню Сервис/Защита.
Как только снял с листа книги защиту - открылся по F3 без разговоров
251. maxpiter 150 02.09.10 17:27 Сейчас в теме
А можно как-то задать цвет создаваемой дополнительной панели?
а то почему-то у меня цвет отличается.
И есть ли у этой панели событие onClick ? осенама хоцца ;)
Прикрепленные файлы:
252. Abadonna 3979 02.09.10 17:37 Сейчас в теме
(251) Панель в каком методе? По рисунку непонятно
253. maxpiter 150 02.09.10 17:48 Сейчас в теме
(252)

глЧудо=СоздатьОбъект("AddIn.MiracleClass");
глЧудо.SetStatusBarPanel(0,290);
глЧудо.StatusBarPanelText("ЗАПОЛНИТЬ!!!",255,1);
255. Abadonna 3979 02.09.10 17:52 Сейчас в теме
254. Abadonna 3979 02.09.10 17:49 Сейчас в теме
1.9.9.20
Новый метод (улучшенный CreateToolButton)
NewToolButton(Лево, ИмяКнопки, ФайлКартинки, Хинт) где
Лево: целое - положение слева на тулбаре формы;
ИмяКнопки: строка - любое имя по английски;
ФайлКартинки: спрока - полное имя файла для картинки на кнопку, картинка 16х16
Хинт: строка - хинт (подсказка) кнопки
Кнопка при нажатии генерирует внешнее событие:
Источник="MiracleV8"; Событие="ToolButtonClick"; Данные=ИмяКнопки
Пример:
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные) 
	Если Событие="ToolButtonClick" Тогда 
		Сообщить("Нажата кнопка "+Данные);
	КонецЕсли;
КонецПроцедуры

Процедура Сформировать()
	L.NewToolButton(100,"TBt1","c:\MiracleV8_TestBase77\btpict.bmp","Скрыть форму");   
	L.NewToolButton(130,"TBt2","c:\MiracleV8_TestBase77\Закрыть.bmp","Показать форму");  
КонецПроцедуры
Показать

Прикрепленные файлы:
Борода; +1 – Ответить
269. Борода 03.09.10 11:13 Сейчас в теме
256. Abadonna 3979 02.09.10 19:04 Сейчас в теме
По хотелке maxpiter (после 19.15 Москвы)
Новый метод
SetStatusBarPanelEx(Лево,Ширина, Цвет,Бордюр)
Цвет: целочисленное значение цвета панели, если=0, то системный цвет кнопок (clBtnFace)
Бордюр: число, если 0 - плоская, другое - объемная
StatusBarPanelExText(Текст) - установить текст в панели
При клике на панели генерируется внешнее событие:
Источник="MiracleV8"; Событие="StPanelClick"; Данные=ТекстВПанели

262. maxpiter 150 03.09.10 09:36 Сейчас в теме
(256) ай спасибо, ай карашо :)
263. maxpiter 150 03.09.10 09:43 Сейчас в теме
(256) а зачем Ex ? теперь еще и мигалку придется переделывать.
Может надо было сделать SetStatusBarPanel и 2 новых параметра необязательными?
Также, может быть, надо еще добавить Show/Hide для панели?
257. Rumpel_Shtilken 03.09.10 04:28 Сейчас в теме
MiracleV8: Расширенная версия
Собираюсь поюзать Ваше обновлённое творение (когда-то, ради прогресс-бара, юзал v.1.2.2.1 - не впечатлило).
Вижу, что работа проделана немалая и с "огоньком".
Очень хотельсь бы увидить полный хелп с примерами (и ALS не помешал бы) или полную тестовую конфу !!! На это стоит потратить время (а то, дествительно, приходится собирать информацию по крупицам).
Рекомендую продолжать всё "валить" в одну DLL-ку, а не разбивать на отдельные (как предлагал Душелов),- очень хочется иметь "всё в одном". Туда бы запихнуть функционал ещё нескольких компонет... :cry:
Сразу вопрос (здесь его уже задавали, но ответа я не нашёл):
Что с регистрацией? Не хочется регится под локальным админом. Даже единожды. Через vk_loader, как я понял, не прокатит... Этот вопрос вообще будет решаться или оставишь как есть? :(
P.S. ОГРОМНАЯ БЛАГОДАРНОСТЬ за поддержку 1Cv77 !!!
258. Abadonna 3979 03.09.10 08:07 Сейчас в теме
(257)
? Не хочется регится под локальным админом

Ничего ответить не могу, потому что плохо представляю себе ситуацию. Столько народа скачало и не было таких жалоб. Попробуй через Regsvr32, что скажет?
Rumpel_Shtilken; +1 – Ответить
259. Арчибальд 2712 03.09.10 08:39 Сейчас в теме
(258) А я вообще не заметил, чтобы Миракль в реестр попадал :oops:
260. Abadonna 3979 03.09.10 09:02 Сейчас в теме
(259) рис.
Прикрепленные файлы:
261. Abadonna 3979 03.09.10 09:16 Сейчас в теме
+(260) Библиотека - голимый актив-икс (который за собой еще актив-иксы тянет), просто сделан хитрый вход через ЗагрузитьВнешнююКомпоненту
272. Rumpel_Shtilken 06.09.10 07:42 Сейчас в теме
(258)
Через Regsvr32 регить - нет проблем. Но не в этом суть.
У нкоторых потенциальных клиентов нет доступа к уч.записи лок. админа. И админа рядом тоже нет. А если есть, - с ним бывает трудно найти общий язык...
Так что лучше, чтоб ВК в этом плане вела себя тихо и незаметно...
273. Abadonna 3979 06.09.10 09:04 Сейчас в теме
(272) Сейчас специально реестр очистил, все ссылки на нее убил, запустил базу - все прекрасно зарегилось по ЗагрузитьВнешнююКомпоненту. Так что не знаю, что у тебя там за проблемы. Другой вопрос, что она не зарегится в терминале, если там хоть кто-нибудь еще в базе в этот момент, но это стандартное поведение.
P.S. И она НИКОГДА не зарегится на терминале, если первый запуск не с правами админа на терминале. V7Plus даже не зарегится.
264. Abadonna 3979 03.09.10 09:50 Сейчас в теме
Ну ладно, добавлю и в ту цвет. А Show/Hide если для мигалки, то проще текстом помигать:
НашТекст-Пусто-НашТекст-Пусто......
266. maxpiter 150 03.09.10 10:30 Сейчас в теме
(264) не для мигалки, а чтобы скрывать ее когда там выводить нечего.
265. Abadonna 3979 03.09.10 10:16 Сейчас в теме
а зачем Ex

Та была просто панель, лень в Type с процедурой переделывать ;)
267. Abadonna 3979 03.09.10 10:59 Сейчас в теме
Версия 2.0.0.1
По хотелкам maxpiter
Изменен метод
StatusBarPanelExText(Текст,ЦветШрифта,Жирный)
ЦветШрифта,Жирный: целые,необязательные, по умолчанию=0 (черный, нежирный)
Добавлен
StatusBarPanelExShow(Режим)
Режим=0 - спрятать, любое другое - показать
Новый метод (для 7.7)
StatusLineLogOn(ПолноеИмяФайлаЛога: строка) - включить запись в лог файл всего, что отображается в статус строке 1С
Пример сформированного лог-файла (мышкой водил по меню)

Для получения подсказки нажмите F1
Открытие журнала документов
Открыть список Журналов расчетов
Список операций
Открыть журнал проводок
Справочник
Список констант
Открыть список Календарей
Список праздников
Список счетов
Список Корректных проводок
Открыть список типовых операций
Открыть список Отчетов
Открыть список Обработок
Удаление помеченных на удаление объектов
Показать

StatusLineLogOff() - прекратить логгирование статус-строки
Примечание: удобно в "длинном" отчете сделать вывод через Состояние(Комментарий), а потом просмотреть лог
maxpiter; +1 – Ответить
268. maxpiter 150 03.09.10 11:04 Сейчас в теме
270. Abadonna 3979 03.09.10 12:14 Сейчас в теме
По хотелке maxpiter насчет мигалки в статус-баре.
Реализуется уже тем что, есть:
Перем КолМиг;
Перем
Таймер;
Процедура
Мигнуть()
КолМиг=КолМиг+1;
Если
КолМиг/2=Цел(КолМиг/2) Тогда
L.StatusBarPanelExText(" Мигающий текст",0,1);
Иначе
L.StatusBarPanelExText(" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",255,1);
КонецЕсли;
Если
КолМиг=100 Тогда
КолМиг=0;
КонецЕсли;
КонецПроцедуры

Процедура
ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Если
Событие="StPanelClick" Тогда
// по клику мигать перестаем
L.KillMainTimer(Таймер);
L.StatusBarPanelExText(" А, гад, заметил! ;)",0,1);
КонецЕсли;
Если
Событие="MAINTIMER" Тогда
Мигнуть();
КонецЕсли;
КонецПроцедуры

Процедура
Сформировать()
Таймер=L.SetMainTimer(350);
КонецПроцедуры

КолМиг=0;
271. Abadonna 3979 05.09.10 12:14 Сейчас в теме
Завтра передаю на натурные испытания В. Кушниру (рис.)
Прикрепленные файлы:
274. Abadonna 3979 06.09.10 17:03 Сейчас в теме
После предварительного тестирования в сети В. Кушниром, выкладываю версию 2.0.0.2 для более полного тестирования.
Новый метод:
UDPChatCreate(ИмяПользователяЧата)
1. Чат по принципу ВСЕ-ВИДЯТ-ВСЁ с момента входа
2. Для работы метода должна быть запущена программа UDPServer.exe, которая "разруливает" сообщения (прикрепляется к комментарию)
3. Программа может быть запущена на любом доступном сетевом компьютере, лучше, конечно, на сервере
4. Чат работает между любыми базами 1С: от 7.7 до 8.2
5. Обнаружился странный глюк у Кушнира на XP SP3 - не видны кнопки на верхней панели (у него же на Server2003 видны). Прошу сообщить, если такое будет еще у кого-нибудь
6. На случай невидимости по п.5 работает контекстное меню по правой кнопке

Прикрепленные файлы:
UDPServer.zip
Altair777; Арчибальд; vasilykushnir; +3 – Ответить
275. vasilykushnir 63 07.09.10 08:46 Сейчас в теме
(274) Да ерунда этот глюк (п.5) - главное все работает и вещь просто чумовая. На сервере (2003) под терминалами у любого юзера все ОК. Испытаю на нескольких рабочих местах, где юзеры, как и я по сети в 1С входят. Для полноты статистики. ;)
А в общем спасибо за отличную библиотеку.
276. Арчибальд 2712 07.09.10 09:22 Сейчас в теме
(275) Набор возможностей прекрасный. К ним бы еще описание :(
Добавки отследить не успеваю, блиииииин
277. Abadonna 3979 07.09.10 09:26 Сейчас в теме
(276)
– Пардон! – отозвался Фагот, – я извиняюсь, здесь разоблачать нечего, все ясно.

(с) Булгаков ;)
Поручик; +1 – Ответить
278. fastwriter 6 07.09.10 12:10 Сейчас в теме
Поставлю плюс за то что 7.7 не забываем. И вообще, хорошая вещица. Только к ней бы описание.
279. Abadonna 3979 07.09.10 12:39 Сейчас в теме
(278)
7.7 не забываем

Её я забываю, просто либа везде работает
280. Поручик 4611 07.09.10 22:16 Сейчас в теме
281. pakitos20084 08.09.10 22:05 Сейчас в теме
А можно пример кода для "Инфостарт внутри 1С", т.е. как открыть страницу внутри 1С?
283. Abadonna 3979 09.09.10 17:47 Сейчас в теме
(281)
А можно пример кода для "Инфостарт внутри 1С"

Там и кода почти нет;)
L.MDIhref("https://infostart.ru/");
L- переменная библиотеки
L.FreeMDIHref() - разрушить ранее созданную

(282)
В miracle v.1.0x.x был метод:
Lib.SetMDIPanel();

Сейчас такая панель внизу, на статус панели 1С. Недостаточно?
282. sfol 09.09.10 00:40 Сейчас в теме
Доброго времени суток.
Огромный респект создателю сиго чуда.

В miracle v.1.0x.x был метод:
Lib.SetMDIPanel();
Lib.SetMDIPanelText("Демонстрация возможностей библиотеки. Это - MDIPanel",1,,12,1,,2);

Есть ли возможность внедрить его в новую версию. Очень полезная вещь.
Заранее благодарю за ответ.

Еще раз спасибо за труды.
288. Abadonna 3979 09.09.10 22:06 Сейчас в теме
2.0.0.3 По просьбе (282), новый метод
SetMDIPanel(КтоРодитель: целое) - возвращает ссылку на интерфейс.
КтоРодитель - необязательный, 0 (по умолчанию) - MDI, не ноль - главное окно 1С
Нюансы:
Если родитель главное окно, панель не будет перекрываться при разворачивании родных окон 1С
(отчетов, журналов, документов), но будет закрывать 30 пикселей верхней части этих окон
Методы интерфейса:
p_Text(ТекстПанели:строка);
p_Font(Размер,Цвет,Жирный,Подчеркнутый,Наклонный: целые);
Все необязательные, по умолчанию: 8,0 (черный), 0,0,0
p_Blink(Интервал: целое) - помигать текстом в панели
Интервал - необязательный, интервал таймера мигания, по умолчанию 350 мс.
Текст на панели будет мигать до клика пользователя по панели, либо до применения метода p_StopBlink().
p_Colors(ОтЦвета,ПоЦвет:целые) - цвета панели. При одинаковых значениях панель "плоская"
p_Show(Режим: целое) - режим показа панели
Скрыть (0)/показать(1), необязательный, по умолчанию показать
p_Free() - разрушить ранее созданную панель

Перем v; // интерфейс панели - OLE_VARIANT
//Перем L; // переменная библиотеки
Процедура Шрифт()
v.p_Font(22,255,1);
КонецПроцедуры

Процедура
Мигать()
v.p_Blink();
КонецПроцедуры

Процедура
ЦветПанели()
v.p_Colors(15400959,53970);
КонецПроцедуры

Процедура
ПриОткрытии()
//Путь= КаталогИБ();
//ЗагрузитьВнешнююКомпоненту(Путь+"MiracleV8.dll");
//L=СоздатьОбъект("AddIn.MiracleClass");
v=L.SetMDIPanel();
v.p_Text(" Это MDI Panel библиотеки MiracleV8.");
КонецПРоцедуры

Процедура
ПриЗакрытии()
Если ПустоеЗначение(
v)=0 Тогда
v.p_Free();
КонецЕсли;
КонецПроцедуры


Прикрепленные файлы:
MDIPanel.ert
292. sfol 10.09.10 13:03 Сейчас в теме
(288)

при клике на панель, пропадает текст :(
Rumpel_Shtilken; +1 – Ответить
294. Abadonna 3979 10.09.10 13:29 Сейчас в теме
(292) Очень странно... :o Сейчас у себя проверил раз 20 - все ОК
Кое-где продублировал, добавил принудительную перерисовку панели. Скачай заново, как оно будет?
296. sfol 10.09.10 13:38 Сейчас в теме
(294) теперь ок. Сенкс.
284. sfol 09.09.10 19:01 Сейчас в теме
Добрый день.
Спасибо за ответ.

Да об этой панели мне известно. но её не очень хватает. много текста не отобразишь, да и размер шрифта большой не сделаешь.

Обосную просьбу.

В работе используется 6 валют. Есть обработка, которая отображает и актуальный курс и кросс курсы. Но хотелось бы это отображать в панели под главным меню. Будет очень удобно и наглядно.
285. Abadonna 3979 09.09.10 19:03 Сейчас в теме
(284) Ладно, прибамбашу ;)
286. sfol 09.09.10 19:08 Сейчас в теме
Есть еще конечно же просьба об документации к ВК. Не оригинально конечно, но есть предложение. Может 1С-ная братва простимулирует автора dll. Я лично готов вкинуть свои денежки на поддержание отечественных разработчиков.
290. Rumpel_Shtilken 10.09.10 01:31 Сейчас в теме
(286) Поддерживаю. На проверку ВК методом тыка уходит много времени. :cry: А время - деньги... Даже не успеваешь отследить и оценить обновления... В прикреплённом TXT-описании, я так понял, где-то 5-10% от всего многообразия.
287. sfol 09.09.10 21:41 Сейчас в теме
Надеюсь, хоть, кто-нибудь, отзовется на моё предложение :)
Сорри, по ошибке прикрепил файл из следующего коммента, поэтому появилось "отредактировано" ;)
Удаляю, ставлю файл к своему
289. sfol 09.09.10 23:26 Сейчас в теме
Огромное спасибо, работает!!!
Но есть одна трабла. Есть в конфе пользовательские панели, MDI панель их перекрывает, панели можно конечно передвинуть, т.е. фича не критичная.

Есть еще одна идея. в конфе есть "рабочие столы" (тоже не оригинально :)) у разных групп пользователей, на них дофига ТЗ. конечно же организована фильтрация, и сортировка. Но хотелось бы иметь возможность фильтрации, как в xls т.е. поле со списком и с пометками. Это конечно не совсем в духе miracle но ... Задачу я решил обходными кругами, но это не то пальто. Хочется облегчить жизть пользователей. Основная трабла, в поле со списком, не отображаются галочки (пометки). Много гуглил решения не встречал.
291. sfol 10.09.10 12:10 Сейчас в теме
Доброго времени суток.

Приблуда instOLEGenerator.vbs (спасибо товарищу Трошину)
сгенерировала мне .als и .ints файлы

Версия библиотеки 2.0.0.3
Прикрепленные файлы:
Miracle (doc).rar
293. Rumpel_Shtilken 10.09.10 13:03 Сейчас в теме
(291) Ооо.. Хоть что-то... Хотя бы можно оценить объём этого детища... Плюсую.
295. ЗАК 10.09.10 13:33 Сейчас в теме
А можно в будущем в одном архиве выкладывать компоненту и файл описания ? :) Было бы удобнее хранить их вместе, а то теряется описание вечно :) да и качать удобнее одним файлом.
297. Abadonna 3979 10.09.10 17:56 Сейчас в теме
А можно в будущем в одном архиве выкладывать компоненту и файл описания ?

Да оно-то можно, только я сам файл описания уж сто лет не менял... Тошнит меня от рутины :( Лень пока
298. sfol 10.09.10 18:11 Сейчас в теме
(297) Дык есть же желающие подсобить.
299. Abadonna 3979 10.09.10 18:12 Сейчас в теме
(298) Шибко боюсь, что ты и Rumpel_Shtilken останетесь раритетами :D
300. Rumpel_Shtilken 11.09.10 01:59 Сейчас в теме
Скачал и запихнул в Windows\System32 библиотеку CapiCom.dll v.2.1.0.1, но методы EncodeText() и DecodeText() в 7.7 не работают (пишет: неудачная попытка создания объекта "CAPICOM.EncryptedData"). :( Они вообще для какой версии 1С ?
303. Abadonna 3979 11.09.10 09:42 Сейчас в теме
(300)
"CAPICOM.EncryptedData"). Они вообще для какой версии 1С ?

CAPICOM не для версии, она сама по себе.
Проверь просто в 1С:
А=СоздатьОбъект("CAPICOM.EncryptedData");

Если ругнется - что-то у тебя не там оно лежит. Должна находится в
WINDOWS\system32\
(301) На многослойных не работает
(302) Именно как раз потому что мне не нравятся ПБ в виде отдельных окон, я и начал изучать в свое время наследование окон в 1С;) Доделаю FlyGauge c возможностью установления родителя, но не более
P.S. И сделаю еще один на тулбаре формы 7.7 (давно собирался), тогда ему и места не надо будет, и слои по фиг
304. Rumpel_Shtilken 11.09.10 17:15 Сейчас в теме
(303)
CAPICOM не для версии, она сама по себе.

:!: Я спрашивал для какой версии 1С написаны методы EncodeText() и DecodeText(): для 1C v77 или 1Cv8... Но ни как не про CAPICOM ! И лежит она там где надо.

Ладно, допустим создал объект А=СоздатьОбъект("CAPICOM.EncryptedData"); Что дальше ? Дальше так?:
A.EncodeText(); и A.DecodeText();

P.S. А про ПБ ты зря...
301. Rumpel_Shtilken 11.09.10 02:02 Сейчас в теме
:?: В 1Cv77 чё-то не срабатывает прогресс-бар на многослойных формах. На какой слой надо ложить невидимую рамку Gauge ?
302. Rumpel_Shtilken 11.09.10 02:32 Сейчас в теме
Прогресс-бар на форме - это хорошо, но под него на форме надо отводить место (сделать под него отдельную формочку и возиться с ней конечно можно, но...). Прогресс-бар в строке статуса - прекрасно, но даже если сделать его ярко красным, некоторые юзеры могут не обратить на него внимания (=> куда-то надо выводить сопутствующий текст о том, что в данный момент происходит). Прогресс-бар на MDI - красиво, но если форма, запустившая его, модальна и развёрнута на всё окно, то прогресс-бара не видно, и что происходит в данный момент юзер не знает.
:idea: Предлагаю сделать ещё один прогресс-бар, который будет выводиться в виде отдельной формочки и ложиться поверх вызвавшей его формы (и модальной и немодальной). По окончании - авторазрушение. Корректная отрабатка прерывания по Esc. На формочку можно положить 2 -3 кнопки. Входные параметры: заголовок ПБ, тип ПБ - одиночный или двойной (как, например, в TotalCommandere), координаты XY ПБ относительно MDI или вызвавшей его формы (лучше предусмотреть оба варианта), Число = 100%, заголовки кнопок.
Я думаю, многих бы устроил именно такой вариант...
P.S.Похожий прогресс-бар сделан в ВК bcs_wnd.dll (спасибо автору), но там есть минусы. :cry: И автор вроде больше не апгрейдит свою ВК.
307. Abadonna 3979 11.09.10 18:04 Сейчас в теме
Версия 2.0.0.4 По хотелке (302)
Новые методы:
FlyCreate(Родитель: целое) - создать плавающий индикатор (см. рис.)
Родитель - необязательный, по умолчанию 0
Если Родитель=0, то родительское окно - главное окно 1С. При этом форма индикатора будет всегда поверх всех других, кроме модальных
Если Родитель=1, то родительское окно MDI, форма будет закрываться другими формами
Если Родитель=иное, то родительское окно Desktop, форма будет всегда поверх ВСЕХ окон в системе, в т.ч. поверх модальных форм 1С. Нюанс: форма, созданная таким образом, не будет сворачиваться при сворачивании главного окна 1С.
FlyPosition1(Прогресс) - установить позицию индикатора 1
FlyPosition2(Прогресс) - установить позицию индикатора 2
FlyDestroy() - разрушить форму индикатора
Примечания: форма индикаторов таскается мышкой за верх, по правой кнопке - контекстное меню на интерактивное закрытие формы.
Процедура Сформировать()
L.FlyCreate();
L.FlyPosition2(25);
Для
А=0 По 100 Цикл
L.FlyPosition1(А);
L.SleepTime(30);
КонецЦикла;
КонецПроцедуры

Процедура
ПриЗакрытии()
L.FlyDestroy();
КонецПроцедуры

P.S. Это последнее бесплатное обновление библиотеки

Прикрепленные файлы:
formula76; Rumpel_Shtilken; +2 – Ответить
308. Rumpel_Shtilken 11.09.10 19:20 Сейчас в теме
(307) Спасибо БОЛЬШОЕ. :)
305. Abadonna 3979 11.09.10 17:19 Сейчас в теме
Я спрашивал для какой версии 1С написаны методы EncodeText()

Для любой.
Если 1С создала, то и библиотека должна создать
Только сейчас проверил
Сообщить(L. EncodeText("Привет","123"));
Вернуло:

MFoGCSsGAQQBgjdYA6BNMEsGCisGAQQBgjdYAwGgPTA7AgMCAAECAmYCAgIA­gAQI
UN9FRYP2iGUEEBo1qaZs/tAVhlGLcM1/XeEEEGnm2K/tYcf3l5oEwF+tNIM=­
306. Abadonna 3979 11.09.10 17:29 Сейчас в теме
Вообще-то CAPICOM.dll регистрировать надо!
Regsvr 32. Я что, и за мелоксофт теперь отвечать должен? ;)
309. pakitos20084 14.09.10 04:40 Сейчас в теме
У меня такой вопрос SetDesctopAlert позволяет выводить всплывающее окно, в заголовке этого окна всегда написано Miracle8. Как можно заменить эту строку на , например, "Внимание" или "Ошибка"? Что-то я не нашел как? И можно ли менять цвет этого окна? (например, при ошибке красный)
310. Abadonna 3979 14.09.10 07:48 Сейчас в теме
(309) Как сейчас сделано - нельзя
311. pakitos20084 14.09.10 13:44 Сейчас в теме
Ещё вопрос, не могли бы Вы сказать, какие и что означают параметры в методах:
SetFlyGauge()
SetFlyText()
SetProgressBar()
SetProgressBarEx()
SetRCGauge()
SetStatusBarGauge()
SetStatusBarPanel()
SetStatusBarPanelEx()
SetStatusLine()
SetTrackBar()
SetVertGauge()
312. mike581 20.09.10 18:24 Сейчас в теме
Здорово. Начальство захотело скрывать екоторые документы в жкрнале. Никак не мог придумать как поступить. А тут такооееееее!!! :D
313. Ёпрст 1068 23.09.10 10:44 Сейчас в теме
Кнопки в тулбаре, работают не для всех форм ???
Только для журналов доков ?
В форме самого дока - не лепятся, ошибок тоже не выдаёт:

Процедура ПослеСозданияФормы() Экспорт
	    Картинка = КаталогИБ() + "\вася.ico";
	    Miracle.NewToolButton(340, "But"+_GetPerformanceCounter(), Картинка, "тра ля ля");
   	    Miracle.SetFormIcon(Картинка);
КонецПроцедуры


В форме журнала работает, в форме дока - нет, вк - последней сборки.
314. Abadonna 3979 23.09.10 11:24 Сейчас в теме
(313)
Только для журналов доков ?

По идее, должно везде... посмотрю...
Но больше версий без регистрации не будет.
Первым трем тестерам работоспособности регистрации - регистрация на один комп бесплатно.
P/S. Сейчас тестирую добавление любых пунктов меню (с реакцией, разумеется) для 7.7
Прикрепленные файлы:
315. sfol 23.09.10 11:30 Сейчас в теме
(314) Есть желание протестировать
316. Abadonna 3979 23.09.10 11:31 Сейчас в теме
(315) Доделаю всё, что можно улучшить, и выложу.
Думаю, в течение недели...
317. Ёпрст 1068 23.09.10 11:37 Сейчас в теме
Но больше версий без регистрации не будет


Ээ.. продавать что ли будегь ?
:)
318. Abadonna 3979 23.09.10 11:39 Сейчас в теме
(317) Ха! Народ на всяких отчетиках бабло делает, а я, что, рыжий? ;)
Однозначно не рыжий, потому что лысый :D
319. sfol 23.09.10 11:41 Сейчас в теме
(318) Главное, что бы за разумны денежки. Ну и конечно описалово нормальное, что бы не продавать ящик пандоры :)
320. Abadonna 3979 23.09.10 11:43 Сейчас в теме
(319) Вот поэтому тут бесплатная "as is", а в платной я как раз и собираюсь кое-что усовершенствовать и сделать полное описание
Кстати, заработал наконец-то форум разработки (все страницы теперь на месте, спасибо support-у). Там есть описание многих новых методов
321. Арчибальд 2712 23.09.10 12:05 Сейчас в теме
(318) Лысых Абадонн не бывает, ИМХО.
322. Abadonna 3979 23.09.10 13:13 Сейчас в теме
(321) Модератору от главного модератора: предупреждение за флад :D
323. Ёпрст 1068 23.09.10 14:13 Сейчас в теме
По-поводу кнопки в тулбаре:
Кнопка в форме появляется, если её прописывать в событии ПослеОткрытия, а вот в ПослеСозданияФормы - нет .. :(
Странно..
324. Abadonna 3979 23.09.10 14:19 Сейчас в теме
(323) А ни фига странного... Видимо сразу в момент ПослеСозданияФормы еще нет хэндла формы документа, вот кнопке и некуда расположиться.
В хэлпе четко написано:
ПРИМЕЧАНИЯ для работы с визуальными компонентами на форме (важно!!!!):
Так как компоненты типа ProgressBar, AviAnimator, GifAnimator и т.п. используют для установки хэндл отчета, нельзя применять их установку в процедуре ПриОткрытии() - хэндл еще не существует.
Способ обойти проблему, если хотите установить сразу при запуске отчета (обработки)
7.7
Процедура УстановитьТрекБар()
// ОбработкаОжидания отрабатывает только один раз, ниже ее отключаем.
// Хэндл окна отчета уже есть
Форма.ОбработкаОжидания("УстановитьТрекБар",0);
L.SetTrackBar(400,255);
L.TrackPosition(255);
КонецПроцедуры

Процедура ПриОткрытии()
Форма.ОбработкаОжидания("УстановитьТрекБар",1);
КонецПроцедуры
Другой вариант для 7.7 - formex, процедура ПослеОткрытия()
Показать

Рекомендаций по ПослеСозданияФормы я там не давал ;)
325. Abadonna 3979 23.09.10 14:29 Сейчас в теме
+(324) Вариант 1 (с ОбработкаОжидания) будет срабатывать ВСЕГДА, и без формекса
326. vip 23.09.10 14:36 Сейчас в теме
(324) Неправ.
Есть уже хэндл в ПослеСозданияФормы().

327. Abadonna 3979 23.09.10 14:37 Сейчас в теме
(326) Если бы он был - кнопка бы создалась! И никаких других вариантов.
Может, нет хэндла тулбара... щас проверю
328. Abadonna 3979 23.09.10 14:40 Сейчас в теме
Да и на фига я буду проверять? ;) Делай, как рекомендовано в хэлпе, и не морочь мозги :D
329. sfol 09.10.10 13:37 Сейчас в теме
(0) Доброго времени суток. Как-то всё поутихло здесь, а ведь публика поднапряглась и ждёт мега релиза :) с алсами, демками и.т.д.
330. Abadonna 3979 09.10.10 13:38 Сейчас в теме
331. пользователь 13.11.10 10:50
Сообщение было скрыто модератором.
...
332. пользователь 13.11.10 10:57
Сообщение было скрыто модератором.
...
333. пользователь 13.11.10 12:03
Сообщение было скрыто модератором.
...
334. пользователь 13.11.10 14:19
Сообщение было скрыто модератором.
...
335. пользователь 13.11.10 14:40
Сообщение было скрыто модератором.
...
336. пользователь 13.11.10 14:43
Сообщение было скрыто модератором.
...
337. пользователь 13.11.10 14:48
Сообщение было скрыто модератором.
...
338. пользователь 13.11.10 15:15
Сообщение было скрыто модератором.
...
339. пользователь 13.11.10 15:24
Сообщение было скрыто модератором.
...
340. пользователь 13.11.10 15:42
Сообщение было скрыто модератором.
...
341. пользователь 13.11.10 15:50
Сообщение было скрыто модератором.
...
342. пользователь 13.11.10 16:16
Сообщение было скрыто модератором.
...
343. пользователь 13.11.10 16:17
Сообщение было скрыто модератором.
...
346. пользователь 13.11.10 16:30
Сообщение было скрыто модератором.
...
345. пользователь 13.11.10 16:18
Сообщение было скрыто модератором.
...
348. пользователь 13.11.10 16:39
Сообщение было скрыто модератором.
...
350. пользователь 21.11.10 15:59
Сообщение было скрыто модератором.
...
352. пользователь 22.11.10 03:29
Сообщение было скрыто модератором.
...
351. пользователь 22.11.10 00:49
Сообщение было скрыто модератором.
...
353. Amel2010 45 06.12.10 18:48 Сейчас в теме
Такой вопрос автору...
Разбираюсь с NewToolButton
Работает как нужно. Но!
После перерисовки формы новая кнопка не видна!
Ловится ситуация при такой последовательности шагов:
1. Открыли форму, в которой добавили новую кнопку в тулбар
2. При нажатии на эту кнопку открылось модальное окно, которое НЕ перекрывало кнопку в тулбаре!
3. После закрытия этой модальной формы кнопка в тулбаре не отображается, хотя продолжает реагировать на нажатия и показывает всплывающую подсказку, если подвести к ней мышь

Если же модальная форма перекрывала кнопку перед закрытием, то кнопка не пропадает.

ЗЫ: пользуясь случаем, позвольте поблагодарить автора за проделанную работу!
ЗЫ2: вдруг идея понравится и реализуете: я сейчас юзаю одну dll для снятия скриншота с окон внутри 1С. И только для этого. Скриншот документов удобно посылать в мыле юзерам для согласования - чтобы они сразу имели представление о том, какой документ им предстоит согласовать. Если это не очень сложно, есть пожелание заиметь такой функционал в Вашей компоненте (хотелось бы загружать поменьше dll в 1С).
354. Abadonna 3979 10.12.10 17:45 Сейчас в теме
(353)
вдруг идея понравится и реализуете: я сейчас юзаю одну dll для снятия скриншота с окон внутри 1С

Там метод испокон веков существует, просто в описание забыл включить ;)
ScreenShot(ПолноеИмяФайла:строка);
ПолноеИмяФайла - имя файла "*.jpg" для сохранения картинки экрана.
В у меня в 77 так "фотает" экран при обломе ночного восстановления ГП
Файл сжимается с CompressionQuality = 25 - самое оптимальное по опыту (и небольшой, и всё нормально видно)
355. Amel2010 45 14.12.10 09:17 Сейчас в теме
Это не совсем то... речь идет о скриншоте одного дочернего окна (документа).
В моем случае некорректно будет отправлять снимок всего окна 1С.
356. Abadonna 3979 08.01.11 19:07 Сейчас в теме
2.1.1.3 Навеяно:
http://forum.infostart.ru/forum24/topic37335/message408030/?result=edit#message408030
А какие еще методы - не скажу ;) Смотрите позже на нашем сайте
Сервис-М
Блин, забыл :
ZCompressString(ВходнаяСтрока:строка); - ужимаем строку
ZDecompressString(ВходнаяСтрока:строка); - распаковываем ранее ужатую строку
357. Abadonna 3979 09.01.11 13:43 Сейчас в теме
2.1.1.4
По просьбе Чебурашки:
ZCompressFile(ПолноеИмяИсходногоФайла,ПолноеИмяСжатогоФайла: строки):число
ПолноеИмяСжатогоФайла - необязательный, по умолчанию файл в той же директории, с тем же именем, расширение *.ZLIB
При упаковке в res-header прописывается полное имя исходного файла
Возвращает размер упакованного файла в байтах
ZDecompressFile(ПолноеИмяИсходногоФайла,ПапкаДляИзвлечения: строки):строка
ПапкаДляИзвлечения - необязательный, по умолчанию в ту же папку, которая была прописана при упаковке в res-header. Оригинальное имя файла для
распаковки тоже берется из res-header
Возвращает имя распакованного файла.
Пример:
Процедура Упаковать()
      Результат=L.ZCompressFile(КаталогИБ()+"IndyInDepth.doc"); 
      Сообщить(""+Результат+" байт");	  
КонецПроцедуры


Процедура Распаковать()
      Результат=L.ZDecompressFile(КаталогИБ()+"IndyInDepth.ZLIB"); 
     Сообщить(Результат);	  
КонецПроцедуры
Показать

Тест на сжатие:
1 564 672 байт - исходный (IndyInDepth.doc)
453 798 байт - архиватор zip из-под Total Commander (29,00%)
459 451 байт - этот архиватор (29,36%)
P.S. Архивы, созданные ZCompressFile, читаются только ZDecompressFile (может в этом даже польза есть ;))
358. пользователь 09.01.11 17:09
Сообщение было скрыто модератором.
...
359. пользователь 09.01.11 17:10
Сообщение было скрыто модератором.
...
360. пользователь 09.01.11 17:16
Сообщение было скрыто модератором.
...
361. пользователь 09.01.11 17:18
Сообщение было скрыто модератором.
...
362. пользователь 09.01.11 17:21
Сообщение было скрыто модератором.
...
363. пользователь 09.01.11 17:21
Сообщение было скрыто модератором.
...
364. пользователь 09.01.11 17:22
Сообщение было скрыто модератором.
...
365. пользователь 09.01.11 17:23
Сообщение было скрыто модератором.
...
366. пользователь 09.01.11 17:26
Сообщение было скрыто модератором.
...
367. пользователь 09.01.11 17:27
Сообщение было скрыто модератором.
...
368. пользователь 09.01.11 17:47
Сообщение было скрыто модератором.
...
369. пользователь 09.01.11 17:56
Сообщение было скрыто модератором.
...
370. пользователь 09.01.11 18:01
Сообщение было скрыто модератором.
...
371. пользователь 09.01.11 18:03
Сообщение было скрыто модератором.
...
373. пользователь 09.01.11 18:58
Сообщение было скрыто модератором.
...
374. пользователь 09.01.11 19:01
Сообщение было скрыто модератором.
...
375. пользователь 09.01.11 19:33
Сообщение было скрыто модератором.
...
372. пользователь 09.01.11 18:37
Сообщение было скрыто модератором.
...
376. пользователь 09.01.11 19:39
Сообщение было скрыто модератором.
...
377. пользователь 09.01.11 19:43
Сообщение было скрыто модератором.
...
378. пользователь 09.01.11 19:50
Сообщение было скрыто модератором.
...
379. пользователь 09.01.11 19:54
Сообщение было скрыто модератором.
...
380. пользователь 09.01.11 20:10
Сообщение было скрыто модератором.
...
381. пользователь 09.01.11 20:13
Сообщение было скрыто модератором.
...
382. пользователь 09.01.11 20:31
Сообщение было скрыто модератором.
...
383. пользователь 09.01.11 20:33
Сообщение было скрыто модератором.
...
384. пользователь 09.01.11 20:58
Сообщение было скрыто модератором.
...
387. пользователь 09.01.11 21:09
Сообщение было скрыто модератором.
...
385. пользователь 09.01.11 20:58
Сообщение было скрыто модератором.
...
386. пользователь 09.01.11 21:04
Сообщение было скрыто модератором.
...
388. nicxxx 258 11.01.11 08:37 Сейчас в теме
ошибка распаковки ZDecompressString()
AddIn.MiracleClass: buffer error
сначала сжимаю строку, которая получается вот так: ЗначениеВСтрокуВнутр(ТаблицаЗначений)
если в ТЗ данных нет, то распаковка проходит нормально
если есть хоть одна строка - получаю ошибку
389. Abadonna 3979 11.01.11 09:23 Сейчас в теме
(388) Посмотрю, на ТЗ не проверял... Может ей там символ какой-нить не нравится
390. Abadonna 3979 11.01.11 15:26 Сейчас в теме
(388) Ну, мне все ясно. Ты пробовал напечатать ЗначениеВСтрокуВнутр(ТЗ)? См. рис, там куча непечатных символов
Кстати, 1С и не пишет в этом методе от ТЗ
Синтаксис:
ЗначениеВСтрокуВнутр(<Объект>)
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
<Объект> - значение объекта агрегатного типа данных которое нужно преобразовать.

Зато в ЗначениеВСтроку конкретно указано
начениеВСтроку(<?>);
Синтаксис:
ЗначениеВСтроку(<Объект>)
Назначение:
Преобразование значения объекта в строковое системное представление. Возвращает: строковое представление значения объекта.
Параметры:
<Объект> - значение, которое нужно преобразовать. В качестве параметра для данного
метода допускается передавать объекты типа "СписокЗначений" и "ТаблицаЗначений" .

Код
Процедура ТЗ()  
	ТЗ.Очистить();
	ТЗ.НоваяКолонка("Первая");
	ТЗ.НоваяКолонка("Вторая");
	ТЗ.НоваяСтрока();
	ТЗ.Первая="Раз";
	ТЗ.Вторая=1;
	ТЗ.НоваяСтрока();
	ТЗ.Первая="Два";
	ТЗ.Вторая=2;                        
	Стр1=ЗначениеВСтроку(ТЗ);       
	Стр10=ЗначениеВСтрокуВнутр(ТЗ);     
	Сообщить(Стр10);   // вот тут глянь какие кракозябры внутри текста !
	Стр2=L.ZCompressString(Стр1);   
	Стр3=L.ZDecompressString(Стр2);
	пТЗ=СоздатьОбъект("ТаблицаЗначений");
	пТЗ=ЗначениеИзСтроки(Стр3);  
	ТЗН.Загрузить(пТЗ);
КонецПроцедуры
Показать

отработал без проблем (рис).
Прикрепленные файлы:
391. Abadonna 3979 11.01.11 21:34 Сейчас в теме
+ (390) Вообще-то ЗначениеВСтрокуВнутр(<Объект>), хоть оно и работает, для ТЗ некорректно использовать.
Это либо базовый тип, понятный любой системе (число, строка, дата), либо объект, имеющий внутренний идентификатор в метаданных
(элемент справочника, документ, перечисление). ТЗ к таковым никаким боком не относится. А вот ячейка ТЗ - да.
392. nicxxx 258 13.01.11 09:02 Сейчас в теме
когда к ТЗ, которая получена из таб части документа методом Выгрузить() применяю ЗначениеВСтроку(), то после обратного действия ЗначениеИзСтроки() в этой ТЗ не заполнена колонка Единица. а вот ЗначениеВСтрокуВнутр() отрабатывает отлично. мистика?
плюс очевиден, минус только один - строка длиннее получается, причем, чем больше строк в ТЧ, тем больше разница. для примера: 1 строка в ТЧ, ЗначениеВстрокуВнутр() длинее на 18%, а для 15 строк в ТЧ - уже 35% разницы
393. Abadonna 3979 13.01.11 09:20 Сейчас в теме
Во всяком случае согласись, то функция, предназначенная для работы со строками, вовсе не обязана работать со строками, в которых есть непечатные символы ;)
394. nicxxx 258 13.01.11 09:54 Сейчас в теме
соглашусь отчасти. 1С не понимает только символ с кодом 0, а символы 1-32 вроде бы "в законе", но лучше их не использовать.
щас тестировал твою компоненту. версия 2.1.1.4. сравнивал со своей zipstring.dll
все равно твоя выдает ошибку buffer error, причем на любой ТЗ - хоть ЗначениеВСтрокуВнутр(), хоть ЗначениеВСтроку().
причем miracle как-то подозрительно хорошо упаковывает строки:
исходный размер 7771 байт, miracle 137 байт, zipstring 792 байта
похоже, что метод ZCompressString() возвращает строку, в которой есть символы с кодом 0 (но не всегда), а на первом таком символе 1С прекращает обработку строки. У меня тоже был такой баг, я взял алгоритм преобразования сжатой строки из binfiles.dll
395. Abadonna 3979 13.01.11 09:58 Сейчас в теме
Со стокой я не парился вообще, ZLibEx, её метод CompressString()
причем на любой ТЗ - хоть ЗначениеВСтрокуВнутр(), хоть ЗначениеВСтроку().

Выше же есть код (проверенный), где у меня без базаров отработало ЗначениеВСтроку() и все компрессии/декомпресии
Картинка прям с окна 1С
396. nicxxx 258 13.01.11 10:19 Сейчас в теме
ZLibEx, её метод CompressString() не катит в чистом виде, надо конвертировать. у тебя binfiles.dll есть? там есть модуль конвертации.
у меня этот проверенный метод ЗначениеВСтроку() на реальной ТЗ из табл части документа тоже ошибку выдает при распаковке.
повторюсь, ZCompressString() выдает строку, в которой может быть символ с кодом 0, а может и не быть. если исходная строка маленькая (203 байта занимает твоя тестовая ТЗ, выгруженная методом ЗначениеВСтроку()), то скорее всего этого символа там не будет, а если строка длинная, ну хотя бы 7 килобайт, как у меня на реальной ТЗ, то - вуаля, ловим ошбику
397. Abadonna 3979 13.01.11 10:39 Сейчас в теме
Да проще всего сразу обработать прям в 1С ЗначениеВСтроку() или ЗначениеВСтрокуВнутр()
на данном этапе я точно с методом в либе возиться не буду. ежели только (гляну) подправить сам метод в ZlibEx
398. nicxxx 258 13.01.11 11:11 Сейчас в теме
обработать в 1С не получится. компонента возвращает в 1С строку до первого символа с кодом 0. я проверял. надо править метод в ВК
399. Abadonna 3979 14.01.11 14:12 Сейчас в теме
(398) В общем, победил я ЗначениеВСтрокуВнутр, любую длину строки и т.д.
ZCompressString(ВходнаяСтрока,ИмяФайлаДляСохранения: строки):строка
ВходнаяСтрока - что сжимать
ИмяФайлаДляСохранения - необзятельный, при указанном сжатый поток сохраняется в указанный файл
Возвращает сжатую строку в кодировке base64 (и читать, и записывать удобнее)
ZDecompressString(ВходнаяСтрока:строка):строка
ВходнаяСтрока - ранее сжатая строка
Возвращает распакованную строку
Тест проводился на ТЗ с 4 колонками и 2000 строками
Процедура Сформировать()
	Спр=СоздатьОбъект("Справочник.Номенклатура");
	Спр.ВыбратьЭлементы();  
	ТЗ.Очистить();              
	ТЗ.НоваяКолонка("НомерПП");
	ТЗ.НоваяКолонка("Элемент");                  
	ТЗ.НоваяКолонка("Наименование");
	ТЗ.НоваяКолонка("Код");
	НомерПП=0;
	Пока Спр.ПолучитьЭлемент()=1 Цикл   
		Если Спр.ЭтоГруппа()=1 Тогда Продолжить; КонецЕсли;
		НомерПП=НомерПП+1;
		Если НомерПП>До Тогда Прервать; КонецЕсли; 
		Состояние("Обрабатывается строка ТЗ "+НомерПП);
		ТЗ.НоваяСтрока();
		ТЗ.НомерПП=НомерПП;
		ТЗ.Элемент=Спр.ТекущийЭлемент();   
		ТЗ.Наименование=Спр.Наименование;
		ТЗ.Код=Спр.Код;  
	КонецЦикла;        
	
	Стр1=ЗначениеВСтрокуВнутр(ТЗ);       
	Т=СоздатьОбъект("Текст");
	Т.ДобавитьСтроку(Стр1);
	Т.Записать("d:\ZIPTEST_1С.txt");
	Состояние("Упаковка...");
	Стр2=L.ZCompressString(Стр1,"d:\ZIPTEST_ZIP.txt");     
	Состояние("Распаковка...");
	Стр3=L.ZDecompressString(Стр2);       
	пТЗ=СоздатьОбъект("ТаблицаЗначений");
	пТЗ=ЗначениеИзСтрокиВнутр(Стр3);  
	ТЗН.Загрузить(пТЗ);
КонецПроцедуры
Показать

Результаты теста:
Записанная "родная" ЗначениеВСтрокуВнутр(ТЗ) - 320К
Сжатая - 66К
Прикрепленные файлы:
400. Abadonna 3979 18.01.11 00:23 Сейчас в теме
2.1.1.6
Оптимизированы методы
ZCompressString и ZDecompressString (скорострельность)
Примечание: не стоит упаковывать строки длиннее 500 тыс. символов
Добавлены методы:
BinToBase64(ИмяФайлаИсточника,ИмяВыходногоФайла:строки) - преобразует любой бинарный файл в файл base64
Base64ToBin(ИмяФайлаИсточника,ИмяВыходногоФайла:строки) - преобразует ранее преобразованный файл base64 в оригинал
Процедура Сформировать()
  L.BinToBase64("d:\2EMAIL\MiracleV8\Картинки\Fly.PNG","d:\2EMAIL\MiracleV8\Картинки\Fly.b64"); 
  L.Base64ToBin("d:\2EMAIL\MiracleV8\Картинки\Fly.b64","d:\2EMAIL\MiracleV8\Картинки\Fly1.PNG");	  		  
КонецПроцедуры

Примечание: файлы считываются в поток не поблочно, целиком, не используйте для гиговых файлов
401. SvSoft 80 25.01.11 17:00 Сейчас в теме
Млин, версии 2.1.1.4 и 2.1.1.6 не хотят работать под 2000-й Виндой,
компонента грузится в ПриНачалеРаботыСистемы
просто тупо выдаёт ошибку: "не удалось загрузить ВК"
до этого стояла 1.9.6.4 с ней всё без проблем работало (да и сейчас работает, пробовал менять на эту старую версию),
токо я уже в своей самописке довольно приличный прибамбас написал, а там используются методы по упаковке строк и файлов,
которых в версии 1.9.6.4 нет :D
402. 7o2uYXg 50 25.01.11 18:00 Сейчас в теме
Была версия 1.9.8.4, отлично работала и под Windows, и под WINE (в Ubuntu 8.04).
Теперь взяли Ubuntu 10.04, в ней компонента регистрируется в 1с, но при выполнении метода ReadXLS виснет намертво (пробовал обновить до свежайшей 2.1.1.6, пробовал менять режим совместимости в настройках WINE - не помогает).
403. Abadonna 3979 25.01.11 18:22 Сейчас в теме
Была версия 1.9.8.4, отлично работала и под Windows, и под WINE

Вот хоть убей, если я знаю, что я там кардинально менял;) Кажись, ничего
Что касается XLS, то там используется спецкомпонента для Дельфи, в ней я ничего не менял, as is
Видимо это именно она и не желает работать под тем, подо что не заточена
404. SvSoft 80 26.01.11 08:24 Сейчас в теме
(403)Abadonna, а по поводу моего поста (401), что скажешь?
Сдаётся мне, что в 2000-й Винде чего-то не хватает (ну типа dll-лек каких-нить, не силен в этом к сожалению :()
Вот в постах увидел упоминание о ZlibEx - это к примеру что за штука?
405. SvSoft 80 26.01.11 08:42 Сейчас в теме
Щас попробовал положить компоненту в папку с Виндой и зарегать, вышло окошко с сообщением
LoadLibrary("C:\WINNT\system32\MiracleV8.dll") failed - Не найден указанный модуль,
чего ей не хватает?
406. Abadonna 3979 26.01.11 15:27 Сейчас в теме
(405) Не знаю как конкретно в 2000-й, а я обычно регю через regsvr32
например:
regsvr32 "C:\WINNT\system32\MiracleV8.dll"
407. SvSoft 80 26.01.11 16:06 Сейчас в теме
(406) Да и я ей же регить пробовал.
(Например есть у меня одна ДЛЛ-ка, которая требует обязательной регистрации, так она таким макаром регится без проблем).
Вобщем, в результате некоторых изысканий, пришел к тому, что перестаёт грузиться уже с версии 1.9.8.1
(других промежуточных версий между 1.9.6.4, которая грузиться нормально у меня нет).
Сравнил используемые модули из PACKAGEINFO обеих библиотек, вот что получилось (см. прикрепленный файл)
Может натолкнёт на мысль
Прикрепленные файлы:
Сравнение.mxl
408. snowapl 27.01.11 14:42 Сейчас в теме
Есть очень неприятная тема при создании окошка:
ass = l.CreateExtWnd(X,Y, 250, 75, 150);
Оно сначала создается видимым, с охрененными размерами.
А потом подгоняется по размерам и координатам. Если я конечно все правильно понимаю.
Соответственно происходит очень неприятное для глаза перемиргивание.
Пытался использовать эту штуку для вывода всплывающих подсказок, и получается очень неприятное зрелище,
поскольку, чтобы сменить координаты или размеры окна приходиться его пересоздавать, это мигание возникает часто.
Зрелище ужасное.
Предложение:
Добавить метод менять размеры и координаты динамически, без пересоздавания.
Либо чтобы оно создавалось невидимым, подплывало к координатам, задавалось размером, а потом показывалось.
Спасибо)
А как кстате насчет платной версии с документацией? Дело движется?
409. Abadonna 3979 27.01.11 16:20 Сейчас в теме
(408)
А как кстате насчет платной версии с документацией? Дело движется?

Платной версии не будет. Все дальнейшие версии и планируемая полная документация
будут располагаться вот здесь:
Сервис-М. 1С: пользователям и программистам
410. snowapl 27.01.11 16:46 Сейчас в теме
А способов передвигать и менять размер этого окна без пересоздания нету да?
411. Abadonna 3979 27.01.11 19:48 Сейчас в теме
(410) Просто не озадачивался, никак не предполагал использовать его как всплывающую подсказку.
Приделать - как два байта отослать
412. Abadonna 3979 27.01.11 21:55 Сейчас в теме
версия 2.1.1.7
Подавлено "мигание" окна метода CreateExtWnd.
Добавлен метод интерфейса окна для изменения резмеров/позиции без пересоздания
Ссылка на скачивание
413. snowapl 28.01.11 09:26 Сейчас в теме
Огромное спасибо)
И отдельное спасибо за оперативность)))
414. snowapl 28.01.11 09:48 Сейчас в теме
А еще очень хотелось бы встраивать в это окошко объекты, генерирующие событие, например гиперссылки, и обрабатывать нажатие на них предопределенной процедурой, или кнопочки вызывающие процедуру. Или что нибудь вроде этого.
Еще окошко появляется на панели задач. Соответственно, если его периодически появлять исчезать, то оно достаточно противно мигает внизу, то появляясь то исчезая.
415. dj_serega 396 14.04.14 11:45 Сейчас в теме
Иногда выручает. Хотя в последнее время редко :)
416. Abadonna 3979 15.04.14 01:03 Сейчас в теме
(415) dj_serega, это даже радует. Движок наконец-то стал интенсивно развиваться, все ж ВК - это от нехватки стандартных средств, а сейчас их всё больше и больше уже хватает, в основном.
Alex_Legacy; +1 – Ответить
Для отправки сообщения требуется регистрация/авторизация