Имя: Пароль:
1C
 
Кто нибудь создавал потоки на 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
ещё не сделал неправильно, потому и пишу сюда, что касаетса рамок знаний то они всегда расширяемы, переадресация для не творческих людея любящих выполнять монотонную работу