Имя: Пароль:
1C
1С v8
1с и многопоточность
,
0 ДенисЧ
 
21.01.16
16:11
Добрый.
Знаю, тут уже многие делали, а у меня сейчас мало времени на изобретение велосипеда...
Есть тз: (номерпакета, список данных)
есть функция ОбработатьДанные(номерПакета, спискоданных)
есть число Количествопотоков.

Надо всю тз обработать многопоточно...

Дайте кусок псевдокода для запуска всего этого с ожиданием завершения потоков...

Будьте так любезны...
1 xxTANATORxx
 
21.01.16
16:18
асинхронно, подойдет?
2 ДенисЧ
 
21.01.16
16:19
(1) Давай что есть...
3 xxTANATORxx
 
21.01.16
16:23
ТЗ пишешь в регистр сведений
стартуешь рег задания, по числу потоков, которое берёт данные из регистра и обрабатывает
всё
4 Кирпич
 
21.01.16
16:23
а в каком релизе появились потоки?
5 xxTANATORxx
 
21.01.16
16:24
(4)ты меня убил
6 Pro-tone
 
21.01.16
16:25
(4) во сне
7 ObjectRelation Model
 
21.01.16
16:25
(4) в каком появились фоновые задания?
8 Кирпич
 
21.01.16
16:28
(7) да те давно появились. я про потоки не слышал ещё
9 Aleksey
 
21.01.16
16:28
10 H A D G E H O G s
 
21.01.16
16:28
WaitForMultipleObjects в исполнении 1С в свое время заставило меня приуныть и отказаться от многопоточности.
11 Aleksey
 
21.01.16
16:28
собственно на 8-ке http://catalog.mista.ru/public/182139/
12 ДенисЧ
 
21.01.16
16:29
(3) к сожалению, мне нужно обязательно дождаться завершения всех потоков, поскольку на этом история не заканчивается...
13 Попытка1С
 
21.01.16
16:29
У Фарита есть видео на эту тему.
14 Aleksey
 
21.01.16
16:29
15 ДенисЧ
 
21.01.16
16:29
(9) Избавь меня, пожалуйста, от этих поделок...
16 Pro-tone
 
21.01.16
16:29
(7) >Надо всю тз обработать многопоточно...

как это ты в разных заданиях (=процессах) обратишься к одному объекту в памяти уникального процесса?
17 Aleksey
 
21.01.16
16:30
(15) Ты же хотел пример кода
18 Карупян
 
21.01.16
16:30
(12) есть такое в 1с
19 Serginio1
 
21.01.16
16:30
Я бы сказал, но ты ведь не будешь использовать.
20 Кирпич
 
21.01.16
16:30
(9) там чота про новые горизонты, а про многопоточность нету.
21 Попытка1С
 
21.01.16
16:31
22 Карупян
 
21.01.16
16:31
(19) давай пример на net. как обработать тз в несколько потоков
23 ДенисЧ
 
21.01.16
16:32
(17) Пример кода на 1с. А за ссылку на старт - спасибо, можно сней уже играться...
Но хотелось бы, чтобы если одно закончилось - немедленно начиналось следующее
24 Serginio1
 
21.01.16
16:32
19 + Можно перегнать ТЗ в дататабле обсчитать и конвернуть обратно
25 ДенисЧ
 
21.01.16
16:32
(22) Кто сказал, что результат будет помещаться в ту же тз?
26 Карупян
 
21.01.16
16:33
(25) ну вот и я не говорил )))
27 Serginio1
 
21.01.16
16:35
28 Дык ё
 
21.01.16
16:38
29 Garykom
 
гуру
21.01.16
17:00
(0) Функция "ОбработатьДанные(номерПакета, спискоданных)" сильно сложная?
К 1С и базе как привязана?

Возможно что угодно внешнее будет лучше?
30 ДенисЧ
 
21.01.16
17:01
(29) Она и так с внешними данными работает.
Мягко говоря - она пишет данные во внешнюю БД.
31 Serginio1
 
