IE2017

Перенос справочников, документов и настроек констант между одинаковыми конфигурациями

Обмен - Перенос данных из 1С7.7 в 1C7.7

Есть таблица для выбора объектов переноса и условий переноса (все, проведенные, не помеченные на удаление) Поиск элементов в справочнике ведется по заданному реквизиту  (обозначается (!)). Поиск документов ведется по номеру и дате.
Для Справочников реквизит "Загружать" означает:
1) "По ссылкам" = будут загружатся элементы используемые как реквизиты других объектов не зависимо от пометки на удаление.
2) "Не помеченные на удаление" = "По ссылкам" + все элементы справочника не помеченные на удаление.
3) "Все" = Все элементы справочника.
Реквизит справочника с (!) знаком в идентификаторе используятся для поиска элементов в базе приемнике. 
В качестве реквизита для поиска может использоваться код, наименование или реквизит с установленным признаком сортировки.
Подчиненные справочники использующие в качестве реквизита документы по умолчанию не загружаются.
Периодические значения реквизитов загружаются все вошедшие в заданный период + значение на начало периода.
Для Документов реквизит "Загружать" означает:
1) "По ссылкам" = будут загружатся документы используемые как реквизиты других объектов не зависимо от даты документа, пометки на удаления, проведения.
2) "Не помеченные на удаление" = "По ссылкам" + все документы не помеченные на удаление с датой входящей в заданный период.
3) "Проведенные" = "По ссылкам" + все проведенные документы с датой входящей в заданный период.
4) "Все" = "По ссылкам" + все документы а с датой входящей в заданный период.
 
Загрузка только измененных работает при наличии в каталоге базы V7PLUS.DLL.
При загрузке только изменённых, архивированные периоды журнала регистрации не обрабатываются.  
 
