Что нового

[Время, дата] Простое решение АИС

Статус
Закрыто для дальнейших ответов.

catswill

Новичок
Сообщения
7
Репутация
0
Завтра буду знакомиться с UDF библиотеками
Мне хотя бы примерные годные функции под мои задачи
Желание влиться в автоматизацию с помощью AutoIT огромное, однако не хватает времени чтоб все изучить должным образом
Ситуация в которой недельный срок обработки не поддается работе паре человеческих рук
Буду признателен любым ответам
Спасибо за внимание :beer:
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
К сожалению не знаю что такое АИС, но если есть выгрузка в Excel, то так понимаю - можно работать с Excel ? Если да, то желательно пример файла, и описание откуда брать даты и с чем сравнивать.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Автор
C

catswill

Новичок
Сообщения
7
Репутация
0
Версия AutoIt отображается в инфе профиля, не вижу смысла ее дублировать в сообщении
Стараюсь максимально кратко и доступно излагать, сорри за мой моментами непрофильный язык, готов исправиться.

0) Копируем из отдельного файла excel одну ячейку 1 столбца
вставляем по координатам данные с буфера ( прокликивание левой кнопкой мыши)

1) Делаем экспорт с по данным пункта "0",
предпологаю решается кликом по заданным координатам иконки в программе
( клик по координатам необходим для скрипта не в одинарном случае)
после клика нужно задать в поле имя файла экспорта нажать кнопку "Экспорт" и сохранить его пусть даже в рандом папку
2) таблица эксель выглядит обыденно: заголовки столбцов и значения по строкам
ищем колонку $sum в строке которой,в колонке ячейка <=1
3) Далее идет экспорт другой вкладки ( переключение на нее по координатам + экспорт с помощью кликов по координатам
Идет поиск колонки $mj в строке которой по колонке $no="X число (константа)"

4)Далее с этих строки ищем колонку $dt в которой ячейка должна быть больше-равна даты $x1 но меньше даты $x2

при выполнении этого условия переходим в первичный файл excel (из пункта 0) и окрашиваем ячейку в зеленый цвет


Дополнительно:
если совпадений по условию с пункта "4" не найдено , то переходим в другую вкладку АИС по координатам, вставляем туда данные с колонки $nn (во всем столбце одинаковы) с экспорта excel из пункта "1 -2"

далее клик по координатам, открывается база ( несколько строк без скрола) в которой нужно открыть строки по критерию $trn ( тут реализация либо по определению стандартизированного текста OCR и т.п ) либо
возможна выгрузка в excel по координатам с дачей имя файлу.
где находим колонку $vdn в которой ячейка =$trn
и по номеру строки нужно прокликать эту же строку в АИС (их может быть несколько (2-3) и нужно с каждой поочередности провести обработку)
внутри опять выгрузка в эксель по коор и нужна обработка по следующим критериям:
в столбце $imny ищем $nach и $up у которых столбец $dataa с разницой не больше месяца ($up1m)

при нахождении такого условия выгружаем данные ячейки с пункта "0" в отдельный файл эксель ( можно окрасить его в красный в пункте 0)

Буду очень признателен тем кто поможет хоть какими то функциями спасающими мою ситуевину
за мной не заржавеет :beer:
 
A

Alofa

Гость
catswill сказал(а):
... Стараюсь максимально кратко и доступно излагать...
Кратко - Да, доступно - Нет.
Что за названия переменных, откуда их брать, где пример Excel.xlsx, что за "АИС"?
Такое ощущение, что свою проблемы вы описывали для себя и только для себя, просматривая свой скрипт.


Добавлено:
Сообщение автоматически объединено:

catswill сказал(а):
... Буду очень признателен тем кто поможет хоть какими то функциями...
Вот функции и Тут тоже.
 
Автор
C

catswill

Новичок
Сообщения
7
Репутация
0
Alofa сказал(а):
catswill сказал(а):
... Стараюсь максимально кратко и доступно излагать...
Кратко - Да, доступно - Нет.
Что за названия переменных, откуда их брать, где пример Excel.xlsx, что за "АИС"?
Такое ощущение, что свою пАИСроблемы вы описывали для себя и только для себя, просматривая свой скрипт.


Добавлено:
Сообщение автоматически объединено:

catswill сказал(а):
... Буду очень признателен тем кто поможет хоть какими то функциями...
тоже.



Названия переменных это в основном заголовки окон в текстовом формате
Excel выглядит обыденно: первая строка = столбцы с названиями
последующие строки - ячейки со значениями ( как цифры так и текст)





Добавлено:
Сообщение автоматически объединено:

