Цитата:
Сообщение от
Jab Straight
А вот как организовать 1) я не совсем представляю, что, просто найти нужные записи и удалять в цикле пока не вылезет исключение? Вроде метод Found не отражает удаление, хотя я могу и ошибаться?
Да это просто аналог такой конструкции
X++:
select salesLine where salesLine.SalesId == salesId;
while (salesLine)
{
salesLine.delete();
next salesLine;
}
В терминах коннекторов: через метод IAxapta::ExecuteStmt() получаем объект IAxaptaRecord(). Метод IAxaptaRecord::Found() определяет условие выхода из цикла, а переход к следующей записи выборки осуществляется через метод IAxaptaRecord::next().
Собственно в Help это все подробно описано. Вот несколько подправленный пример из Help
Example (Visual Basic)
PHP код:
Dim Axapta As Object
Dim MyRecord As Object
Set Axapta = CreateObject("AxaptaCOMConnector.Axapta")
Axapta.Logon
‘ create an Axapta record
Set MyRecord = Axapta.CreateRecord("MyTable")
‘ select a record
MyRecord.ExecuteStmt "select * from %1 where %1.Name == ‘MyName’"
While MyRecord.Found
MyRecord.Call("Delete")
‘ get the next record
MyRecord.Next
Wend