Если передать в форму список парамеров, то после выполнения переноса форма будет закрыта.  Перед началом использования настраиваем обработку и
сохраняем настройку.
Параметы:
"ВнешнийИсточник" - Источник данных (OLE объект "V77.Application");
"ДатаНачала"           - Дата начала периода загрузки ( "Дата" );
"ДатаОкончания"     - Дата окончания периода загрузки ( "Дата" );
"СписокСсылок"       - Список ссылок на объекты которые нужно загрузить ( "СписокЗначений" , каждое значенние представляет собой ссылку на объект в 
                                    базе источника во внуреннем формате ( системная функция "ЗначениеВСтрокуВнутр" );
 
Пример использования вызова с параметрами:
 
Процедура Сформировать(ПутьКБазеДанных,Пользователь,Пароль,ДатаНачала,ДатаОкончания)
ВнешнийИсточник=СоздатьОбъект("V77.Application");
Если ПустоеЗначение(ПутьКБазеДанных)=1 Тогда
ИначеЕсли ФС.СуществуетФайл(ПутьКБазеДанных)=0 Тогда
КаталогВР="";
ИначеЕсли ФС.СуществуетФайл(ПутьКБазеДанных+"\1cv7.md")=0 Тогда
КаталогВР="";
КонецЕсли;
Если ПустоеЗначение(КаталогВР)=1 Тогда
Рез=ВнешнийИсточник.Initialize(ВнешнийИсточник.RMTrade, ,"No_splash_show");
Если Рез=-1 Тогда
КаталогВР=ВнешнийИсточник.КаталогИБ();
Пользователь=ВнешнийИсточник.ИмяПользователя();
КонецЕсли;
Иначе
Рез=ВнешнийИсточник.Initialize(ВнешнийИсточник.RMTrade," /d"+КаталогВР+
" /n"+Пользователь+?(ПустоеЗначение(Пароль)=1,""," /p"+Пароль), "No_splash_show");
КонецЕсли;
Если Рез=-1 Тогда
СписокСсылок=СоздатьОбъект("СписокЗначений");
Платёжки=ВнешнийИсточник.EvalExpr("СоздатьОбъект(""Документ.ПлатежноеПоручение"")");
Платёжки.ВыбратьДокументы(ДатаНачала,ДатаОкончания);
Пока Платёжки.ПолучитьДокумент()=1 Цикл
Если СокрЛП(Платёжки.Контрагент.Наименование)="Рога и Копыта" Тогда
ВнутрКод=ВнешнийИсточник.ЗначениеВСтрокуВнутр(Платёжки.ТекущийДокумент());
СписокСсылок.ДобавитьЗначение(ВнутрКод);
КонецЕсли;
КонецЦикла;
Если СписокСсылок.РазмерСписка()>0 Тогда
Параметры=СоздатьОбъект("СписокЗначений");
Параметры.Установить("ВнешнийИсточник",ВнешнийИсточник);
Параметры.Установить("ДатаНачала",ДатаНачала);
Параметры.Установить("ДатаОкончания",ДатаОкончания);
Параметры.Установить("СписокСсылок",СписокСсылок);
ОткрытьФормуМодально("Обработка", Параметры, КаталогИБ()+"ExtForms\PerenosOle.ert");
КонецЕсли;
КонецЕсли;
КонецПроцедуры //Сформировать
 
Замечания на email: kulikov_s_a@mail.ru 

Скачать файлы

Наименование Файл Версия Размер
Perenos Ole.zip
.zip 40,70Kb
05.01.15
2435
.zip 40,70Kb 2435 Скачать

См. также

Комментарии
1. Доржи Цыденов (support) 4486 28.04.06 11:51 Сейчас в теме
Впечатляет работа с таблицей. Сделано мастерски. Только не до конца понятны механизмы переноса, например, по какому полю идет синхронизация? По коду или наименованию, а если в спровочнике вообще нет кода и наименования (ТИС: Спровочник.Цены )
Как переносится история элементов?
Есть ли возможность рекурсивного переноса всех связанных объектов?
2. Serjant (GreyK) 28.04.06 12:09 Сейчас в теме
Синхронизация идет по полю с таким знаком (!).
Два щелчка по другому реквизиту сменит реквизит синхронизации.
3. Serjant (GreyK) 28.04.06 12:17 Сейчас в теме
Да добавлю что полем синхронизии может быть код, наименование или реквизит с установленным признаком сортировки.
Переносится вся история в пределах периода + значение на начало периода.
Какие связанные объекты? Если подчиненные справочники, тогда конечно.
4. Доржи Цыденов (support) 4486 28.04.06 14:05 Сейчас в теме
>Какие связанные объекты? Если подчиненные справочники, тогда конечно.
Да, подчиненные элементы, например, цены товара из ТиС
Например, значения реквизитов это тоже элементы справочников или документов.
5. Александр (imsoftware) 173 28.04.06 14:31 Сейчас в теме
Достаточно интересная разработка (и актуальная!), но до Rocket Launcher'а ей еще как до Китая ползком! А как быть с остальными объектами метаданных (Перечисления, Виды Субконто, Планы Счетов и т.д.)? Интерфейс разработки достаточно хороший и простой, но надо смотреть на вещи в более глобальном контексте.
6. Serjant (GreyK) 28.04.06 16:11 Сейчас в теме
imsoftware, а ты попробуй и посмотри.
Как это в глобальном масштабе? Как соотнесется сия обработка и движение планет?
7. Serjant (GreyK) 04.05.06 22:01 Сейчас в теме
8. Serjant (GreyK) 02.06.06 19:48 Сейчас в теме
Вообще-то нужно сообщать о мнении хотя-бы или ошибки!
9. Круто. 16.06.06 00:57 Сейчас в теме
10. Andr 16.06.06 08:40 Сейчас в теме
Пытаюсь скачать тоже 97% и стоп
11. Andr 16.06.06 08:45 Сейчас в теме
Надо просто сохранять на диск , а не качалками . Тогда сохраняет.
12. Доржи Цыденов (support) 4486 16.06.06 09:27 Сейчас в теме
надо попросить автора заново залить этот файл, действительно плохо качается
13. Serjant (GreyK) 16.06.06 21:28 Сейчас в теме
Скинул. Может чё с серваком?
14. Андрей (wildcat) 13.07.06 15:55 Сейчас в теме
Что значит "По ссылкам" и что задаёт Период.
Вообще было бы не плохо хоть маленькое описание работы прилепить.
15. Serjant (GreyK) 13.07.06 18:34 Сейчас в теме
По ссылкам означает что если есть в объекте, который вы решили загружать , реквизит типа справочник или документ то этот объект будет загружен.
P.S. обработка не предназначена для использования простыми пользователями, надо знать хоть какие-то "основы" програмирования, без их знаний она бесполезна и даже опасна.
16. Serjant (GreyK) 26.07.06 21:03 Сейчас в теме
Исправил перенос пустого значения даты.
Сталкнулся с таким фактом при подключении через ОЛЕ значения типа число иногда передаются не правильно. Пример иногда значение 2.00, передаётся 1.999999.
17. Владимир (Martyn) 27.07.06 11:16 Сейчас в теме
18. ne01ext (ne01ext) 31.07.06 09:45 Сейчас в теме
Очень удобная обработка... Ничего лишнего... Спасибо!
19. Александр (Sinaps) 22.01.07 13:42 Сейчас в теме
Что-то в расходных накладных негрузиться парития
20. Serjant (GreyK) 22.01.07 20:11 Сейчас в теме
Sinaps Какая конфигурация?
В настройках переноса для реквизита расходной наклодной "партия" стоит пометка загружать?
21. Sasha_H (logarifm) 10.01.07 17:52 Сейчас в теме
Ща... тестону, как раз вовремя попалась под руки, а то клиент мну дибает, а мне такой влом писать біло, как вспомню скоко там всего аж плохо делается! Рес+1
22. Den (DDD2005) 14.11.06 09:55 Сейчас в теме
Вещь конечно удобная!
НУ есть вопросы:
1. Если в спровочниках один и тот же код но разные наименования, обработка перезатрет?
2. Два документа под 1 номеров, что будет в этом случае?
3. Как работать с программой если такая ситуация есть, две бухгалтерии одинаковые но нужно перикидовать с одной (реализацию, поступление, кассу) в другую где так же может быть (реализацию, поступление, кассу)
23. Den (DDD2005) 14.11.06 09:59 Сейчас в теме
Вещь конечно удобная!
НУ есть вопросы:
1. Если в спровочниках один и тот же код но разные наименования, обработка перезатрет?
После проверки справочники с одним и тем же кодом (наименование изменилось, а значит данные перезатерлись)

2. Два документа под 1 номеров, что будет в этом случае?
таже сама ситуация
3. Как работать с программой если такая ситуация есть, две бухгалтерии одинаковые но нужно перикидовать с одной (реализацию, поступление, кассу) в другую где так же может быть (реализацию, поступление, кассу)

Видно нужно добавлять префикс к документам, сравнение не по наименованию а по коду :-(
24. Serjant (GreyK) 14.11.06 17:32 Сейчас в теме
1) Значок (!) в идентификаторе реквизита справочника означает, что поиск будет вестись по этому реквизиту. Таким реквизитом может быть код, наименование или реквизит с установленным признаком "сортировка".
2) Два документа с одним номером и в одном периоде нумерации? Конечно перезапишется, для того и создана.
3) Нужно установить разные префиксы в нумерацию документов у каждой базы.
25. Alexander (Alex_222) 17.11.06 12:09 Сейчас в теме
26. Serjant (GreyK) 26.02.07 21:21 Сейчас в теме
Как сделать что-бы 7ка не задавала вопрос о смене даты или ответить "Esc" и закрыть открытое OLE окно?
27. Сhe Burashka (CheBurator) 31.03.07 17:19 Сейчас в теме
Типовая ТиС.
Требуется перетащить/синхронизировать между родственными базами Номенклатуру (код, наименование, полное наименование) и базовую единицу измерения. Вопрос: как синхронизировать между базами Спр.Единицы причем условием синхронизации должна быть пара "ОКЕИ+ШК"
???
28. Serjant (GreyK) 01.04.07 11:51 Сейчас в теме
В ТиС у каждой еденицы номенклатуры вроде как должна быть только одна единица для каждого ОКЕЙ, и неё может быть или не быть ШК, т.ч. условие остается одно. В описании есть заготовка для "расширенного отбора".
29. _toro_ 07.04.07 05:43 Сейчас в теме
Товарищ Сержант, разрешите обратиться?
Из бюджетной конфы (релиз 609, свернута и сжата (удалены неиспользуемые элементы толстых справочников и пожата база) на начало года) переношу в пустую авансовые отчеты (ВСЕ) за неделю (всего 10 штук). Остальное все по ссылкам. Перенеслось все корректно (10 ав. отчетов, с десяток элементов в нескольких справочниках), НО ВРЕМЯ РАБОТЫ 1,5 ЧАСА (ОБРАБОТАНО/ЗАГРУЖЕНО 9217 ССЫЛОК)!!!! Для 10 документов и десятка элементов в нескольких справочниках? Что за бред? Можно ли как-нибудь ускорить сие мероприятие оптимизацией кода (сам лезть не хочу)?
30. _toro_ 07.04.07 05:47 Сейчас в теме
31. Serjant (GreyK) 07.04.07 20:28 Сейчас в теме
_toro_ спасибо за сообщение. Я решил проверить информацию и нашел у себя ошибку: не обрабатывались значения типа "ВидСубконто" (используется в справочнике "Журналы"), исправил.
Создал пустую базу 6ой бюджетки и заполнил её из демоконфигурации, вот результаты.

