Camlex 3.2: рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ CAML рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░ рджреЗрдВ рдФрд░ рд▓реИрдВрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реЗрдВ

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдУрдкрди рд╕реЛрд░реНрд╕ Camlex.Net рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдЬрд╛рд░реА рдХреА рдЧрдИ рдереАред рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ 3.2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреИрдореНрд▓реЗрдХреНрд╕ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдпрджрд┐ рдЖрдк Sharepoint рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ CAML рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред CAML (рд╕рд╣рдпреЛрдЧреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛) рдПрдХ рд╡рд┐рд╢реЗрд╖ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП Sharepoint рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рдЙрдкрдпреЛрдЧ рд╢реАрдЯ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Sql рдЬреИрд╕реА рдХреНрд╡реЗрд░реАрдЬрд╝ рд▓рд┐рдЦрдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рд╕реЗ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реАрд░реНрд╖рдХ рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди "рдореАрдЯрд┐рдВрдЧ" рд╣реИ рдФрд░ рд╡рд┐рд╡рд░рдг "рд╢реЗрдпрд░ рдкреЙрдЗрдВрдЯ" рд╣реИ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
<Where> <And> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Meeting</Value> </Eq> <Eq> <FieldRef Name="Description" /> <Value Type="Text">Sharepoint</Value> </Eq> </And> </Where> 


рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЕрдзрд┐рдХ рд╢рд░реНрддреЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреВрд░реЗ Xml рдкреЗрдбрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ (CAML рдореЗрдВ, рдФрд░ рдФрд░ рддрддреНрд╡ рдХреЗрд╡рд▓ 2 рдСрдкрд░реЗрдВрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рдВрдХрд▓рди рдЪрд░рдг рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИред

Camlex рдХреЗ рд╕рд╛рде, рдЖрдк рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЛ C # рдореЗрдВ рд▓реИрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
 string query = Camlex.Query() .Where(x => (string)x["Title"] == "Meeting" && (string)x["Description"] == "Sharepoint").ToString(); 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрдореНрд▓реЗрдХреНрд╕ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣рдореАрд░ рдкрд░ рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛, рдЬрдм рд╣рдордиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг (рд╣рдо рдФрд░ рд╡реНрд▓рд╛рджрд┐рдореАрд░ рддрдорд╛рд╢рдХреЛрд╡ ) рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдерд╛: SharePoint рдореЗрдВ CAML рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЛрджрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ , рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рд▓реЗрдЦ рдкрд░ Camlex.Net рдХреЛ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: http://sadomovalex.blogspot.fi/search/label/Camlex.NET ред

рдЕрдм рд╕реАрдзреЗ рдкреЛрд╕реНрдЯ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ред рд▓рдЧрднрдЧ рдЫрд╣ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд╛рдлреА рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА: CAML рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЯреНрд░реА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛ http://camlex-online.org рд╢реБрд░реВ рдХреА, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ CAML рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ C # рдХреЛрдб рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдиреА рдХреИрдВрд▓реЗрдХреНрд╕ рдиреЗ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ред рдпрджрд┐ рд╡рд┐рд╡рд░рдг рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреЗрдбрд╝ рд╕реЗ C # рдХреЛрдб рдкреАрдврд╝реА рдПрдХ рдФрд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ ExpressionToCode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдереЛрдбрд╝рд╛ рд╕рд╛)ред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдореЗрдВ рдХрдИ рдЕрдиреБрд░реЛрдз рдорд┐рд▓реЗ: рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рдореМрдЬреВрджрд╛ рд╕реАрдПрдПрдордПрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рд░реНрддреЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдХрд╛рд░реНрдп рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╣реИ, рдЬреЛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 3.2 рдореЗрдВ, рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдЖрдк рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХреИрдореНрд▓реЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреИрдореНрд▓реЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рджреЗрдВред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рд╣реИрдВ:
 <Where> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Sharepoint</Value> </Eq> </Where> 

рд╡рд╣ рд╣рдореЗрдВ "рд╢реЗрдпрд░ рдкреЙрдЗрдВрдЯ" рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдЖрдЗрдЯрдо рд▓реМрдЯрд╛рдПрдЧрд╛ред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ "рдХрд╛рд░реНрдпрд╛рд▓рдп" рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдЖрдЗрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдореЗрдВ рдПрдХ рдФрд░ рд╢рд░реНрдд рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 string query = Camlex.Query().WhereAny(existingQuery, x => (string)x["Title"] == "Office").ToString(); 

рдпрд╛рдиреА рдмрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдиреБрд░реЛрдз рдФрд░ рдирдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓рдВрдмреЛрджрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
 <Where> <Or> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Sharepoint</Value> </Eq> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Office</Value> </Eq> </Or> </Where> 

рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд╡реЗрд░реА рдореЗрдВ рдХрдИ рд╢рд░реНрддреЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдЙрди рддрд░реАрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ IQuery рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 public interface IQuery { // ... IQuery WhereAll(string existingWhere, Expression<Func<SPListItem, bool>> expression); IQuery WhereAll(string existingWhere, IEnumerable<Expression<Func<SPListItem, bool>>> expressions); IQuery WhereAny(string existingWhere, Expression<Func<SPListItem, bool>> expression); IQuery WhereAny(string existingWhere, IEnumerable<Expression<Func<SPListItem, bool>>> expressions); IQuery OrderBy(string existingOrderBy, Expression<Func<SPListItem, object>> expr); IQuery OrderBy(string existingOrderBy, Expression<Func<SPListItem, object[]>> expr); IQuery OrderBy(string existingOrderBy, IEnumerable<Expression<Func<SPListItem, object>>> expressions); IQuery GroupBy(string existingGroupBy, Expression<Func<SPListItem, object>> expr); IQuery GroupBy(string existingGroupBy, Expression<Func<SPListItem, object[]>> expr); } 

рдпрд╛рдиреА рдЖрдк рди рдХреЗрд╡рд▓ рдХреНрд╡реЗрд░реА рдХреА рд╕реНрдерд┐рддрд┐ (рдХрд╣рд╛рдВ рдФрд░ рдХрд╣рд╛рдВ) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдСрд░реНрдбрд░рдмреА рдФрд░ рдЧреНрд░реБрдкрдмреА рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк ViewFields рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рднрд┐рдиреНрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╡реЗрд░реА рдмрдирд╛рддреЗ рд╕рдордп рд╕рдордЧреНрд░ рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд╡реЗрд░реА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╣рдореЗрдВ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рд╢рд░реНрддреЛрдВ рд╕реЗ рдКрдкрд░ рдорд┐рд▓реА: рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рднреА рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рд╕реНрдерд┐рддрд┐ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ:
 string existingQuery = "<Where>" + " <And>" + " <Eq>" + " <FieldRef Name=\"Title\" />" + " <Value Type=\"Text\">Sharepoint</Value>" + " </Eq>" + " <Eq>" + " <FieldRef Name=\"Title\" />" + " <Value Type=\"Text\">Office</Value>" + " </Eq>" + " </And>" + "</Where>"; var query = Camlex.Query().WhereAny(existingQuery, x => (int)x["Participants"] > 1 && x["Status"] != null).ToString(); 

рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
 <Where> <Or> <And> <Gt> <FieldRef Name="Participants" /> <Value Type="Integer">1</Value> </Gt> <IsNotNull> <FieldRef Name="Status" /> </IsNotNull> </And> <And> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Sharepoint</Value> </Eq> <Eq> <FieldRef Name="Title" /> <Value Type="Text">Office</Value> </Eq> </And> </Or> </Where> 

рдпрд╛рдиреА рдХреИрдореНрдкреНрд▓реЗрдХреНрд╕ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд▓реНрдХрд┐ рдЬрдЯрд┐рд▓ CAML рдЕрдиреБрд░реЛрдз рдХреЗ рдЧрдарди рдкрд░ рд╕рднреА рдХрд╛рдо рд▓реЗрддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХреИрдореНрд▓реЗрдХреНрд╕ рдПрдХ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рд╕рдореБрджрд╛рдп рдХреА рдЬрд░реВрд░рддреЛрдВ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдФрд░ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЪрд░реНрдЪрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдЦреЗрдВред рд╣рдо рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In146313/


All Articles