21.01.16
17:05
(30) Тогда уж проще свой аналог http://catalog.mista.ru/public/402038/

сварганить.
32 Garykom
 
гуру
21.01.16
17:05
(30) данные в какую внешнюю БД и каким способом можно?
33 Garykom
 
гуру
21.01.16
17:06
(32)+ суть из 1С выкинуть в файлы и запустить нужное число процессов/прог которые каждый свой файл во внешнюю затолкает
34 ДенисЧ
 
21.01.16
17:09
(32) в mysql. Прямым запросом через адо.
Можно ещё штатным битриксовским, но это будет... <censored>
35 ДенисЧ
 
21.01.16
17:09
(33) А зачем так извращаться? Ещё какую-то внешнюю прогу писать?
36 ДенисЧ
 
21.01.16
17:09
(31) Свой аналог 1с?
37 Serginio1
 
21.01.16
17:18
(36) Зачем аналог 1С? Ты же прямые запросы пишешь.
Просто если хочешь нормальную многопоточность, то лучше код выносить туда, где эта многопоточность поддерживается.
При этом еще и скорость увеличится за счет компиляции.
Раз ты хочешь распараллелить, значит достаточно длительный процесс.
38 ДенисЧ
 
21.01.16
17:19
(37) Я тебя сотый раз прошу - избавь меня от своих поделок. Я не буду их использовать.
Кроме того, производительность оператора update от скомпилированности кода никак не зависит.
39 Serginio1
 
21.01.16
17:23
(38) А это будет зависеть как ты данные будешь загонять.
Проще это делать через CSV файлы и булки
http://stackoverflow.com/questions/10253605/import-csv-to-update-only-one-column-in-table
40 Еврейчик
 
21.01.16
17:31
(0)дауншифтинг он такой... даже крутые специалисты деградируют и начинают попрошайничать на форуме...
41 Garykom
 
гуру
21.01.16
17:32
42 Garykom
 
гуру
21.01.16
17:33
(41)+ в 1С готовишь файл(ы) и просто подсовываешь mysql
http://sqlinfo.ru/forum/viewtopic.php?id=4087
43 ДенисЧ
 
21.01.16
17:34
(41) А где условие where? )))
44 Garykom
 
гуру
21.01.16
17:35
(43) зачем? выгружаешь целиком из мускула, обновляешь в 1С. загружаешь в мускул ))
45 Garykom
 
гуру
21.01.16
17:36
(44)+ "Ключевые слова REPLACE и IGNORE управляют обработкой входных записей, которые дублируют существующие записи с теми же величинами уникальных ключей."
46 ДенисЧ
 
21.01.16
17:39
(45) "с теми же величинами уникальных ключей."

Поэтому сразу же отметается
47 Serginio1
 
21.01.16
17:39
48 Serginio1
 
21.01.16
17:41
(46) Ты можешь создать темповую таблицу с теми же ключами.
Либо отдельно делай Update, Insert из темповой таблицы
49 ДенисЧ
 
21.01.16
17:42
(48) Разницы в таком разе не будет никакой.
50 Garykom
 
гуру
21.01.16
17:44
(46) ну тогда только готовить sql файлы (текстовые по сути) и их скармливать в несколько потоков
51 ДенисЧ
 
21.01.16
17:48
(50) Я же не спрашивал, как мне грузить данные.
Я спросил, как организовать многопоточность.
52 Fragster
 
гуру
21.01.16
17:50
кладешь во временное хранилище куски таблиц, стартуешь фоновые, передавая им адреса. результаты обработки  складываешь по тем же адресам, после завершения заданий - получаешь данные из временных и склеиваешь.
53 Fragster
 
гуру
21.01.16
17:50
во временные хранилища - по числу потоков
54 Попытка1С
 
21.01.16
17:51
(51) (21) посмотрел?
55 Fragster
 
гуру
21.01.16
17:52
если перекоса кусков по времени выполнения куска нет - то вообще норм.
56 Serginio1
 