Все операции с 07.04.2007 21:39:00 завершены в 21:58:15 07.04.2007
Обработано объектов: 15980
Изменено элементов справочников: 15667
Изменено документов: 96
Проведено документов: 70
Не удалось првести документов: 13

Intel 1500M, 512mb.
32. Serjant (GreyK) 07.04.07 20:47 Сейчас в теме
_toro_ Если надо загрузить только авансовые отчеты то надо только для них поставить "загружать все", все остальные объекты должны загружатся "по ссылке".
33. _toro_ 08.04.07 00:24 Сейчас в теме
2 Serjant
> Если надо загрузить только авансовые отчеты то надо только для них поставить "загружать все", все остальные объекты должны загружатся "по ссылке".

Дык я так и делал :).
Сейчас затетстим еще раз.
34. _toro_ 08.04.07 02:02 Сейчас в теме
Ну, скорость работы не изменилась. Но сейчас действительно все корректно перенеслось.
Хочется понять, почему все-таки так долго.
Объясни, pls, суть алгоритма работы этой обработки.
Подобные обработки, построенные на рекурсивном вызове процедуры переноса агрегатного объекта (рекурсия-рекурсия...рекурсия, пока не дойдем до атомарного объекта (строка, число, дата)), как, например, эта http://infostart.ru/projects/874/?ref=8252 справляются с той же задачей практически мгновенно. Но в таких алгоритмах есть один нюанс. Если реквизит Справочника1 ссылается на Справочник2, а реквизит Справочника2 ссылается на Справочник1, тогда такие алгоритмы, теоретически, должны упасть в бесконечный цикл. Я так понимаю, в этой обработке использован принципиально иной алгоритм. Для корректной ли отработки данной ситуации в ущерб времени работы?
35. Serjant (GreyK) 08.04.07 12:17 Сейчас в теме
Всё просто, если мы загружаем реквизит по ссылке тогда заполняются: уникальный идентификатор, владелец, родитель. Все остальные реквизиты заполняются после загрузки основного объекта.
36. Serjant (GreyK) 11.04.07 20:14 Сейчас в теме
Чуть ускорил, пока больше возможностей не вижу.
37. Serjant (GreyK) 06.06.07 11:25 Сейчас в теме
Изменил отбор документов для загрузки.
38. Андрей Костяшин (soltik) 19 12.10.07 12:23 Сейчас в теме
39. Amorfus (Amorfus) 22.10.07 15:03 Сейчас в теме
40. Serjant (GreyK) 20.01.08 18:48 Сейчас в теме
Спасибо. Всех с праздниками!
41. Ольга (Борислав) 12.02.08 15:33 Сейчас в теме
Не загружает!
При открытии файла произошла ошибка : C:\Program Files\1Cv77\Зарплата 2008\PRBasic\filtr1.txt was not found.
.РазмерБуфера();zC43F675574AE.ОткрытьФайл(КаталогПользователя()+"filtr1.txt",0);z6F0F93E9E0AD="";zC43F675574AE
{F:\1С ОБРАБОТКИ\1С ВЫГРУЗКА-ЗАГРУЗКА ДОКУМЕНТОВ\PERENOSOLE&MLG.ERT(541)}: Ошибка при выполнении метода объекта компоненты C:\Program Files\1Cv77\Зарплата 2008\PRBasic\v7plus.dll
42. Serjant (GreyK) 13.02.08 20:33 Сейчас в теме
А файл КаталогИБ()\SYSLOG\1cv7.mlg есть?
43. Irina (gif) 17.04.08 13:38 Сейчас в теме
Документы переносит,но при условии что отказываешься от переноса справочников.При этом тащит пустые.Мне очень понравилось,но если бы вы решили эту проблему,тогда 100+++
44. Serjant (GreyK) 17.04.08 14:20 Сейчас в теме
Какую ошибку выдала программа при переносе? Что такое пустой документ, он помечен на удаление? Сейчас переносится база, но там я переношу только документы, а справочники только по ссылке. Вечерком попробую со справочниками, пока у меня зависимости переноса документов от переноса справочников не было.
45. Дмитрий (adik_) 25.07.08 11:31 Сейчас в теме
Согласен с gif(43 сообщение). При выборе условий загрузки "по ссылкам" справочников и документов ошибок никаких не выдает. Пишет, что все операции завершены: изменено 0, обработано 0, проведено 0. Может быть это из-за использования одного и того же списка значений в секции "Загружать" для документов и справочников или одних и тех же значений в этом списке. Поэтому он воспринимает только документы или только справочники.
46. Serjant (GreyK) 25.07.08 16:51 Сейчас в теме
adik_ Если ставишь для всех справочников и докментов "по ссылке", кто-же на что должен ссылатся :)
Пример: В документе есть реквизит Контрагент. Если загружать эти документы, то загрузятся "по ссылке" и контрагенты из этих документов. Если выбрать для Контрагентов "не загружать" то не загрузятся контрагенты. А если выбрать для Контрагентов "Все", то загрузится весь справочник Котрагентов.
47. Дмитрий (adik_) 25.07.08 18:24 Сейчас в теме
Логично. Но тогда это взаимоисключающие друг друга настройки и одновременно их выставлять нельзя, а стоят они по умолчанию. Создается впечатление, что обработка не работает.
48. Serjant (GreyK) 26.07.08 12:00 Сейчас в теме
adik_ Для примера вот как происходит создание новой "чистой" базы из старой.
1. Делается свертка итогов в копии старой базы.
2. В настройках обработки помечаем на загрузку:
1) константы,
2) Из справочников: все классификаторы которые нужны для нормальной работы базы загружаем полностью, все остальные по ссылкам (нам не нужны уже неиспользуемые элементы.)
3) Документы ввода остатков.
3. Загружаем документы ввода остатков, период только тот день когда сформированы остатки.
4. После загрузки остатков ставим все справочники по ссылкам и загружаем документы за период после ввода остатков.

