Difference between revisions of "DB.Next"
(Created page with "{{infobox function |name=Next |object=Объект базы данных |caption=Выборка объектов |type=1 |status=2 |db=2 |exception=Выборка не н...") |
(No difference)
|
Revision as of 11:24, 23 September 2019
| 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;