21.01.16
17:52
(49) Разницы с чем, Тебе многопоточность для чего нужна,

При апдейтах из темповой таблицы нормальный SQL сервер сам организует многопоточность
57 ДенисЧ
 
21.01.16
17:52
(52) Это всё понятно.
но мне нужна хитрая вещь. Кусков у меня будет N. Потоков - K << N.
В общем - нечто вроде пула потоков.
Но на извращения подобные пока времени нет
58 ДенисЧ
 
21.01.16
17:53
(54) Нет, видео пока не смотрел.
59 Garykom
 
гуру
21.01.16
17:54
(57) блин так можно сделать N sql-файлов и одновременно их загружать средствами любыми
60 ДенисЧ
 
21.01.16
17:55
(56) (59) Вы оба вопрос в (0) читали? Там хоть слово про загрузку есть? Там есть слова про обработку. А загрузка - это один из частных случаев.
Как же вы программы-то пишете, если ТЗ читать не умеете?
61 Garykom
 
гуру
21.01.16
17:56
(59) можно хоть ВК для этого наваять, хоть вызывать команды системы для запуска чего то
(без ожидания завершения вызываем следующую)
62 Serginio1
 
21.01.16
17:57
(60) Я читал 38
63 Garykom
 
гуру
21.01.16
17:58
(60) так спросил же еще (29)

если нужна обработка данные в mysql с учетом данных в 1С то предложил вынести извне

т.е. данные из 1С выкидываем и натравливаем нечто внешнее на эти выкинутые данные чтобы оно взяло данные из mysql обработало с учетом данных и обратно в mysql закатало

а это внешнее можно кодом на 1С кстати создать (типа скрипта если)
64 Drac0
 
21.01.16
18:00
(12) Заводишь список значения. Один элемент на поток. По окончании работы потока вызываешь обработчик, который ставит флаг на своей элемент (выполнено) и проверяет невыполненные элементы. Если таких нет, то вызывает обработку завершения. Вроде норм.
65 Дык ё
 
21.01.16
18:07
(57) это все есть в (28)
66 ДенисЧ
 
21.01.16
19:59
(63) А если сегодня mysql, а завтра сложные расчёты?
Я спросил ровно то, что спросил. И ни буквой больше.
А тут уже начали придумывать...
67 ДенисЧ
 
21.01.16
20:00
(64) обработку завершения чего?
68 ДенисЧ
 
21.01.16
20:01
(65) не покатит. оверхед большой
69 Drac0
 
21.01.16
20:06
(67) Твоей логики. То что должно происходить после работы потоков. Если инициализация процессов будет с клиента, то через описаниеоповещения. Если на сервере, то просто вызов соответсвующих функций серверных. Для первого случая хранить потоки на форме, во втором в регистре.
70 Drac0
 
21.01.16
21:14
Совсем всевдо код. Сначала пилим небольшой регистр ТекущиеПотоки под потоки с измерениями ИДЗадания, ИДПотока.


Процедура ПоточнаяОбработкаНачало(ТЗ, КолПотоков)

    ГУИДЗадания = Строка(Новый УникальныйИдентификатор());

    ЗаписатьТекущиеПотокиВРегистр(ГУИДЗадания, КолПотоков); //записывает в регистр записи, где ИДЗадания = ГУИДЗадания  и ИДПотока от 1 до КолПотоков.

    //По ГУИДЗадания  кладешь во временное хранилище нужные данные структурой, которые нужны будут в постобработке.

    Для К=1 По КолПотоков Цикл
        Параметры = Новый Структура;
        Параметры.ГУИДЗадания  = ГУИДЗадания ;
        Параметры.ИДПотока = К;
        Параметры.ТЗ = ПолучитьПорциюДанныхДляПОтока(ТЗ);
        МенеджерФоновыхЗаданий.Выполнить("ОбработкаПотока", Параметры,ГУИДЗадания);
    КонецЦикла;

КонецПроцедуры

//********