В результате получаем базу без муссора прошлых периодов.
49. aslanbek (aslanbek) 24.09.08 12:17 Сейчас в теме
я вот тренируюсь по этой программе и вопрос есть, из демки 7.7 бух хочу перебросить документ приказ о принятии на работу в демку 7.7 зик. как сделать это?
50. Serjant (GreyK) 25.09.08 06:04 Сейчас в теме
aslanbek Структура конфигурации бухии и зика различаются, для таких переносов рекомендую потренироватся на "Конвертации данных", там есть примеры переноса.
51. bezmenov (bezmenov) 03.10.08 15:49 Сейчас в теме
Призапуске обработки появляется ошибка:
;z34F856E76950.Ссылка.ДобавитьЗначение(z34F856E76950.ПолныйИдентификатор,z34F856E76950.Тип+"."+z34F856E76950
{E:\DEVEL\PERENOSOLE&MLG.ERT(57)}: Значение не представляет агрегатный объект (ДобавитьЗначение)
52. DrZombi DrZombi (DrZombi) 21.01.09 08:41 Сейчас в теме
Накой кадаброй было все переделовать под кадабру :)
А так молодца, на будущее, если ты не хочешь делиться кодом, то некуй его выкладывать ;)
53. Федор (siyanych) 19.05.09 23:15 Сейчас в теме
54. Слава Корчагин (sl_k) 21.05.09 09:48 Сейчас в теме
Пишет что не может открыть базу данных.Есть какие то особенности?
55. Сергей Куликов (GreyK) 288 23.05.09 13:35 Сейчас в теме
(54) Особенностей никаких нет. Если база открывается в режиме предприятия, то и в ОЛЕ откроется.
56. Слава Корчагин (sl_k) 25.05.09 06:58 Сейчас в теме
запускаю обработку, он дает мне окошко для авторизации, выбираю пользователя, набираю пароль, и после этого обработка останавливается и говорит, что не может открыть базу данных
57. Сергей Лунев (luns) 25.05.09 07:15 Сейчас в теме
(56) С семеркой не работаю, но могу предположить что дело в том, что каталог пользователя занят. Нужно или выбрать нактивного пользователя, либо в конфигураторе очистить поле каталог у пользователя под которым пытаетесь заходить.
58. Слава Корчагин (sl_k) 25.05.09 08:02 Сейчас в теме
(57) Спасибо, очистил каталог пользователя в конфигураторе-помогло
59. Max Gareev (maxnn2) 09.12.09 13:39 Сейчас в теме
Эта обработка может перенести документ ввод остатков ТМЦ из ТиС в Комплексную?

