Difference between revisions of "DB.Next"
(Created page with "{{infobox function |name=Next |object=Объект базы данных |caption=Выборка объектов |type=1 |status=2 |db=2 |exception=Выборка не н...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:43, 7 February 2021
Next (Выборка объектов) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает следующий (или первый после вызова Select) объект в выборке. Функция используется совместно с функциями Select или SelectEx. При загрузке нового объекта, предыдущий удаляется, все изменения для него будут утеряны, новые значения реквизитов будут загружены в текущий объект (если это подразумевает режим загрузки) и объект будет перепозиционирован.
Синтаксис
DB.Next():<Следующий элемент найден и загружен (INT)>
Возвращаемое значение
Возвращается 1, если новый элемент получен (и загружен), иначе возвращает 0.
Примеры
//Пример производит выборку по подчиненному справочнику ЛицензииКонтрагентов, чтобы найти самую свежую лицензию из диапазона дат НачДата..КонДата. аДата:=0; аЭл:=Ref.ЛицензииКонтрагентов; //Выбрать не удаленные элементы подчиненные элементу зК аЭл.Select("@Parent,@Status",зК,0); аРез:=0; While аЭл.Next() Do If (аЭл.ТипЛицензии<>Enum.ТипыЛицензий.АлкогольнаяРозничная)And(аЭл.ТипЛицензии<>Enum.ТипыЛицензий.АлкогольнаяОптовая) Then Continue; EndIf; If (аЭл.ДатаВыдачиЛицензии<=КонДата)And(аЭл.ДатаНачалаДействияЛицензии<=КонДата)And(аЭл.ДатаОкончанияДействияЛицензии>=НачДата) Then If _Or(аДата=0,аДата<аЭл.ДатаОкончанияДействияЛицензии) Then аДата:=аЭл.ДатаОкончанияДействияЛицензии; //ВАЖНО: результат должен быть копией текущего объекта аЭл, // так как иначе он будет изменен в момент, когда текущий объект аЭл будет загружен заново при выполнении аЭл.Next() аРез:=аЭл.Copy(); EndIf; EndIf; EndDo;