|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
Запрос Для Ftsearch27.02.2013, 01:56. Показов 66010. Ответов 87
Метки нет (Все метки)
Товарищи, возникла необходимость оптимизации работы агента, долго выполняется обновление,при анализе кода было выявлено что большая часть времени тратится на операции поиска
DocumentCollection dc = database.search( "Form =\"Person\" & met!=\"1\" & @IsUnavailable($Conflict) & TabNum= \"" + tabNum + "\""); DocumentCollection dc = database.search( "(Form =\"Department\" | Form =\"Subdivision\") & @IsUnavailable($Conflict) & met!=\"1\"& ID= \"" + depID + "\""); DocumentCollection dc = database.search ("(Form =\"Department\" | Form = \"Subdivision\" )& ID=\""+parentId+"\" & met!=\"1\""); Если верить интернетам метод FTSearch работает быстрее, но вот любой из этих запросов уже не работает если его вставить в FTSearch: DocumentCollection dc = database.FTSearch( "Form =\"Person\" & met!=\"1\" & @IsUnavailable($Conflict) & TabNum= \"" + tabNum + "\""); DocumentCollection dc = database.FTSearch( "(Form =\"Department\" | Form =\"Subdivision\") & @IsUnavailable($Conflict) & met!=\"1\"& ID= \"" + depID + "\""); DocumentCollection dc = database.FTSearch("(Form =\"Department\" | Form = \"Subdivision\" )& ID=\""+parentId+"\" & met!=\"1\""); эти варианты выдают ошибку типа error message: NotesException: Notes error: Query is not understandable ((Form ="Department" Form ="Subdivision") & @IsUnavailable($Conflict) & met!="1"& ID= "1000 Подскажите как правильно написать эти запросы для метода FTSearch или может какие нибудь еще варианты есть поиска ?
0
|
|
| 27.02.2013, 01:56 | |
|
Ответы с готовыми решениями:
87
запрос для Ftsearch: подскажите как выкрутиться & @isavailable($conflict) для Ftsearch Ftsearch |
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 28.02.2013, 17:29 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
||||||
| 28.02.2013, 17:47 | ||||||
|
а в этой формуле точно все правильно ?
@Trim(@If(Form="Department"| Form ="Subdivision"; ID; Form = "Person";tabNum;"")) Так надо что бы в конце пустые кавычки были
И если так надо можете пояснить почему так ?
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
|
||||||
| 28.02.2013, 18:46 | ||||||
|
Такова конструкция @-функции @If
Я бы @trim - убрал, коли это ИД то не должно там быть пробелов)
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 20.03.2013, 14:30 | |
|
А в Lotus Designer не показывает подсказки по Ctrl+пробел, как в Eclipse ?
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
| 20.03.2013, 14:51 | |
|
там, где используется editor эклипсовый - подсказывает. В формах/подформах и вьюхах, например, его нет.
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
||
| 20.03.2013, 17:01 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
| 20.03.2013, 18:28 | |
|
Попробуйте в Domino Designer выбрать Preferences: Domino Designer\Java Editor\Use Eclipse-based java editor
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 21.03.2013, 13:08 | |
|
У меня возник такой вопрос, сейчас в коде агента идет подключение к базе:
<!--shcode--><pre><code class=java>session = getSession(); loadProperties(); DbDirectory dir = session.getDbDirectory(properties.getPro perty("db_directory")); database = dir.openDatabase( properties.getProperty("db_adr") );[/CODE] Потом при поиске с помощью search мы указываем формы,в каких надо искать: <!--shcode--><pre><code class=java>DocumentCollection dc = database.search("(Form =\"Department\" | Form =\"Subdivision\") & @IsUnavailable($Conflict) & met!=\"1\"& ID= \"" + depID + "\"");[/CODE] А при поиске по view как указать по какой именно view надо искать ? Там ведь будет указываться только 1 параметр? значение по которому искать надо: DocumentCollection dc = view.GetAllDocumentbyKey(depID); Так ведь ?
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 27.03.2013, 14:30 | |
|
Товарищи, возникла проблема с предложенным ранее вариантом создания одной view для всех запросов поиска:
Создана view: View Selection = SELECT (Form="Department" | Form="Subdivision" | Form = "Person") & met != "1" & @IsUnavailable($Conflict) Column Value = @If(Form="Department":"Subdivision"; ID; Form = "Person"; tabNum;"") в коде делаю 2 запроса поиска: 1 - с помощью getAllDocumentsByKey: <!--shcode--><pre><code class=java>DocumentCollection dc = view.getAllDocumentsByKey(parentId); lotus.domino.Document doc = dc.getFirstDocument(); log("DocumentCollection doc in getDocIDByParentID1 = "+doc);[/CODE] В логе: <!--shcode--><pre><code class=java>DocumentCollection doc in getDocIDByParentID1 = null[/CODE] 2 - старым способом <!--shcode--><pre><code class=java>DocumentCollection dc = database.search ("(Form =\"Department\" | Form = \"Subdivision\" )& ID=\""+parentId+"\" & met!=\"1\""); lotus.domino.Document doc = dc.getFirstDocument(); log("DocumentCollection doc in getDocIDByParentID = "+doc);[/CODE] В логе: <!--shcode--><pre><code class=java>DocumentCollection doc in getDocIDByParentID = 2F58CF0254668107442579F50023EF5E[/CODE] В остальных методах поиска такая же ситуация, поиск по вьюхе возвращает null
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 27.03.2013, 15:29 | |
|
колонка точно отсортирована?
Вручную в этом виде можно по значению parentId найти документ? тип переменной parentId какой? Добавлено: и вот так еще можно попробовать: <!--shcode--><pre><code class=java>DocumentCollection dc = view.getAllDocumentsByKey(parentId.toStr ing());[/CODE]
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 27.03.2013, 16:00 | |
|
Да, скорее всего не была отсортирована:
Сделал 2 варианта: 1. поиск по одной общей вьюхе (отсортировал): 2. Сделал для каждого запроса поиска свою вьюху: 1 - SELECT Form = "Department" | Form = "Subdivision" & met!="1" & @IsUnavailable($Conflict), сортировка по ID 2 - SELECT Form="Department" | Form="Subdivision" & met!="1", сортировка по ID 3 - SELECT (Form = "Person") & @IsUnavailable($Conflict) & met!="1", сортировка по TabNum Тоже сделал каждую вьюху с такими параметрами: Ждем результатов обновления
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 04.04.2013, 16:21 | |
|
Товарищи, возникло несколько вопросов:
1. Пробовал создавать вьюхи с разными формулами отбора: SELECT Form = "Department" | Form = "Subdivision" & met!="1" & @IsUnavailable($Conflict) & ID="10000233" SELECT Form = "Department" | Form = "Subdivision" & met!="1" & ID="10000233" SELECT Form = "Department" | Form = "Subdivision" & ID="10000233" Находит всегда одно и тоже, в чем смысл met!="1" и @IsUnavailable($Conflict) ? 2. Делал поиск новым и старым способом, с getAllDocumentsByKey(parentId) и database.search ("(Form =\"Department\" | Form = \"Subdivision\" )& ID=\""+parentId+"\" & met!=\"1\""): Поиск шел одинаково,когда в базе был 1 документ с id по которому искали, но на одной записи произошли отличия, старый метод нашел 11 записей(и их на самом деле 11) и это было видно: SAP_log: 03.04.2013 17:45:19: parentId in getDocIDByParentID = 10000234 SAP_log: 03.04.2013 17:45:23: DocumentCollection doc in getDocIDByParentID = E58AE9846C4431D3442579FF00706581 SAP_log: 03.04.2013 17:45:23: dc.getCount()int = 11 а getAllDocumentsByKey(parentId) вернул null: SAP_log: 03.04.2013 14:23:48: parentId in getDocIDByParentID1 = 10000234 SAP_log: 03.04.2013 14:23:48: DocumentCollection doc in getDocIDByParentID1 = null SAP_log: 03.04.2013 14:23:48: dc.getCount()int = 0 Если делать во вьюхе SAPParentID отбор SELECT Form = "Department" | Form = "Subdivision" & ID="10000234", колонка ID сортирована находит все 11 записей: 3. В чем отличия getAllDocumentsByKey и getDocumentByKey и что вернет getDocumentByKey если найдет больше 1й записи в базе ? Может попробовать поиск с помощью getDocumentByKey , т.к. сейчас идет проверка на количество найденных записей в базе, и если их дольше 1 то кидается exeption
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 04.04.2013, 16:40 | ||
|
1. Значит у тебя всегда met!=1. @IsUnavailable($Conflict) - Защита от конфликтов, они могут быть, а может и не быть. Лучше чтобы была защита.
2. Вот это для меня мистика:
3. getAllDocumentsByKey вернет коллекцию записей, то есть все, которые найдены по ключу. getDocumentByKey вернет первую найденную запись по этому ключу. Добавлено: еще... первая колонка категоризована? а следующие две маленькие?
0
|
||
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|||
| 04.04.2013, 17:13 | |||
Код (C++): String parentIDValue = lotusDoc.getItemValueString("Parent_id") ; String parentDocIDValue = getDocIDByParentID1(parentIDValue); ... Код (C++): private String getDocIDByParentID1(String parentId) throws NotesException, IOException{ log("parentId in getDocIDByParentID1 = "+parentId); if (parentId == null || parentId.equals("") || parentId.equals("0")){ return null; } DocumentCollection dc = view2.getAllDocumentsByKey(parentId); lotus.domino.Document doc = dc.getFirstDocument(); log("DocumentCollection doc in getDocIDByParentID1 = "+doc);
0
|
|||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 04.04.2013, 17:48 | |
|
Нет, что-то тут не так с ключом поиска: parentId
Либо там пробел есть, а в документе нет, либо что-то еще не совпадает... сделал в своей базенке, аналогичную ситуацию, код: .SpoilerTarget">Спойлер: Раскрывающийся Текст <!--shcode--><pre><code class=java>import lotus.domino.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) Database db = agentContext.getCurrentDatabase(); View view = db.getView("DepartmentByDepID"); DocumentCollection dc = view.getAllDocumentsByKey("1111", true); // и пробовал еще DocumentCollection dc = view.getAllDocumentsByKey("1111"); Document doc = dc.getFirstDocument(); System.out.println(doc.getUniversalID()) ; System.out.println(dc.getCount()); } catch(Exception e) { e.printStackTrace(); } } }[/CODE] Вернул: 5665F236CE054ABB44257B4400499E0D 2 Так что смотрите ключ поиска. Я использую строку-константу для поиска. У вас это переменная String, по сути объект. может действительно стоит так сделать: <!--shcode--><pre><code class=java>DocumentCollection dc = view.getAllDocumentsByKey(parentId.toStr ing());[/CODE]
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 04.04.2013, 18:14 | |
|
Создал такой же тест, работаю в Lotus Designer когда нажимаю Run или Debug в консоли показывается
No arguments supplied Usage: java AgentRunner <agent> [<database> [<server>]]
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 04.04.2013, 18:35 | |
|
Target: None
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 04.04.2013, 18:52 | |
|
Установил Target = None
Тоже самое No arguments supplied Usage: java AgentRunner <agent> [<database> [<server>]]
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 04.04.2013, 18:54 | |
|
тогда сделайте кнопку в базе, в какой-нибудь форме.
@Command([ToolsRunMacro];<имя агента>) и смотрите результаты Java Debug consol клиента
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 38
|
|
| 06.04.2013, 04:26 | |
|
Во кусок лога, на котором всегда валится ошибка:
Хоть ты тресни непонятно почему она в этом месте валится. Сначала я думал изза того что находит больше одного документа, но потом удалили вообще запись, и все равно на ней валится ошибка SAP_log: 05.04.2013 21:24:13: START - CALL method findByDepID1 in parseContent SAP_log: 05.04.2013 21:24:13: findByDepID1 depID = 10000233 SAP_log: 05.04.2013 21:24:13: findByDepID1 return doc=04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:13: findByDepID1 doc=04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:13: docLotus1 = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:13: FINISH - COMPLETE method findByDepID1 in parseContent 16 msec(total time). SAP_log: 05.04.2013 21:24:13: *Before operation* For department [ID] = 10000233. [Parent_ID]: 10000232. [docIDValue]: 04CE48E05B8BACA2442579FF0070655F. [catDocIDValue]: EDCBC511A913B443442579FF0070653C SAP_log: 05.04.2013 21:24:13: CALL method getDocIDByParentID1 SAP_log: 05.04.2013 21:24:13: parentId in getDocIDByParentID1 = 10000232 SAP_log: 05.04.2013 21:24:13: DocumentCollection doc in getDocIDByParentID1 = EDCBC511A913B443442579FF0070653C SAP_log: 05.04.2013 21:24:13: dc.getCount()long = 1 dc.getCount()int = 1 SAP_log: 05.04.2013 21:24:13: docID1 in getDocIDByParentID1(dc.getCount() == 1) = EDCBC511A913B443442579FF0070653C SAP_log: 05.04.2013 21:24:13: parentDocIDValue1 = EDCBC511A913B443442579FF0070653C SAP_log: 05.04.2013 21:24:13: COMPLETE method getDocIDByParentID1 0 msec(total time). SAP_log: 05.04.2013 21:24:13: *After operation* For department [ID] = 10000233. [Parent_ID]: 10000232. [docIDValue]: 04CE48E05B8BACA2442579FF0070655F. [catDocIDValue]: EDCBC511A913B443442579FF0070653C SAP_log: 05.04.2013 21:24:13: CALL method findByTabNum1 SAP_log: 05.04.2013 21:24:13: findByTabNum1 tabNum = 00001722 SAP_log: 05.04.2013 21:24:13: findByTabNum1 doc = 59667F8F96AAC447C32572B900431F87 SAP_log: 05.04.2013 21:24:13: findByTabNum1 doc=59667F8F96AAC447C32572B900431F87 SAP_log: 05.04.2013 21:24:13: findByTabNum1 return doc1 = 59667F8F96AAC447C32572B900431F87 SAP_log: 05.04.2013 21:24:13: COMPLETE method findByTabNum1 47 msec(total time). SAP_log: 05.04.2013 21:24:13: parentId in getDocIDByParentID = 10000233 SAP_log: 05.04.2013 21:24:17: DocumentCollection doc in getDocIDByParentID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: dc.getCount()long = 1 dc.getCount()int = 1 SAP_log: 05.04.2013 21:24:17: docID in getDocIDByParentID(dc.getCount() == 1) = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: DocIDValue in bindingByCatDocID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: parentId in getDocIDByParentID1 = 10000233 SAP_log: 05.04.2013 21:24:17: DocumentCollection doc in getDocIDByParentID1 = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: dc.getCount()long = 1 dc.getCount()int = 1 SAP_log: 05.04.2013 21:24:17: docID1 in getDocIDByParentID1(dc.getCount() == 1) = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: DocIDValue1 in bindingByCatDocID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: *Before start*For employee [TabNum]: 00001722. [divIDValue]: 10000233. [catDocIDValue]: 04CE48E05B8BACA2442579FF0070655F[DocIDValue]: 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: *After start* For employee [TabNum]: 00001722. [divIDValue]: 10000233. [catDocIDValue]: 04CE48E05B8BACA2442579FF0070655F[DocIDValue]: 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:17: CALL method findByTabNum1 SAP_log: 05.04.2013 21:24:17: findByTabNum1 tabNum = 00005992 SAP_log: 05.04.2013 21:24:17: findByTabNum1 doc = 6D55C509175B7A7D44257AA90081F6B7 SAP_log: 05.04.2013 21:24:17: findByTabNum1 doc=6D55C509175B7A7D44257AA90081F6B7 SAP_log: 05.04.2013 21:24:17: findByTabNum1 return doc1 = 6D55C509175B7A7D44257AA90081F6B7 SAP_log: 05.04.2013 21:24:17: COMPLETE method findByTabNum1 46 msec(total time). SAP_log: 05.04.2013 21:24:17: parentId in getDocIDByParentID = 10000233 SAP_log: 05.04.2013 21:24:21: DocumentCollection doc in getDocIDByParentID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: dc.getCount()long = 1 dc.getCount()int = 1 SAP_log: 05.04.2013 21:24:21: docID in getDocIDByParentID(dc.getCount() == 1) = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: DocIDValue in bindingByCatDocID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: parentId in getDocIDByParentID1 = 10000233 SAP_log: 05.04.2013 21:24:21: DocumentCollection doc in getDocIDByParentID1 = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: dc.getCount()long = 1 dc.getCount()int = 1 SAP_log: 05.04.2013 21:24:21: docID1 in getDocIDByParentID1(dc.getCount() == 1) = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: DocIDValue1 in bindingByCatDocID = 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: *Before start*For employee [TabNum]: 00005992. [divIDValue]: 10000233. [catDocIDValue]: 04CE48E05B8BACA2442579FF0070655F[DocIDValue]: 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: *After start* For employee [TabNum]: 00005992. [divIDValue]: 10000233. [catDocIDValue]: 04CE48E05B8BACA2442579FF0070655F[DocIDValue]: 04CE48E05B8BACA2442579FF0070655F SAP_log: 05.04.2013 21:24:21: START - CALL method findByDepID1 in parseContent SAP_log: 05.04.2013 21:24:21: findByDepID1 depID = 10000234 SAP_log: 05.04.2013 21:24:21: Error process file D:\Lotus\ExportMail\SAPtoLotus_2013-04-05_2510.xml SAP_log: 05.04.2013 21:24:21: java.lang.NullPointerException at SAPToLotus.findByDepID1(Unknown Source) at SAPToLotus.parseContent(Unknown Source) at SAPToLotus.parseXMLFile(Unknown Source) at SAPToLotus.NotesMain(Unknown Source) at lotus.domino.AgentBase.runNotes(Unknown Sou SAP_log: 05.04.2013 21:24:21: java.lang.NullPointerException at SAPToLotus.findByDepID1(Unknown Source) at SAPToLotus.parseContent(Unknown Source) at SAPToLotus.parseXMLFile(Unknown Source) at SAPToLotus.NotesMain(Unknown Source) at lotus.domino.AgentBase.runNotes(Unknown Sou lotus.domino.NotesThread.run(Unknown Source)
0
|
|
| 06.04.2013, 04:26 | |
|
Ftsearch Ftsearch Ftsearch Ftsearch и ковычки Коллекция. Ftsearch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|