Процедура ОбработкаПотока(Параметры) Экспорт
    
    ГУИДЗадания = Параметры.ГУИДЗадания;
    ИДПотока = Параметры.ИДПотока;

    СписокНомеровПакета = ... // Получаешь список номеров пакета

    Для Каждого ТекНомерПакета Из СписокНомеровПакета Цикл    
        ОбработатьДанные(ТекНомерПакета, спискоданных);
    КонецЦикла;

    Блокировка = Новая БлокировкаДанных() ... // Наложим блокировку на ТекущиеПотоки по ГУИДЗадания, чтобы не запусть ПоточнаяОбработкаКонец дважды или трижды.
    УдалитьТекущийПакетИзРегистра(ГУИДЗадания, ИДПотока);

    Если КоличествоПотоковПоГУИДЗаданияВРегистра = 0 Тогда
        ПоточнаяОбработкаКонец(ГУИДЗадания);
    КонецЕсли;

КонецПроцедуры

//********

Процедура ПоточнаяОбработкаКонец(ГУИДЗадания)

    // Получаем данные из хранилища и работаем с ними дальше.

КонецПроцедуры


71 Serginio1
 
21.01.16
21:15
(66) Для каждой задачи свое решение. Многопоточность можно получить разными путями. Фоновые задания очень жирные.
  А по 0 то и так понятно

Запускаем фоновые задания лучше с сервера

Выполнить(<ИмяМетода>, <Параметры>, <Ключ>, <Наименование>)
добавляем их в массив
и ждем через
ОжидатьЗавершения(<ФоновыеЗадания>, <Таймаут>)
72 H A D G E H O G s
 
21.01.16
21:27
(71) ОжидатьЗавершения(<ФоновыеЗадания>, <Таймаут>)

Тормозит не по детски, хз че ждет, хотя все задания выполнились.
73 Drac0
 
21.01.16
21:28
(71) Кстати, да. Про ОжидатьЗавершения я тупанул и забыл, что там массивом можно.
74 Drac0
 
21.01.16
21:29
(72) Может мой вариант тогда в этом плане будет лучше? Типа ассинхронное выполнение )
75 Serginio1
 
21.01.16
21:36
(72) Так я ему предлагаю использовать нетовские потоки. А они быстры, веселы и легко используемы. Например
https://msdn.microsoft.com/ru-ru/library/dd560853(v=vs.110).aspx
76 Serginio1
 
21.01.16
21:40
(72) Кстати делегаты можно создавать стало легче
Динамическая компиляция для использования .Net событий в 1С

Давай к нам перебирайся потихоньку.
77 Garykom
 
гуру
21.01.16
21:54
(76) блин... сделай уже чтобы можно было как 1С++

тупо из 1С (кодом на языке 1С) создается код на C#, пишется в файл, далее компилируется (вызовом из 1С чего то) и юзается...

а все что там ранее наваяно выкинуть... ибо для того чтобы юзать нужно быть не 1С-ником а C#-ом!
78 Garykom
 
гуру
21.01.16
21:57
(77)+ в этом плане http://oscript.io/ гораздо ближе
вот пример https://bitbucket.org/EvilBeaver/1script/issues/169/----------- что хотят наваять и ведь все просто и понятно!!!
79 Serginio1
 
21.01.16
21:59
(77) Нужно быть не C# ником, а знать библиотеки .Net.
Толко для знания нужен опыт. С другой стороны, можно найти кучу примеров как в документации, так и на том же http://stackoverflow.com/questions/34416786/soap-service-on-java-returns-incorrect-types-in-response/34686578

куча примеров.
80 Serginio1
 
21.01.16
22:03
(79) Ты представляешь разницу между библиотеками .Net?
Посмотри на размер папки \Windows\Microsoft.NET\
Это гигабайт. А переписывать все англоязычные имена на русские слишком затратно.
81 Garykom
 
гуру
21.01.16
22:04
(79) угу только проще просто взять этот пример и скомпилить его (с любой передачей данных в/из 1С)

вместо того чтобы изучать что там Вы придумали

может просто выложить (не кодом а файлами C# классов с доками т.е. исходники) несколько готовых модулей для разного обмена данными с 1С?

Типа:
1. Пример веб сервера с которым может соединяться http клиент 1С
2. Пример веб клиента который может подключаться к веб сервису на 1с
3. Пример ВК которую может юзать 1С
4. Пример ...
82 Serginio1
 
21.01.16
22:05
Другое дело, что многие смогли бы и помочь. Как например содружество 1С++. Только вот никто даже вопросы не задает.
И даже не хочет попробовать
83 Garykom
 
гуру
21.01.16
22:06
(80) никто не заставляет переписывать ничего
http://ru.stackoverflow.com/questions/7151/Простой-компилятор-c

Начиная с Windows Vista, .NET Framework (разные версии) входит в дистрибутив операционной системы. Как справедливо заметил @aghasalim, для простой компиляции не нужно устанавливать дополнительных программ.

Для пробы можно набросать в блокноте текст программы (hello.cs), например:

using System;

namespace Sample {
    class Program {
        static void Main(string[] args) {
            Console.WriteLine("Hello, World!");
        }
    }
}
Затем скомпилировать:

> C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe /nologo hello.cs
И выполнить:

> hello.exe
Hello, World!
Если нужна полноценная среда, то Visual C# Express - лучший вариант для начала.
84 Serginio1
 
21.01.16
22:06
(81) Так вот здесь http://catalog.mista.ru/public/238584/
куча примеров.
85 Serginio1
 
21.01.16
22:08
В том числе работа св ВК, окнами
там внизу комментарии
http://catalog.mista.ru/public/238584/
86 Garykom
 
гуру
21.01.16
22:09
(84) бесполезная (для 80% 1С-ников) куча примеров?
плиз вспомните те времена когда пытались освоить в 1-й раз 1С
открыли конфигуратор - и мяя... что тут делать то???
87 Garykom
 
гуру
21.01.16
22:10
(86)+ вот гляньте простейший пример (83) - 10 секунд и оно выдает Hello, World!
88 Garykom
 
гуру
21.01.16
22:11
(87)+ а то что Вы публикуете или не могут понять/использовать

или если могут то просто уже не нужно, сами могут такой лисапед на свой вкус наваять...
89 Serginio1
 
21.01.16
22:13
(83) Если бы ты посмотрел 76 то там как раз и происходит динамическая компиляция. Кроме того можно компилировать сборку. Например Динамическая компиляция для использования .Net событий в 1С
Опять же я один. Сделай, то, что тебе кажется нужным. Так или иначе я все затачиваю под себя
90 Serginio1
 
21.01.16
22:16
(88) Чем это сложнее?
Console=Врап.ПолучитьТип("System.Console");
Console.WriteLine("Hello, World!");
91 Garykom
 
гуру
21.01.16
22:16
(89) проблема что Вы настойчиво грузите "школьников" "вышкой"

вот бы Вам попробовать курсы C# для школьников вести...
думаю сразу бы поняли какой должен быть уровень подачи материала ))
92 Garykom
 
гуру
21.01.16
22:17
(90) потому что в ваших статья это простое просто погребено под кучей вышки, совершенно непонятной тому кто знает только 1С
93 Garykom
 
гуру
21.01.16
22:24
(90) сверху к этому нужен короткий (обязательно короткий) мануал как скачать нечто и скомпилить/подключить чтобы код

Console=Врап.ПолучитьТип("System.Console");
Console.WriteLine("Hello, World!");

заработал...

а то открываю "ФайлыNetObjectToIDispatch.zip" и мя.... сколько всего... что тут делать то???
94 Drac0
 
21.01.16
22:26
(82) Не видно большого смысла. Как весь этот функционал на .Net библиотеках будет себя вести на Линукс, а в веб-клиенте? А что делать, если потребуется бантик, который не реализован библиотеками? Искать другие? Писать свои?
95 Serginio1
 