нужны следующие основные функции\команды\операторы :IL_AutoIt_1:

4) сравнение даты ( например, принадлежит ли 10.01.2013 диапазону дат с 01.01.2014 по 01.11.2015)
5) Операторы условия if $Саша=$женат=$Чапаев и "\="(не равно) $ребенокОля , то в этой строке проверяем условие с датами прим.: and if 01.01.2014<10.01.2013<01.11.2015
если все условия проходят выполняем "такой код", если нет - "другой кот"


Еще стоит вопрос как давать постоянно разные имя файлам экспорта желательно типа file1,file2,file3 и т.д
 
Автор
C

catswill

Новичок
Сообщения
7
Репутация
0
Re: [Время, дата] Простое решение

ra4o сказал(а):
К сожалению не знаю что такое , но если есть выгрузка в Excel, то так понимаю - можно работать с Excel ? Если да, то желательно пример файла, и описание откуда брать даты и с чем сравнивать.


В файле-примере Excel стоит задача проверить наличие строки совпадающей с условием:

пол=муж
наличие детей=1
дата рождения>01.10.1933
дата смерти<01.01.2015

Так же стоит вопрос как давать постоянно разные имя файлам экспорта желательно типа file1,file2,file3 и т.д

Вот набросок кода в котором я хочу это реализовать
Код:
#include <StringConstants.au3>
HotKeySet("{SPACE}",close)
HotKeySet("{F12}",close); 

Sleep(4000) ; //time out

Local $rept = ;nujno zadat zhanchenie pri starte programy "kol-vo povtorenii"
While $rept = 200
 Sleep(1500)
 
MouseClick("left",679, 392,2);//focus main window excel #1window
Sleep(200)
Send("{DOWN}") ; next yacheika excel
Sleep(4000)
ClipPut("0") ;clear buf
Sleep(50)
Send("{CTRLDOWN}c{CTRLUP}") ;ctrl+c
Send("{CTRLDOWN}c{CTRLUP}") ;?if need double ctrl+c
$string=ClipGet() ;get buffer
$arnum=$string ; ima
Sleep(3000)

;// find
;//vstavka ima 
MouseClick("left",649, 619,3) 	;// filter
MouseClick("left",649, 619,3) 	;// ima pole
MouseClick("right",649, 619,3)  ;// ima pole
Send("{CTRLDOWN}v{CTRLUP}")		;// ctrl+v
MouseClick("left",649, 619,3)  ;// search

;//export?  and save it
MouseClick("right",649, 619,3) ;// export icon
;Global $exportName=$n+1 
;Send("$exportName")		;// exporn file name
MouseClick("right",649, 619,3) ;// export button

;`ne ponyal kak vospolzovatsa ;;;$asResult = StringRegExp($string, '\d{1,4}',1) ;   \d{1,4} - 
;If UBound($asResult) <>0 Then ;if find go massive

;For $i=0 To  UBound($ign)-1 step +1 ;find massive
;If $asResult[0]=$ign[$i] Then   $resultstring = 1 ;sravnenie privsaivanie peremennoi
;Next

;For $i=0 To  UBound($dem)-1 step +1             
;If $asResult[0]=$dem[$i] Then  $resultstring = 2
;Next
;EndIf

If $resultstring=0 Then ; if not find
MouseClick("left",272,954) ;coloose
Sleep(300)

Else
MouseClick("left",649, 619,3) 	;// videlenie 4 copy 
MouseClick("right",649, 619,3) ;// copy v buffer stolb
MouseClick("left",649, 619,3) ;// copy v buffer
$target=ClipGet()

MouseClick("left",677,501) ;4 exporn excel
Sleep(100)

;\\ export

If StringLen($target) >4 Then ; free buffer
;// nado TYT export u

;//  BbiIIoJIHEHuE ycJIoBu9i
;//  pol=muj  ; detei=1  ;  dateB>01.10.1933   ; dateD<01.01.2015


   
Else ;if buffer empty `pustoi
ToolTip("NOT FIND")
Sleep(1000)
EndIf
EndIf
$resultstring=0 ;search off

WEnd

Func close()
   Exit   ; exit script
   EndFunc


;) скриптик нуждается чутка в доработке, у меня есть пару дней его доделать
уделите пару минуточек внимания, не оставайтесь равнодушными :beer:
 

Вложения

  • Книжка.rar
    7.1 КБ · Просмотры: 2

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
catswill
Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.





catswill [?]
Желание влиться в автоматизацию с помощью AutoIT огромное
Видимо, не такое оно уж огромное.

[?]
Ну, тогда я не вижу смысла продолжать эту тему.
 
Статус
Закрыто для дальнейших ответов.
Верх