![]() |
![]() |
![]() |
|
Кто нибудь создавал потоки на 1С 7.7 ? | ☑ | ||
---|---|---|---|---|
0
DmSk
29.08.07
✎
08:06
|
Кто нибудь создавал потоки на 1С 7.7 ?
|
|||
1
Ursus maritimus
29.08.07
✎
08:07
|
Нихто не создавал. Разве что запуском второго сеанса.
|
|||
2
DmSk
29.08.07
✎
08:10
|
Вот кусок работаючего потока, для работы с весами
Поток = СоздатьОбъект("AddIn.Thread"); КонтФормы=глВзятьКонтекст(Контекст); Если ЧтоВзвешиваем = 1 Тогда Модуль = "Поток2 = СоздатьОбъект(""AddIn.Thread""); |Пока 1 = 1 Цикл | СтрВес = Comm.Input; | ПромВес = Число(Сред(СтрВес,10,8)); | Вес = ПромВес; | ВывестиВес(Вес); | Поток2.Уснуть(1000); |КонецЦикла;"; |
|||
3
smaharbA
29.08.07
✎
08:10
|
а че это такое ?
|
|||
4
Морозов Александр
29.08.07
✎
08:13
|
(3) +1
|
|||
5
DmSk
29.08.07
✎
08:14
|
Когда параллено ты можешь что то делать, а в это время ещё что то делается, к примеру ты можешь нажимать кнопки и работать с реквизитами, а в это время же определяется вес или проверяется чтото,
живым примером является Ворд, когда вы набираете тектс, а он в отдельном потоке проверят, то что вы написали |
|||
6
IUnknown
29.08.07
✎
08:18
|
это страшная ВК
|
|||
7
DmSk
29.08.07
✎
08:19
|
Чем страшная то ?
|
|||
8
IUnknown
29.08.07
✎
08:20
|
из 1С++
|
|||
9
Skom
29.08.07
✎
08:22
|
в ней был какой то глюк страшный и она неправильно работала
|
|||
10
IUnknown
29.08.07
✎
08:27
|
(7)тем, что 90% представителей odinesium ruber flavus не догодались бы о чем речь... особенно если убрать из кода первую строку
|
|||
11
Vitello
29.08.07
✎
08:28
|
многопоточность в 1с? гыгыгы
|
|||
12
Sonic
29.08.07
✎
08:30
|
(10) поиск "odinesium ruber flavus"
Результат поиска: страниц — 0 Искомая комбинация слов нигде не встречается. :))) |
|||
13
smaharbA
29.08.07
✎
08:30
|
(11) в чем гы ?
|
|||
14
IUnknown
29.08.07
✎
08:31
|
(12)это латынь Соник... латынь )))
|
|||
15
МихаилМ
29.08.07
✎
08:32
|
то IUnknown
расскажите,пожалуйста в какой компоненте и каком релизе есть данная возможность |
|||
16
IUnknown
29.08.07
✎
08:47
|
(15)я толком ХЗ... так как против ВК из принципа ... вот почитай http://www.1cpp.ru/docum/history.txt
|
|||
17
Sonic
29.08.07
✎
08:48
|
(14) да понял я. прикололся просто :)
|
|||
18
у лю 427
29.08.07
✎
08:48
|
ВК DialMail поддерживает отправку-прием почты в другом потоке...
|
|||
19
АЛьФ
29.08.07
✎
08:48
|
Нормальную многопоточность в 1С не реализовать. Точка.
|
|||
20
Vitello
29.08.07
✎
08:49
|
(13)а предусмотрена нормальная синхронизация потоков, разделение доступа к общим ресурсам для потоков, передача информации между ними?
|
|||
21
DmSk
29.08.07
✎
09:06
|
хочу сказать что поток используется и работает корректно в конкретном примере
|
|||
22
у лю 427
29.08.07
✎
09:13
|
(20) посмотри и попробуй ДиалМайл сам - там вроде все есть из (20)
|
|||
23
IUnknown
29.08.07
✎
09:30
|
(17)а вот некоторые слова в инете искают )))
«odinesium ruber flavus» · Запросов за месяц: odinesium — 0, ruber — 89, flavus — 9 |
|||
24
DmSk
29.08.07
✎
10:25
|
КОМПОНЕНТА VTOOLs
Объект Поток Поддержка многопоточности в 1С Синтаксис: Поток=СоздатьОбъект("AddIn.Thread"); Назначение: Создать объект для работы с потоками Параметры: Имя объекта: "AddIn.Thread" или "Поток" Пример: Перем Поток: Процедура НовыйПоток() Поток=СоздатьОбъект("AddIn.Thread"); МодульПотока= "ТекКол=0; |Для А=1 По 10 Цикл |Спр=СоздатьОбъект(""Справочник.Номенклатура""); |Спр.ВыбратьЭлементы(); |Пока Спр.ПолучитьЭлемент()=1 Цикл | ТекКол=ТекКол+1; |КонецЦикла; |КонецЦикла; |Поток2=СоздатьОбъект(""AddIn.Thread""); |Поток2.Уснуть(1000); |Предупреждение(ТекКол); |"; Поток.СоздатьПоток(МодульПотока); КонецПроцедуры СоздатьПоток CreateThread Синтаксис: СоздатьПоток Назначение: Создать новый поток с заданным текстом модуля 1С Параметры: СтрМодульПотока - программный текст, который будет выполняться параллельно Замечание: Т.к. 1С:Предприятие не оптимизирована для настоящей многопоточной работы, то текст модуля ограничен узким набором допустимых команд и операторов. Так например, недопустимо использовать команду Сообщить(). УдалитьПоток DeleteThread Синтаксис: УдалитьПоток() Назначение: Удалить поток, созданный методом СоздатьПоток Замечание: Также такой поток может быть удален обнулением переменной объекта, например: Поток=СоздатьОбъект"'AddIn.Thread"); Поток.СоздатьПоток (МодульПотока); //вместо Поток.УдалитьПоток(); можно: Поток=0; Спать Sleep Синтаксис: Уснуть(<МиллиСек>) Назначение: Остановить текущий поток на заданный интервал времени Параметры: <МиллиСек> - интервал в миллисекундах Замечание: Внимание: остановка происходит не потока созданного методом СоздатьПоток, а текущего, в котором исполняется данный модуль |
|||
25
IUnknown
29.08.07
✎
10:29
|
http://avb1c.narod.ru/files/time.zip ... тоже... типа потоков
|
|||
26
Vitello
29.08.07
✎
10:36
|
(22)посмотрел, немного не то что я имел ввиду. Она позволяет запускать прием\отправку почты в отдельных потоках, но эти потоки не взаимодействуют между собой.В объекте RasDial есть взаимодействие, но оно по ходу внутри самой компоненты.
Примечание: Для разрешения стабильности дозвона в среде 1С (особенно актуально для Windows 9x) были созданы разные способы реализации 'потоковости' - параметр <ЗапуститьВПотоке> - значения 1,2,3. Параметр подбирается опытным путем. Рекомендуется 1. Реализации потока имеют свои особенности (приведено очень условно). 1 - получаем полные данные от RasDial.dll, и используем таймер для отслеживания обрыва соединения 'извне' (прежняя реализация) 2 - не получаем данные от RasDial.dll, но используем таймер для отслеживания факта дозвона и обрыва соединения 'извне'.(ограниченный набор данных из потока подключения - идет подключение, обрыв связи и подключение установлено) 3 - получаем данные от RasDial.dll, не используем таймер для отслеживания факта обрыва соединения 'извне'. (соответственно, программа может не 'узнать' об обрыве соединения 'извне' - человеком или сторонним процессом) В общем, организовать нормальное взаимодействие потоков это не в тапки ссать... З.Ы. или я че то неправильно понял? |
|||
27
DmSk
29.08.07
✎
11:54
|
(25) я так понял просто в фунцкии вызывается метод Форма.Обновить()
которая в свою очередь вызывает функцию ПолучитьВремя() и все(замкнутый цикл), попробовал у себя получилось. Просто, только если на форму добавить реквизит то уже время останавливается, когда начинаешь работать с реквизитом то всё останавливается ! |
|||
28
Ёпрст2
29.08.07
✎
12:00
|
И все сразу вспомнили про кроссовок Скунки ...:)
|
|||
29
Evg
29.08.07
✎
12:03
|
(24) Интересно кто нибудь, что то полезное делал на потоках в 1С ?
|
|||
30
jbond
29.08.07
✎
12:11
|
Многопоточность из 1С++ убрали как глючную вещь...
Вообще 1С не очень дружит с многопоточностью... |
|||
31
IUnknown
29.08.07
✎
12:19
|
(27)ни фиха не понял
(28)тут жарко... в кроссовках неудобестно, хожу в сандалях... так что не взлетит... (29)хз за потоки... делал формирование отчетов фоном... |
|||
32
DmSk
29.08.07
✎
12:25
|
(31) я про ссылку по http://avb1c.narod.ru/files/time.zip .. - не поток 100%
потоки полезны при подключении какого то оборудования к примеру весов, когда показания весов отображаются на форме документа - это удобно, затем по кнопке зафиксировать просто вес записывается в реквизит документа и всё !! |
|||
33
IUnknown
29.08.07
✎
12:28
|
(32)я разве утверждал что поток... я так и сказал... "тоже... типа поток"
|
|||
34
АЛьФ
29.08.07
✎
12:38
|
2(32) Для этого не нужны потоки в самой 1С. Совсем недавно именно такую задачу с весами решал. В 1С данные отправляются с помощью внешнего события. И все.
|
|||
35
IUnknown
29.08.07
✎
12:41
|
(34)ну просто у русских такая традиция... гланды через анус автогеном удалять
|
|||
36
DnBn
29.08.07
✎
13:23
|
2(32) +1
|
|||
37
DnBn
29.08.07
✎
13:24
|
:( Хотел написать 2(34) +1
|
|||
38
DmSk
29.08.07
✎
13:32
|
(34) Это внешнюю компоненту писать нало, сего ещё не умею, потому и поднял тему
потока на 1с с помощью компоненты, может и неправильно но полезно, может пригодиться |
|||
39
АЛьФ
29.08.07
✎
13:40
|
2(38) Когда у тебя возникает задача, которую ты не умеешь решить правильно ты всегда делаешь ее неправильно (в рамках своих знаний)? Может лучше переадресовать эту задачу тому, кто имеет соответствующие знания и сможет ее решить правильно?
|
|||
40
DmSk
30.08.07
✎
05:54
|
ещё не сделал неправильно, потому и пишу сюда, что касаетса рамок знаний то они всегда расширяемы, переадресация для не творческих людея любящих выполнять монотонную работу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |