1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
tax_rate.php
См. документацию.
1
<?php
2
3
require_once(
$_SERVER
[
"DOCUMENT_ROOT"
].
"/bitrix/modules/sale/general/tax_rate.php"
);
4
5
class
CSaleTaxRate
extends
CAllSaleTaxRate
6
{
7
public
static
function
Add
(
$arFields
,
$arOptions
=
array
())
8
{
9
global
$DB
;
10
if
(!
CSaleTaxRate::CheckFields
(
"ADD"
,
$arFields
))
11
return
false
;
12
13
$arInsert =
$DB
->PrepareInsert(
"b_sale_tax_rate"
,
$arFields
);
14
$strSql =
15
"INSERT INTO b_sale_tax_rate("
.$arInsert[0].
", TIMESTAMP_X) "
.
16
"VALUES("
.$arInsert[1].
", "
.
$DB
->GetNowFunction().
")"
;
17
$DB
->Query($strSql);
18
19
$ID
= intval(
$DB
->LastID());
20
21
if
(
is_set
(
$arFields
,
"TAX_LOCATION"
))
22
{
23
CSaleTaxRate::SetTaxRateLocation
(
$ID
,
$arFields
[
"TAX_LOCATION"
],
$arOptions
);
24
}
25
26
return
$ID
;
27
}
28
29
public
static
function
GetList
($arOrder =
array
(
"APPLY_ORDER"
=>
"ASC"
),
$arFilter
=
array
())
30
{
31
global
$DB
;
32
$arSqlSearch = Array();
33
$arSqlSearchFrom = Array();
34
35
if
(!is_array(
$arFilter
))
36
$filter_keys = Array();
37
else
38
$filter_keys = array_keys(
$arFilter
);
39
40
$countFilteKey =
count
($filter_keys);
41
for
(
$i
=0;
$i
< $countFilteKey;
$i
++)
42
{
43
$val
=
$DB
->ForSql(
$arFilter
[$filter_keys[
$i
]]);
44
45
if
(strval(
$val
) ==
""
)
46
$val
= 0;
47
48
$key
= $filter_keys[
$i
];
49
if
(
$key
[0]==
"!"
)
50
{
51
$key
= mb_substr(
$key
, 1);
52
$bInvert =
true
;
53
}
54
else
55
$bInvert =
false
;
56
57
switch
(mb_strtoupper(
$key
))
58
{
59
case
"ID"
:
60
$arSqlSearch[] =
"TR.ID "
.($bInvert?
"<>"
:
"="
).
" "
.intval(
$val
).
" "
;
61
break
;
62
case
"LID"
:
63
$arSqlSearch[] =
"T.LID "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
64
break
;
65
case
"CODE"
:
66
$arSqlSearch[] =
"T.CODE "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
67
break
;
68
case
"TAX_ID"
:
69
$arSqlSearch[] =
"TR.TAX_ID "
.($bInvert?
"<>"
:
"="
).
" "
.intval(
$val
).
" "
;
70
break
;
71
case
"PERSON_TYPE_ID"
:
72
$arSqlSearch[] =
" (TR.PERSON_TYPE_ID "
.($bInvert?
"<>"
:
"="
).
" "
.intval(
$val
).
" OR TR.PERSON_TYPE_ID = 0 OR TR.PERSON_TYPE_ID IS NULL) "
;
73
break
;
74
case
"CURRENCY"
:
75
$arSqlSearch[] =
"TR.CURRENCY "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
76
break
;
77
case
"IS_PERCENT"
:
78
$arSqlSearch[] =
"TR.IS_PERCENT "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
79
break
;
80
case
"IS_IN_PRICE"
:
81
$arSqlSearch[] =
"TR.IS_IN_PRICE "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
82
break
;
83
case
"ACTIVE"
:
84
$arSqlSearch[] =
"TR.ACTIVE "
.($bInvert?
"<>"
:
"="
).
" '"
.
$val
.
"' "
;
85
break
;
86
case
"APPLY_ORDER"
:
87
$arSqlSearch[] =
"TR.APPLY_ORDER "
.($bInvert?
"<>"
:
"="
).
" "
.intval(
$val
).
" "
;
88
break
;
89
case
"LOCATION"
:
90
91
if
(
CSaleLocation::isLocationProMigrated
())
92
{
93
try
94
{
95
$class = self::CONN_ENTITY_NAME.
'Table'
;
96
$arSqlSearch[] =
" TR.ID in ("
.$class::getConnectedEntitiesQuery(intval(
$val
),
'id'
,
array
(
'select'
=>
array
(
'ID'
))).
") "
;
97
}
98
catch
(Exception $e)
99
{
100
}
101
}
102
else
103
{
104
$arSqlSearch[] =
105
" TR.ID = TR2L.TAX_RATE_ID "
.
106
" AND (TR2L.LOCATION_CODE = "
.intval(
$val
).
" AND TR2L.LOCATION_TYPE = 'L' "
.
107
" OR L2LG.LOCATION_ID = "
.intval(
$val
).
" AND TR2L.LOCATION_TYPE = 'G') "
;
108
$arSqlSearchFrom[] =
109
", b_sale_tax2location TR2L "
.
110
" LEFT JOIN b_sale_location2location_group L2LG ON (TR2L.LOCATION_TYPE = 'G' AND TR2L.LOCATION_CODE = L2LG.LOCATION_GROUP_ID) "
;
111
}
112
113
break
;
114
case
"LOCATION_CODE"
:
115
try
116
{
117
$class = self::CONN_ENTITY_NAME.
'Table'
;
118
$arSqlSearch[] =
" TR.ID in ("
.$class::getConnectedEntitiesQuery(
$val
,
'code'
,
array
(
'select'
=>
array
(
'ID'
))).
") "
;
119
}
120
catch
(Exception $e)
121
{
122
}
123
break
;
124
}
125
}
126
127
$strSqlSearch =
""
;
128
$countSqlSearch =
count
($arSqlSearch);
129
for
(
$i
=0;
$i
< $countSqlSearch;
$i
++)
130
{
131
$strSqlSearch .=
" AND "
;
132
$strSqlSearch .=
" ("
.$arSqlSearch[
$i
].
") "
;
133
}
134
135
$strSqlSearchFrom =
""
;
136
$countSqlSearchForm =
count
($arSqlSearchFrom);
137
for
(
$i
=0;
$i
< $countSqlSearchForm;
$i
++)
138
{
139
$strSqlSearchFrom .=
" "
.$arSqlSearchFrom[
$i
].
" "
;
140
}
141
142
$strSql =
143
"SELECT DISTINCT TR.ID, TR.TAX_ID, TR.PERSON_TYPE_ID, TR.VALUE, TR.CURRENCY, "
.
144
" TR.IS_PERCENT, TR.IS_IN_PRICE, TR.APPLY_ORDER, "
.$DB->DateToCharFunction(
"TR.TIMESTAMP_X"
,
"FULL"
).
" as TIMESTAMP_X, "
.
145
" T.LID, T.NAME, T.DESCRIPTION, TR.ACTIVE, T.CODE "
.
146
"FROM b_sale_tax_rate TR, b_sale_tax T "
.
147
" "
.$strSqlSearchFrom.
" "
.
148
"WHERE TR.TAX_ID = T.ID "
.
149
" "
.$strSqlSearch.
" "
;
150
151
$arSqlOrder = Array();
152
foreach
($arOrder as $by=>
$order
)
153
{
154
$by = mb_strtoupper($by);
155
$order
= mb_strtoupper(
$order
);
156
if
(
$order
!=
"ASC"
)
157
$order
=
"DESC"
;
158
159
if
($by ==
"ID"
) $arSqlOrder[] =
" TR.ID "
.$order.
" "
;
160
elseif
($by ==
"LID"
) $arSqlOrder[] =
" T.LID "
.$order.
" "
;
161
elseif
($by ==
"CODE"
) $arSqlOrder[] =
" T.CODE "
.$order.
" "
;
162
elseif
($by ==
"TIMESTAMP_X"
) $arSqlOrder[] =
" TR.TIMESTAMP_X "
.$order.
" "
;
163
elseif
($by ==
"ACTIVE"
) $arSqlOrder[] =
" TR.ACTIVE "
.$order.
" "
;
164
elseif
($by ==
"NAME"
) $arSqlOrder[] =
" T.NAME "
.$order.
" "
;
165
elseif
($by ==
"PERSON_TYPE_ID"
) $arSqlOrder[] =
" TR.PERSON_TYPE_ID "
.$order.
" "
;
166
elseif
($by ==
"IS_IN_PRICE"
) $arSqlOrder[] =
" TR.IS_IN_PRICE "
.$order.
" "
;
167
else
168
{
169
$arSqlOrder[] =
" TR.APPLY_ORDER "
.$order.
" "
;
170
$by =
"APPLY_ORDER"
;
171
}
172
}
173
174
$strSqlOrder =
""
;
175
DelDuplicateSort
($arSqlOrder);
176
$countSqlOrder =
count
($arSqlOrder);
177
for
(
$i
=0;
$i
< $countSqlOrder;
$i
++)
178
{
179
if
(
$i
==0)
180
$strSqlOrder =
" ORDER BY "
;
181
else
182
$strSqlOrder .=
","
;
183
184
$strSqlOrder .= $arSqlOrder[
$i
];
185
}
186
187
$strSql .= $strSqlOrder;
188
//echo "<br>".htmlspecialcharsbx($strSql)."<br>";
189
190
$db_res
=
$DB
->Query($strSql);
191
return
$db_res
;
192
}
193
}
$db_res
$db_res
Определения
options_user_settings.php:8
CAllSaleLocation\isLocationProMigrated
static isLocationProMigrated()
Определения
location.php:58
CAllSaleTaxRate
Определения
tax_rate.php:9
CAllSaleTaxRate\CheckFields
static CheckFields($ACTION, &$arFields)
Определения
tax_rate.php:12
CAllSaleTaxRate\SetTaxRateLocation
static SetTaxRateLocation($ID, $arFields, $arOptions=array())
Определения
tax_rate.php:75
CSaleTaxRate
Определения
tax_rate.php:6
CSaleTaxRate\Add
static Add($arFields, $arOptions=array())
Определения
tax_rate.php:7
CSaleTaxRate\GetList
static GetList($arOrder=array("APPLY_ORDER"=>"ASC"), $arFilter=array())
Определения
tax_rate.php:29
$arFields
$arFields
Определения
dblapprove.php:5
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$ID
if($ajaxMode) $ID
Определения
get_user.php:27
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
$DB
global $DB
Определения
cron_frame.php:29
$arOptions
$arOptions
Определения
structure.php:223
DelDuplicateSort
DelDuplicateSort(&$arSort)
Определения
tools.php:2055
is_set
is_set($a, $k=false)
Определения
tools.php:2133
$order
$order
Определения
payment.php:8
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
$i
$i
Определения
factura.php:643
count
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения
waybill.php:936
$val
$val
Определения
options.php:1793
$arFilter
$arFilter
Определения
user_search.php:106
bitrix
modules
sale
mysql
tax_rate.php
Создано системой
1.14.0