[QUOTE]
kirov43 написал:
в чем разница между методами GetNextElement, GetNext, Fetch ? в каких случаях нужно использовать либо то либо другое?
[/QUOTE]
[COLOR=#373737]GetNextElement просто обертка [URL=http://bxapi.ru/src/?module_id=iblock&name=CIBlockResult::GetNextElement]http://bxapi.ru/src/?module_id=iblock&name=CIBlockResult::GetNextElement[/URL] Если простыми словами - вернет и поля, и свойства (хотя само является объектом). Обратитесь к документации. Не рекомендуется юзать без четкого понимания.
[/COLOR]
GetNext - простая выборка, возвращает то, что попросили.
Fetch - то же самое, но возвращает данные в небезопасном виде (не применено htmlspecialchars). Рекомендуется использовать с пониманием что это действительно надо (когда случится, поймете).
[QUOTE]
kirov43 написал:
Также в каких случаях нужно хранить свойства в отдельной таблице?
[/QUOTE]
Когда нужно проставить ключи на определенные свойства, как-будто они являются отдельными колонками таблицы (а они и так ими будут являться).
[QUOTE]
kirov43 написал:
И как способ хранение свойств ИБ зависит от использование CIBlockElement::GetList? то есть на кол-во запросов?[/QUOTE]
ИБ+ дает бОльшее кол-во _мелких_ запросов (зависит от кол-ва запрашиваемых св-в), а обычный ИБ порождает более мощный запрос. И то и то верно применимо к выборке св-в.
[QUOTE]
kirov43 написал:
чем различие в результате массива ключей $arResult[NAME] от $arResult[~NAME] ?[/QUOTE]
См. выше. С тильдой - это НЕбезопасные данные. Грубо говоря, с тильдой - это результат от Fetch, а без тильды - GetNext. Грубо говоря.