Вот более новый и универсальный пример одного из скриптов:
[spoiler]#include "..\Libs\Copy_Paste.cms"
#include "..\Libs\brawser.cms"
#name "Занесение атрибутов по одному"
//==============================================================================
// количество позиций
$all = 10
$part = 1
// 1 - тип
// 2 - материал
// 3 - напор
// 4 - производительность
$type = "циркуляционный" // скважинный
$mat = "нержавеющая сталь" // чугун, нержавеющая сталь, хромоникелевая сталь
STRSEPARATE("4:6:8:10:12:4:6:8:10:12", ":", $nap)
STRSEPARATE("6,2:7,7:8,6:9,3:9,9:7,8:9,3:10,2:10,5:9,9", ":", $pr)
//==============================================================================
WAITMS(500)
FOR($iter=0, $iter < $all)
next_tab()
WAITMS(1000)
HINTPOPUP(STRCONCAT("из ", $all), $iter + 1)
// формат строки напора
$s = $nap[$iter]
IF(STRLEN($s) < 2)
$napor = STRCONCAT(" ", $s, " м")
ELSE
$napor = STRCONCAT(" ", $s, " м")
END_IF
// формат производительности
$s = $pr[$iter]
IF(STRLEN($s) < 4)
$proizv = STRCONCAT(" ", $pr[$iter], " м3/час")
ELSE
$proizv = STRCONCAT($pr[$iter], " м3/час")
END_IF
LCLICK(400,324) // добавить атрибут
WAITMS(600)
LCLICK(406,394) // список атрибутов
WAITMS(800)
// мотаем вниз на $n страниц
IF(($part = 1) | ($part = 4))
$n = 3
ELSE
$n = 2
END_IF
FOR($i=0, $i < $n)
KEYPRESS(#PAGEDOWN)
WAITMS(300)
END_CYC
// выбор атрибута
SWITCH($part)
CASE(1)
LCLICK(456,497) // тип 3
CASE(2)
LCLICK(515,784) // материал 2
CASE(3)
LCLICK(515,784) // напор 2
CASE(4)
LCLICK(504,481) // производительность 3
END_SWITCH
// поле значение
WAITMS(500)
LCLICK(322,463)
WAITMS(500)
// вставляем значение
SWITCH($part)
CASE(1)
TOCLIP($type)
CASE(2)
TOCLIP($mat)
CASE(3)
TOCLIP($napor)
CASE(4)
TOCLIP($proizv)
END_SWITCH
WAITMS(80)
paste()
WAITMS(300)
// кнопка добавить
LCLICK(266,507)
WAITMS(1000)
END_CYC
HALT
[/spoiler]
По такому принципу делаются для разных типов. Очень помогает в занесении сотен позиций разделённых на десятки групп.