21.01.16
22:37
(94) Ну и каков процент линуксов? Все прекрасно выполняется в том числе и на сервере. Можно писть свои бантики используя готовые библиотеки. Например http://catalog.mista.ru/public/434771/

(93) Я постарался все описать в NetObjectToIDispatch.docx
А что касается "школьников", то к сожалению я плохой учитель, но стараюсь делиться своим опытом.
96 Garykom
 
гуру
21.01.16
22:48
(95) я даже не понял какую dll нуна взять NetObjectToIDispatch или NetObjectToIDispatch45 ...
97 Cyberhawk
 
21.01.16
22:52
http://goo.gl/1mpFGj
Про многопоточность там есть
98 Serginio1
 
21.01.16
22:54
Для Net Framework 2 NetObjectToIDispatch
Для 4.5 NetObjectToIDispatch45
99 Serginio1
 
21.01.16
22:55
98+
Для проведения тестов нужно распаковать архив . Татем нужно  зарегистрировать
Нужные DLL. Запускаем РегистрацияКомСервера.exe и выбираем NetObjetToIDispatch45.dll которая лежит в DLLNetObjetToIDispatch45

Затем запускаем толстого клиента и ТестNetObjectToIDispatch.epf
100 Drac0
 
21.01.16
23:00
(95) "Ну и каков процент линуксов?" ч
Что будет, когда надо подключить офис, где стоят линуксы? Переписывать систему?

"Все прекрасно выполняется в том числе и на сервере."
А клиентский код?

Вот из-за этих моментов и не интересуются. Повышает риски, повышает стоимость владения, понижает мобильность и адаптивность. И если на семерке тупо не было выбора, тона восьмерке он уже есть.
101 Serginio1
 
21.01.16
23:06
(100) У каждого есть свой выбор. Кстати ComObject
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение
Для IE подходит
102 Garykom
 
гуру
21.01.16
23:07
(99) вот почему этой простой инструкции нет в начале каждого длинного мануала? ;)

и далее вместо длинных портянок кода с непонятными терминами только код на 1С
103 Garykom
 
гуру
21.01.16
23:11
(102)+ и про запуск регистрации от Администратора то забыли?

в результате обычный 1С-ник просто плюнет и пойдет просить на форуме "рабочее решение" или скачает/купит на ИС
104 Garykom
 
гуру
21.01.16
23:16
(103)+ вот реально мне чтобы разобраться как запустить простой пример по отправке по почте с ssl ушло 10 минут

и это как бы в курсе и писал на C# и .Net
105 Garykom
 
гуру
21.01.16
23:30
(101) вообщем если решение (0) только под вин то вполне простое им шустрое
NetObjectToIDispatch45 + http://xn--d1aiecikab7a.xn--p1ai/c_sharp_2/
106 Drac0
 
21.01.16
23:31
(101) В том и дело, что теперь есть выбор. И, как оказалось, при его наличие предпочтение отдают штатным средствам.

А веб-клиент под мак на сафари? :)
107 Serginio1
 
21.01.16
23:56
(104) Извини. Правда когда писал статью, думал, что все просто. Не могу я для начала влезть в шкуру новичка и понять, как лучше объяснить.
(106) Еще раз повторю, что каждый выбирает, то, что считает нужным. Если нужна скорость разработки и возможности .Net то выбираешь то, на чем оно может работать. Иначе выбирай, то что считаешь нужным. Но при этом ешь кактус используя Native.Api со всеми её ограничениями.
108 Serginio1
 
21.01.16
23:57
(106) Штатных средст не хватает или они зачастую ооочень медленные. Приходится использовать сторонние решения, что бы решить задачу.
109 Garykom
 
гуру
22.01.16
00:01
(107) есть хорошая идея как сделать C# и .Net доступными для 1С-ников ))

но идея просто смешная... до ужаса

