Создаем ВК "без программирования",получаем задержку в N-сек без 100% загр. #129840


#0 by Ковычки
Создаем файл ComSleep.wsc со следующим содержимым ... <?xml version="1.0" encoding="windows-1251"?> <component> <registration sec2=int(T) Do While sec2>sec    Set objLatestEvent = UTCTime.NextEvent    if secold<>objLatestEvent.TargetInstance.Second Then        secold=objLatestEvent.TargetInstance.Second </component> ... регестрируем regsvr32 /s /i:ComSleep.wsc scrobj.dll, это можно делать и из 1С, удалить сом из системы regsvr32 /s /u /i:ComSleep.wsc scrobj.dll ... После регистрации в 1С пишем следующий код... TimerCom=СоздатьОбъект("ComSleep.wsc");
#1 by Скобки
Зачем такие сложности?
#2 by Ковычки
+ Конечно точьность невелика, но например для задержки при проведении подойдет Да кстати, вот код без сом объекта, прямо в 1С (но приведен как можно создать ВК "без программирования")... ... ЗадержкаСек=10;
#3 by Ковычки
Это можешь и не приводить...(давно пора отойти от "внешних" скриптов) в как уже сказал, можно делать и не только задержку, много чего можно еще...
#4 by Скобки
А зачем они, такие "ВК без программирования"? Всё, что можно в них сделать, легко делается и без регистрации COM-серверов - просто текстовый файл vbs и вперёд.
#5 by Ковычки
Извини, но видимо ты плохо представляешь что можно сделать скриптами... Насчет без регистрации см
#6 by Скобки
Да ну? А ты хорошо представляешь? :) А что значит "давно пора отойти от "внешних" скриптов"? Что ты называешь "внешними скриптами" и чем они плохи?
#7 by Ковычки
Поищи по форуму по автору темы Ковычки, это маленькая толика...
#8 by Скобки
Что поискать-то? А здесь поговорить почему не хочешь?
#9 by Ковычки
О чем говорить. Что есть скрипты. Ну вот небольшой пример
#10 by Скобки
Да ладно, кончай пеариться :) Давай философское обоснование, почему "давно пора отойти от "внешних" скриптов"? :)
#11 by Скобки
Кстати, о птичках: имхо, wsc-компоненты нужны только для удобства повторного использования кода в тех же административных скриптах, не более. В 1С их применять неудобно, ибо замумукаешся регистрировать эти COM-сервера (прав у рядового пользователя может оказаться мало). А никаких принципиальных возможностей wsc-сервера не дадут...
#12 by Ковычки
Нету правда счас настроения, курить охота, сигареты скончались. Во "внешние" скрипты надо передать параметры (это просто конечно) потом эти параметры переделать в какие надо типы и прочее, да и обратно получить результат проблематично (наверно это основное), опять же только через файл. А как в можно файл и в тексте держать, "вывалив" его конечно получаем тоже ""внешний скрипт"", но несовсем результат в 1С возвращается легко...
#13 by Ковычки
Прав может неоказаться и на выполнение "внешних" скриптов и скриптинга вцелом
#14 by Ковычки
+ и неиспользуй эту дрянь "имхо", так говорят пацанята (в основном)
#15 by Скобки
Сигареты надо заранее покупать, ёлы-палы :) Такие вещи видел? ScrCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); ScrCtrl.Language="VBScript"; КонецЦикла; Так что передача параметров и работа с заковыристыми типами данных - не проблема.
#16 by Скобки
Что у тебя за комплекс на это "имхо"? Так весь рунет говорит, с чего ты взял, что пацанята?
#17 by Скобки
А вот и с параметрами и с возвратом:
#18 by smaharbA
Кстати на счет регистрации, достаточно один wsc зарегить, а при необходимости туда можно "находу" добавить/исправить метод/параметр А теперь попробуй с Item поработать не в словаре ;) , да кстати, ненадо мне приводить чужой код, это балавство...
#19 by Ковычки
и еще, у MSScripting медленное выполнение и ограничение на время выполнения, дальше он выдаст Превышено время... "Переключиться""Продолжить"
#20 by Скобки
- это не "балавство", а пример подключения объекта к MSScriptControl. Ёксель, к примеру, при работе из 1цэ не всегда булев тип данных кушает (-1 за true не признаёт, вываливается на исключение). И с Ёкселем можно работать в этих случаях именно так... Про Item: и с коллекциями разных объектов, которые не перевариваются 1С (если ты об этом), можно работать тоже через MSScriptControl...
#21 by Скобки
Насчёт "ограничения на время выполнения" у MSScriptControl, если ты не знал: КонецПопытки; Если поставишь Timeout=-1, эта музыка будет вечной :)
#22 by Ковычки
Эти примеры из убогой алс выкинь, а ехель кушает всегда, несчитая некоторых моментов (PageSetup к примеру), но и это обходится без MSScripting, попробуй кстати через msscripting подключиться к весомому доку ехель...
#23 by Ковычки
Небудет вечной, поверь...
#24 by Ковычки
+ Причина не во времени выполнения скрипта TimeOut дает только ограничение на выполнение, чтоб небыло бесконечно...
#25 by Ковычки
И еще, мсдн прочитан уже лет сколькото назад... Неприводи тут прописные истины... Лучче привиди код нахождения ProcessID 1С (опять пиарю ;)), это так - тест... ;)
#26 by Скобки
"Эти примеры из убогой алс выкинь" - это конечно веский аргумент :) Про PageSetup именно и речь, кстати... А причём здесь "весомый док"? MSScriptControl удобен для работы с типами данных, которые в 1С глючат + для работы с WMI, вот и всё... И никакие WSC не нужны... Колись насчёт .
#27 by smaharbA
Насчет просто по прошествии нескольких лет (правда вот уже месяцев 10 я в интернете) увидев интернет ужаснулся, слова какието непонятные (сейчас конечно уже знаю что к чему), непонравились они мне почемуто...
#28 by Скобки
Темнишь :) Кто-то задел тебя с этим "имхо", вот теперь и комплексуешь... Твой "ехель" думаешь, намного лучше? Кстати, насчёт "мсдн прочитан уже лет сколькото назад": думаешь, wsc - это не баян? :) Ещё какой :)
#29 by smaharbA
Да, для работы с вми совем необязателен MSScripting и/или "внешние" скрипты (хотя конечно невсегда так, к примеру "полностью" ассинхронный доступ, вот тут то без "внешних" скриптов необойтись, тут и msscripting и com непомощники :
#30 by smaharbA
Нетемню, в инете я был еще с ремартов, тогда было немного подругому, а обидки - "на обиженных воду возят" (такая есть приговорка в определенных местах)
#31 by smaharbA
Давай уж открывай "личину"...
#32 by Скобки
"для работы с вми совем необязателен MSScripting" - думаю, это ты про VBA :) Там свои геморрои... Например, CreateObject("Excel.Application") слишком умный, падло, подключается к существующему процессу, если таковой есть, а это не всегда хорошо. И вообще, Office может не стоять на машине... Так что MSScriptControl - пользительная весчь.
#33 by smaharbA
Нет не о VBA, ты то глядел? А что насчет ProcessID Всеже?
#34 by Скобки
А смысл личину открывать? Думаешь, твоя личина зарегистрированная о чём-то говорит? Один чёрт, в инете все анонисты по определению :)
#35 by smaharbA
Нет почемуж, майл у меня верный, да вообщето оказывается кроме почты я ничего неуказал ;)
#36 by Скобки
Насчет ProcessID не знаю, не озадачивался никогда. Считай тест я не прошёл :) Тока меня это почему-то не расстраивает :) Про понял - с помощью CreateObject("WbemScripting.SWbemLocator") можно обойтись во многих случаях без GetObject, которой в семёрке нет. Плавали, знаем :) Хороший ты собеседник, smaharbA, но спать пора...
#37 by Скобки
Ладно, бывай... Ещё поговорим как-нибудь...
#38 by Ковычки
Ладно, пока... спокойного сна Скобки...
#39 by Ковычки
Ну что, хоть покритикуйте еще кто, а... (ненавижу критику, хоть неконструктивную, хоть конструктивную)
#40 by Волшебник
Я не понял, зачем нужна "задержка при проведении" (2-й пост).
#41 by КонецЦикла
Ковычки, Скобки - жжоте, молодцы... респект!
#43 by Ковычки
При групповом, чтоб народу дать поработать
#44 by Ковычки
чтоб транзакция дольше висела: 10, 20, 30 сек
#45 by Волшебник
Тогда нужно называть не "задержки при проведении", а "задержки между проведениями документов". А то я подумал, что специально замедляется проведение документа для каких-то целей...
#46 by smaharbA
Все небудет больше Ковычек (похоронил) 4
#47 by Simod
По поводу задержек. И никакой нагрузки на процессор.
#48 by smaharbA
Вы это попробуйте сначало, тыкали уже таким в нос, а я привел как пример создания, кстати очень замечательно, можно находу дописывать переписывать если конечно СоздатьОбъект не ПриНачалеработы, а создается там где нужен... посмотри на простоту использования/написания методов.
#49 by smaharbA
а насчет загрузки, позырь, а потом говори
#50 by Simod
" Вы это попробуйте сначало, тыкали уже таким в нос, а я привел как пример создания, ..."  Дак ты или Ковычки ?   :-)) Я это не только пробовал, у меня это работает...
#51 by smaharbA
Привел то Ковычки, но теперь я его(Ковычки) похоронил... А насчет пробовать, всеж сделай вновь и позырь на загрузку процесса 1С... и сделай как хотя можно и просче и тож взгляни
#52 by romix
Посмотрел. Ничего не понял. Имитация закрытия со статусом возврата 0 в цикле без пауз. Задержка обновления реализована через _getPerformanceCounter.
#53 by romix
(+52) Имхо тут нет никаких пауз в принципе - система дрючится со 100% загрузкой.
#54 by Simod
Загрузка процесса 1С нулевая. Вообще-то я ничего против не имею, просто считаю, что "Чем проще, тем лучше".
#55 by smaharbA
Дак это и есть просче весь код в 1С прведенные в окончании 3 строчки
#56 by Simod
Да, но перед этим нужно сделать все действия до этих трех строк. Лично я все это на память не запомню, а принцип заложенный в очень прост и легко воспроизводим.
#57 by smaharbA
Нет там в небудет 100% загрузки, но всеже загрузит сколькото ну процентов на 10-20
#58 by Simod
В загрузка появляется из-за вывода времени и изменения цвета.
#59 by smaharbA
Думаю что нет дейтвия вроде состояние и подобные могут даже снизить загрузку, вернее приостановить цикл
#60 by Simod
Возможно, это не проверял. У меня эта идея реализована в совершенно простом виде. При выполнении загрузка ЦП 0-2%, да и то вероятно из-за отображения некоторой информации на диалоговой форме.
#61 by raykom
Харе блатовать. Объясните мне, непонятливому, зачем в мирской жизни этот тюнинг на 1С ?? Я пока кроме понтов тута никакой практической пользы не вижу... . Поправьте, если что ... . Абрахамсу привет.
#62 by smaharbA
Привет. А так, чтобы было. Просто частенько пишут ВК на всяческих дельфи/васике/си и прочем, а теже методы можно создать тем что есть в системе. На очереди (открою тайну покрытую мраком), нахождение Hwnd окна без ВК и прочего, ну и одна из больных проблем архивация/выгрузка конфы(базы) с выгоном усеров, мягким, а затем жестким без участия 1С-админа... А всеже жалко мне Ковычки, какой был парень...
#63 by goodfella
Для удобства пользователей.
#64 by raykom
Проспал все. Да Ковычки он не дурак вовсе, а что с ним ??? Спасибо за ликбез, понял, что нада, а зачем такинепонял. Ну да лана, глана, чоб людям нравилося :)).
#65 by raykom
Как на счет времени ?? В смысле пивасика ?
#66 by smaharbA
Давай, хоть счас
#67 by raykom
Счас, определюся в течении 20 мин. Вероятность 90% :) А чо с Ковычками то ??
#68 by raykom
Счас, определюся в течении 20 мин. Вероятность 90% :) А чо с Ковычками то ??
#69 by smaharbA
Да я убил его, логи нзарегистрировал и все... Хотя мне он нравился ;)
#70 by smaharbA
Ну что, пиво то пьем? Тока лучче на нейтральной территории, гденибудь в районе УПИ
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С