ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Работа с 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С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.
Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие.
Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:КА 2, 1С:ERP Управление предприятием.
Возможность подключить любые маркетплейсы. Анализ продаж ОZON.
30 дней БЕСПЛАТНОГО пользования!
Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 26.03.2025, версия 9.10 - 9.16)
Обработки загрузки данных о продажах WildBerries предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3
Обработки загрузки данных о продажах Ozon предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3
Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".
Кто получает документы в формате XML из различных сервисов ЭДО (формат 820 приказ ФНС 31 мая 2019) и набивает их вручную в 1С, тот наверняка хотел бы автоматизировать этот процесс.
Поддержка конфигураций: Бухгалтерии 3, УПП 1.3, 1С:КА 2.4 и 1С:КА 2.5, УТ10, УТ11.4 и УТ11.5.
Для бухгалтерии 3 добавлена поддержка формат 5.03 от 23/01/2025
Загрузка данных отчета о реализации и продаже товаров из сервиса Яндекс.Маркета «Беру» из отчетов Excel для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ «Отчет комиссионера о продажах».
Внимание, кто залил версию 1.9.9.11 до утра 10 августа. Случайно оставил в ней пару отладочных операторов на методе SetJpgPicture, перезалил. Скачайте по новой
Версия 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);
КонецПроцедуры
Показать
Примечание: что-то я на глаз особо не заметил ухудшения качества ;) А вот размер прилично меняется (см. рис.)
MiracleV8: Расширенная версия
Да когда-же описание нормальное (полное) или примеры будут?!! :cry:
Откуда-то по крупицам приходится дергать инфу...
А как кнопки на форме сделать - так и не нашел!
А. Кучер - молодец, конечно; вешь уникальная, но как ОБЫЧНЫМ людям пользоваться-то?
(199) Всё было на форуме разработки, но после некоторых реконструкций сайта на форуме из 6-ти осталась только одна страница. support обещал поправить, но уж месяца три воз и ныне там :(
(201) К сожалению компонента Дельфи для xls не определяет автоматом тип ячейки "дата"
Поэтому добавил метод IntToDateStr(ДатаЧислом: целое), но когда его надо применять придется определять самому.
Возвращаемое значение: дата строкой.
Версия 1.9.9.13
По IntToDateStr(0) вываливает дату "начала мира" 30.12.1899
По твоему примеру IntToDateStr(40415) как раз 25.08.2010
Версия 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
В. Кушнир у нас большой любитель пестрых кнопок на форме 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(). Возвращает число, соответствующее выбранному цвету
Жаль, что нельзя повторно за библиотеку голосовать... - просто чумовую вещь замутил. СПАСИБО!!!
Теперь формы разрисую а-ля попугай. Это не моя прихоть - есть у меня юзеры, которые просят, чтобы формы были гламурненькие. Нате вам гламура!
(218) Гламур - не гламур, А по-любому, кнопки без цветовой дифференциации нежизнеспособны :D
А реально, бухи еще не жалуются на стандартную палитру форм, а операторы, когда в прошлом году их перевели с моего дизайна на стандартный восьмерочный (темно-серое на светло-сером) аж взвыли.
Версия 1.9.9.17
Изменен метод SetButtonCaptionEx:
SetButtonCaptionEx(ЗаголовокКнопки1С,ЦветФонОт,ЦветФонДо,ЦветРамки,ЦветШрифта,Центровать)
Новый параметр Центровать: число, необязательный, по умолчанию 1.
Если Центровать=0 - фонт жирный без центровки
Если Центровать=1 - фонт обычный, почти автоцентровка
"Почти" - потому что центровка пробелами слева, а не пикселями.
P.S. Добавлена проверка на существование кнопки с заданным заголовком.
Если при вызове методов SetButtonCaption иSetButtonCaptionEx была ошибка
в параметре 1 (нет кнопки на форме с таким заголовком), то происходит просто выход из процедуры без выведения ошибки
______________________________________________________________
После 13:45 Москвы
Извращения для развлечения ;)
Форма 77 прикидывается восьмерочной
Метод As81Form(ЛинияПодПанельюИструментов)
ЛинияПодПанельюИструментов - 0 или 1 - рисовать линию под ПИ
Необязательный, по умолчанию 0.
1. Метод блокирует кнопку максимизации формы.
2. Родные края формы обрезаны (гусары, молчать! ;)), поэтому форма размеры не изменяет
3. Если на форме несколько кнопок с одинаковым заголовком, отловит только первую Подправлено в версии 17 - все отловит теперь
Не применять метод на формах с рамками групп!!!
С кнопками чего-то не выходит никак .... пишет "AddIn.MiracleClass: Control '' has no parent window", непонятно про какое родительское окно ругается :)
(223) Проверь точность заголовков кнопок при вызове метода.
Например вызывал с заголовком "Сформировать", а не с "С&формировать"
В последней закачке поставил проверку на существование кнопки с заданным заголовком, если нет такой - просто выходит из процедуры
Еще метод проверки
Вызови метод hButton(ТвойЗаголовок)
Если вернет 0 - значит не так заголовок задан
И еще: ты, случаем, не в процедуре ПриОткрытии() сразу вызываешь?
Так нельзя - у формы еще хэндла нет. Пример кода, чтобы сразу кнопки ставила
был выше приведен
Спасибо, разабрался ... я по привычке обращения к объектам, обращался не по тексту в Загаловке, а по идентификатору :) Кстати, метод hButton возвращает 0, но при этом все отлично работает теперь :)
Глюк с As81Form.
"Рамка группы" почему то становиться "активным" элементом.
И при клике на любом элементе внутри группы, перекрывает все элементы находящиеся внутри группы.
(231) Ха, блин. Про рамку-то я и забыл. Она тоже класса "Button", поэтому наравне с кнопками видоизменяется. Вывод: не применять метод на формах, где есть рамки.
Тут уж я никак их не отфильтрую, зацепиться не за что...
Заметил интересную вещь, в 1С 7.7, если форма открыта модально, при нажатии"Alt" исчезают фиктивные кнопки и после этого даже повторный вызов метода "SetButtonCaptionEx" не рисует новые, помогает только закрытие-открытие формы.
(235) Все отлично в модальных окнах прорисовывает, а тот глюк который я описал - это только при использовании формекса возникает, при использовании метода для формы(окна) : "СтильОкна(Форма, 2)" ... в обычном модальном режиме все отлично :)
2Борода. Будет время посмотрю, но вот по статус строке, помню, никак не получалось, даже SetStatusLine не помогало...
Решу точно, но вот когда пока не знаю
Версия 1.9.9.18
Новый метод (для 7.7)
As81FormEx() - без параметров
Более-менее похоже на форму 8.1
Нюансы:
1. Форма уменьшается на 3-4 пикселя с каждой стороны + 3 пикселя на синюю рамку.
Предусмотрите соотв. свободное место
2. Заголовочная часть окна замещает 1С-панель инструментов, поэтому:
а) панель должна быть на форме
б) панель будет перекрыта после применения метода
3. Заменяются только кнопки и надписи на форме, другие контролы - "родные"
4. Не применять для максимированной формы, кнопка максимизации методом блокируется
5. Рамки групп на форме тоже имеют класс "button", метод заменит их на кнопки (не за что зацепиться, чтобы отличить), поэтому не применять для форм с рамками Новый метод
ShowWind(ХэндлОкна,РежимПоказа: целые)
РежимПоказа: от 0 до 10, стандартные константы ShowWindow
Примечание:
Для определения хэндлов окон 1С библиотека предоставляет методы:
h1C() - хэндл главного окна
hReport() - хэндл активной формы
hButton(ЗаголовокКноки) - хэндл кнопки активной формы по ее заголовку
hPanel() - хэндл панели инструментов активной формы
Подумалось, что статус строку удобнее видеть перед "мордой лица", а не внизу, т.е. на форме. Можно, конечно, через элемент "Текст", но тогда придется тратить ресурсы
на полную перерисовку формы (Форма.Обновить()).
Новые методы (после 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();
КонецПроцедуры
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
Результат теста - на рисунке
Может и погорячился с терминалом :(
artbear озадачил: вполне возможно, что и не найдет окошко в другой сессии...
блинннннннн.
ежели только как сервис попробовать
Не читает xls-файл если включена защита структуры книги. Можно научить компоненту работать и в этом случае?
Т.е. когда защищены только листы - работает. Как только включаешь защиту книги - вываливается сообщение "Нет считанного XLS-файла".
(248) Мдя.
Остается только уточнить: это не про пароли на открытие/редактирование файла, а про защиту которая в меню живет в "Сервис/Защита"...
Если это именно с ней так пишет... тады жаль... придется читать ч/з OLE. А так не хочется...
А можно как-то задать цвет создаваемой дополнительной панели?
а то почему-то у меня цвет отличается.
И есть ли у этой панели событие onClick ? осенама хоцца ;)
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","Показать форму");
КонецПроцедуры
По хотелке maxpiter (после 19.15 Москвы)
Новый метод
SetStatusBarPanelEx(Лево,Ширина, Цвет,Бордюр)
Цвет: целочисленное значение цвета панели, если=0, то системный цвет кнопок (clBtnFace)
Бордюр: число, если 0 - плоская, другое - объемная
StatusBarPanelExText(Текст) - установить текст в панели
При клике на панели генерируется внешнее событие:
Источник="MiracleV8"; Событие="StPanelClick"; Данные=ТекстВПанели
(256) а зачем Ex ? теперь еще и мигалку придется переделывать.
Может надо было сделать SetStatusBarPanel и 2 новых параметра необязательными?
Также, может быть, надо еще добавить Show/Hide для панели?
MiracleV8: Расширенная версия
Собираюсь поюзать Ваше обновлённое творение (когда-то, ради прогресс-бара, юзал v.1.2.2.1 - не впечатлило).
Вижу, что работа проделана немалая и с "огоньком".
Очень хотельсь бы увидить полный хелп с примерами (и ALS не помешал бы) или полную тестовую конфу !!! На это стоит потратить время (а то, дествительно, приходится собирать информацию по крупицам).
Рекомендую продолжать всё "валить" в одну DLL-ку, а не разбивать на отдельные (как предлагал Душелов),- очень хочется иметь "всё в одном". Туда бы запихнуть функционал ещё нескольких компонет... :cry:
Сразу вопрос (здесь его уже задавали, но ответа я не нашёл):
Что с регистрацией? Не хочется регится под локальным админом. Даже единожды. Через vk_loader, как я понял, не прокатит... Этот вопрос вообще будет решаться или оставишь как есть? :(
P.S. ОГРОМНАЯ БЛАГОДАРНОСТЬ за поддержку 1Cv77 !!!
Ничего ответить не могу, потому что плохо представляю себе ситуацию. Столько народа скачало и не было таких жалоб. Попробуй через Regsvr32, что скажет?
(258)
Через Regsvr32 регить - нет проблем. Но не в этом суть.
У нкоторых потенциальных клиентов нет доступа к уч.записи лок. админа. И админа рядом тоже нет. А если есть, - с ним бывает трудно найти общий язык...
Так что лучше, чтоб ВК в этом плане вела себя тихо и незаметно...
(272) Сейчас специально реестр очистил, все ссылки на нее убил, запустил базу - все прекрасно зарегилось по ЗагрузитьВнешнююКомпоненту. Так что не знаю, что у тебя там за проблемы. Другой вопрос, что она не зарегится в терминале, если там хоть кто-нибудь еще в базе в этот момент, но это стандартное поведение.
P.S. И она НИКОГДА не зарегится на терминале, если первый запуск не с правами админа на терминале. V7Plus даже не зарегится.
Версия 2.0.0.1
По хотелкам maxpiter
Изменен метод
StatusBarPanelExText(Текст,ЦветШрифта,Жирный)
ЦветШрифта,Жирный: целые,необязательные, по умолчанию=0 (черный, нежирный)
Добавлен
StatusBarPanelExShow(Режим)
Режим=0 - спрятать, любое другое - показать
Новый метод (для 7.7)
StatusLineLogOn(ПолноеИмяФайлаЛога: строка) - включить запись в лог файл всего, что отображается в статус строке 1С
Пример сформированного лог-файла (мышкой водил по меню)
Для получения подсказки нажмите F1
Открытие журнала документов
Открыть список Журналов расчетов
Список операций
Открыть журнал проводок
Справочник
Список констант
Открыть список Календарей
Список праздников
Список счетов
Список Корректных проводок
Открыть список типовых операций
Открыть список Отчетов
Открыть список Обработок
Удаление помеченных на удаление объектов
Показать
StatusLineLogOff() - прекратить логгирование статус-строки
Примечание: удобно в "длинном" отчете сделать вывод через Состояние(Комментарий), а потом просмотреть лог
По хотелке maxpiter насчет мигалки в статус-баре.
Реализуется уже тем что, есть:
Перем КолМиг;
Перем Таймер;
Процедура Мигнуть()
КолМиг=КолМиг+1;
Если КолМиг/2=Цел(КолМиг/2) Тогда
L.StatusBarPanelExText(" Мигающий текст",0,1);
Иначе
L.StatusBarPanelExText(" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",255,1);
КонецЕсли;
Если КолМиг=100 Тогда
КолМиг=0;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Если Событие="StPanelClick" Тогда
// по клику мигать перестаем
L.KillMainTimer(Таймер);
L.StatusBarPanelExText(" А, гад, заметил! ;)",0,1);
КонецЕсли;
Если Событие="MAINTIMER" Тогда
Мигнуть();
КонецЕсли;
КонецПроцедуры
После предварительного тестирования в сети В. Кушниром, выкладываю версию 2.0.0.2 для более полного тестирования.
Новый метод:
UDPChatCreate(ИмяПользователяЧата)
1. Чат по принципу ВСЕ-ВИДЯТ-ВСЁ с момента входа
2. Для работы метода должна быть запущена программа UDPServer.exe, которая "разруливает" сообщения (прикрепляется к комментарию) 3. Программа может быть запущена на любом доступном сетевом компьютере, лучше, конечно, на сервере
4. Чат работает между любыми базами 1С: от 7.7 до 8.2
5. Обнаружился странный глюк у Кушнира на XP SP3 - не видны кнопки на верхней панели (у него же на Server2003 видны). Прошу сообщить, если такое будет еще у кого-нибудь
6. На случай невидимости по п.5 работает контекстное меню по правой кнопке
(274) Да ерунда этот глюк (п.5) - главное все работает и вещь просто чумовая. На сервере (2003) под терминалами у любого юзера все ОК. Испытаю на нескольких рабочих местах, где юзеры, как и я по сети в 1С входят. Для полноты статистики. ;)
А в общем спасибо за отличную библиотеку.
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() - разрушить ранее созданную панель
(292) Очень странно... :o Сейчас у себя проверил раз 20 - все ОК
Кое-где продублировал, добавил принудительную перерисовку панели. Скачай заново, как оно будет?
Да об этой панели мне известно. но её не очень хватает. много текста не отобразишь, да и размер шрифта большой не сделаешь.
Обосную просьбу.
В работе используется 6 валют. Есть обработка, которая отображает и актуальный курс и кросс курсы. Но хотелось бы это отображать в панели под главным меню. Будет очень удобно и наглядно.
Есть еще конечно же просьба об документации к ВК. Не оригинально конечно, но есть предложение. Может 1С-ная братва простимулирует автора dll. Я лично готов вкинуть свои денежки на поддержание отечественных разработчиков.
(286) Поддерживаю. На проверку ВК методом тыка уходит много времени. :cry: А время - деньги... Даже не успеваешь отследить и оценить обновления... В прикреплённом TXT-описании, я так понял, где-то 5-10% от всего многообразия.
Надеюсь, хоть, кто-нибудь, отзовется на моё предложение :)
Сорри, по ошибке прикрепил файл из следующего коммента, поэтому появилось "отредактировано" ;)
Удаляю, ставлю файл к своему
Огромное спасибо, работает!!!
Но есть одна трабла. Есть в конфе пользовательские панели, MDI панель их перекрывает, панели можно конечно передвинуть, т.е. фича не критичная.
Есть еще одна идея. в конфе есть "рабочие столы" (тоже не оригинально :)) у разных групп пользователей, на них дофига ТЗ. конечно же организована фильтрация, и сортировка. Но хотелось бы иметь возможность фильтрации, как в xls т.е. поле со списком и с пометками. Это конечно не совсем в духе miracle но ... Задачу я решил обходными кругами, но это не то пальто. Хочется облегчить жизть пользователей. Основная трабла, в поле со списком, не отображаются галочки (пометки). Много гуглил решения не встречал.
А можно в будущем в одном архиве выкладывать компоненту и файл описания ? :) Было бы удобнее хранить их вместе, а то теряется описание вечно :) да и качать удобнее одним файлом.