инсталлятор нужно сделать, на дотнете, который при установке проверяет какой нет есть, если нужно требует его (сча уже не так актуально но на всяк случай)
далее ставит в Program Files нужные DLL
регает их автоматом

и еще в папку кучу простых примеров как юзать (та же почта и т.д.)
110 Garykom
 
гуру
22.01.16
00:03
(109)+ обязательно автообновление чтобы было, новые версии dll и примеров скачивались с доками
111 Serginio1
 
22.01.16
00:06
110 Да думал над этим. Но опять же нужны права администратора. Кстати в ТестВК есть регистрация и установка из макета
112 Garykom
 
гуру
22.01.16
00:08
(111) пофиг, при установке инсталлятор права админа спросит штатно
естественно уже желательна подпись
113 Garykom
 
гуру
22.01.16
00:13
(111) пример по установке из макета это в примерах хватит
чтобы разработчик мог для своего решения простой способ внедрить

т.е. не убирает отдельный инсталлятор
в котором можно выбирать ставить полный пакет со всеми примерами или только нужные dll
114 Serginio1
 
22.01.16
09:38
Кстати ты бы мог на своем опыте использования написать статью, для более быстрого освоения. Я тебе всегда рад помочь. Вот например прекрасно написанная статья "Строка в дату. Универсальное решение. Применение NetObjetToIDispatch45"
http://catalog.mista.ru/public/434345/

Кстати можно статью и про многопоточность написать
115 Fragster
 
гуру
22.01.16
11:34
(72) вот тебе метод, который я использовал в многопоточном тесте: в фоновых устанавливаем разделяемую блокировку на константу, в "родителе" пытаемся установить исключительную. Единственное - надо увеличить время ожидания блокировки с запасом :)
Правда у меня там наоборот - сигнал от одного сеанса ко многим, по этому я в "родительском" сеансе устанавливаю исключительную блокировку, а в "фоновых" - пытаюсь установить разделяемую. См отчет "проверка синхронизации" в https://infostart.ru/public/173394/
116 Fragster
 
гуру
22.01.16
11:35
время реакции - десятки милисекунд всего
117 Garykom
 
гуру
22.01.16
11:40
(114)
II. Как установить и начать пользоваться.
1. Установить NET Framework 4.5 https://www.microsoft.com/ru-ru/download/details.aspx?id=30653
2. Регистрация NetObjetToIDispatch45.dll
2.1 Запустить РегистрацияКомСервера.exe
2.2 Нажать кнопку "Регистрация Сервера"
2.3 Выбрать файл NetObjetToIDispatch45.dll, после чего сгенерится строка вызова, необходимая для регистрации
2.4 Запустить командную строку от имени Администратора.
2.5 Скопировать строку вызова из формы в командную строку и запустить.
2.6 Убедиться, что результатом запуска стало "Типы зарегистрированы успешно"
3. Запустить обработку Универсальная_СтрокаВДату.epf
3.1 По нажатию кнопки "Пуск" все строки должны сконвертироваться в даты.

А вот если бы был инсталлятор то пункты 1-6 в один бы, экономия мануала на 80% :)
118 Serginio1
 
22.01.16
12:03
(117) Можно проще запустить  РегистрацияКомСервера.exe от имени администратора
119 Карупян
 
22.01.16
12:03
(114) Рекомендую на гитхабе сделать страничку, где бы ты выкладывал примеры использования + там же была бы документация
120 Serginio1
 
22.01.16
12:05
(119) Да надо собраться и сделать. Эх еще бы кто помог.
121 Карупян
 
22.01.16
12:07
(120) Тебе помочь зарегаться на гитхабе? )))
122 Serginio1
 
22.01.16
12:09
(121) Нет. Просто мои примеры почему то мало кто понимает.
Здесь как раз нужно информацию подавать понятно, что бы не отпугивать людей. А у меня это плохо получается.
123 Карупян
 
22.01.16
12:12
(122) ты выкладывай как есть, а там уже сообщество может подключится
124 Serginio1
 
22.01.16
12:12
Ок