Если да, то что значит ошибка
,1,0);z8720EB63EC9E=Макс(z8720EB63EC9E,zC21BC14141F5(z533C545C5F99,Идентификатор,z533C545C5F99.ПолучитьАтрибут
{D:\3DSWORK\1C\НОВАЯ БАЗА\ATC1\EXTFORMS\PERENOSOLE&MLG.ERT(408)}: 1С:Предприятие: Неверное имя атрибута
60. Сергей Куликов (GreyK) 288 09.12.09 15:02 Сейчас в теме
(59) Перенос осуществляется между едиентичными, и без настроек соответствий. Для настраиваемых переносов есть КД.
61. Денис (Stitch62625) 25.12.10 16:38 Сейчас в теме
Подскажите плиз откуда скачать эту обработку
"Перенос справочников, документов и настроек констант между одинаковыми конфигурациями"
А то я обсуждения читаю а где ее саму взять не пойму
62. Денис (Stitch62625) 25.12.10 16:42 Сейчас в теме
Я имею ввиду перенос между идентичными конфигурациями 8.2
63. Ирина Пятакова (Alraune) 1392 26.12.10 01:08 Сейчас в теме
(61) Отсюда: http://infostart.ru/public/14022/
(62) Хотя это не 8.2, а, наоборот, 7.7
64. Евген (evg300183) 23.09.11 11:49 Сейчас в теме
а будет работать между зарплата+кадры 77 и зарплата+кадры 77
65. Евген (evg300183) 23.09.11 11:49 Сейчас в теме
и можно ли перенести отдельно форму Т-2 у сотрудников?
66. Сергей Куликов (GreyK) 288 24.09.11 08:56 Сейчас в теме
Форма Т-2 хранится в реквизитах справочника "Сотрудники". Без переноса сотрудников не взлетит...
67. 1801 05.10.11 17:01 Сейчас в теме
Спасибо! О-о-очень облегчает жизнь бухгалтеру, не "имеющему" собственного программиста!
68. Александр Лебедев (brato4karik) 24.10.11 17:18 Сейчас в теме
Достойная обработка для выполнения переноса справочников в идентичных конфигурациях. Отработала быстро и без потерь ссылок. Проводил загрузку на больших объемах данных. Базы данных как файловые так и клиент серверные. Неплохой инструмент для переноса, но если есть опыт работы с КД то лучше ею
69. Андрей Гамидов (agamidov) 17.11.11 15:30 Сейчас в теме
70. Евгений Фамилия (internetname) 02.12.11 11:06 Сейчас в теме
72. Alex Astafyev (Builder) 8 23.12.11 12:10 Сейчас в теме
73. Alex Steiner (OrsoBear) 23.01.12 13:14 Сейчас в теме
Спасибо огромное! По Вашей обработке учил примеру реализации задания. И для себя несколько полезных идей подсмотрел.
74. Pavel Ivanov (pallpall4) 09.06.12 11:18 Сейчас в теме
А данная обработка переносит Банк"Выписки" в идентичную бухгалтерию
75. Сергей Куликов (GreyK) 288 10.06.12 15:48 Сейчас в теме
(74) Переносит обработка всё, но надо правильно настроить поиск. Рекомендую тренировку на копии.
76. Брест Беларусь (zhleonid8) 11.06.12 01:38 Сейчас в теме
обычно к таким рекомендациям прислушиваются после экспериментов
77. Евгений Евгений (leasing) 1 07.10.14 10:49 Сейчас в теме
Пожелание автору.
Не делайте секрета и укажите в описании, что Ваш код закрыт (обработан обсфукатором).
Неприятно же обнаружить это тому, кто скачивал ради ознакомления с алгоритмом.


Оставьте свое сообщение