3namespace Bitrix\Catalog\Grid\Column;
6use Bitrix\Main\Localization\Loc;
9use Bitrix\Catalog\Access;
10use Bitrix\Catalog\VatTable;
11use Bitrix\Main\Grid\Column\Editable\ListConfig;
12use Bitrix\Main\Grid\Column\Editable\MoneyConfig;
25 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TYPE'),
26 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_TYPE'),
40 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_AVAILABLE'),
41 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_AVAILABLE_MSGVER_1'),
45 'sort' =>
'AVAILABLE',
53 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT'),
54 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_PRODUCT'),
68 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT'),
69 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_PRODUCT'),
83 return $this->createColumns(
$result);
88 if (!Loader::includeModule(
'crm'))
100 if (!empty($allowedStores))
115 if (!Loader::includeModule(
'crm'))
129 is_array($allowedStores)
130 && in_array(
Access\
Permission\PermissionDictionary::VALUE_VARIATION_ALL, $allowedStores,
true)
147 if (static::allowedShowQuantityColumns())
151 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT_QUANTITY'),
152 'necessary' =>
false,
153 'editable' => $allowProductEdit && !$useInventoryManagment,
155 'sort' => $useSkuSelector || static::needSummaryStoreAmountByPermissions() ? null :
'QUANTITY',
159 $result[
'QUANTITY_RESERVED'] = [
161 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT_QUANTITY_RESERVED_MSGVER_1'),
162 'necessary' =>
false,
163 'editable' => $allowProductEdit && !$useInventoryManagment,
172 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_MEASURE'),
173 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_MEASURE'),
174 'necessary' =>
false,
175 'editable' => $allowProductEdit ? $this->getMeasureEditable() :
false,
177 'sort' => $useSkuSelector ? null :
'MEASURE',
183 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_QUANTITY_TRACE_MSGVER_1'),
184 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_QUANTITY_TRACE_MSGVER_1'),
185 'necessary' =>
false,
186 'editable' => $allowProductEdit,
194 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_CAN_BUY_ZERO_MSGVER_1'),
195 'title' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_CAN_BUY_ZERO'),
196 'necessary' =>
false,
197 'editable' => $allowProductEdit,
215 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_WEIGHT_MSGVER_1'),
216 'necessary' =>
false,
217 'editable' => $allowProductEdit,
219 'sort' => $useSkuSelector ? null :
'WEIGHT',
225 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_WIDTH_MSGVER_1'),
226 'necessary' =>
false,
227 'editable' => $allowProductEdit,
229 'sort' => $useSkuSelector ? null :
'WIDTH',
235 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_LENGTH_MSGVER_1'),
236 'necessary' =>
false,
237 'editable' => $allowProductEdit,
239 'sort' => $useSkuSelector ? null :
'LENGTH',
245 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_HEIGHT_MSGVER_1'),
246 'necessary' =>
false,
247 'editable' => $allowProductEdit,
249 'sort' => $useSkuSelector ? null :
'HEIGHT',
264 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_VAT_INCLUDED'),
265 'necessary' =>
false,
266 'editable' => $allowProductEdit,
274 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_VAT_ID'),
275 'necessary' =>
false,
276 'editable' => $allowProductEdit ? $this->getVatEditable() :
false,
294 $result[
'PURCHASING_PRICE'] = [
296 'name' => Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_PURCHASING_PRICE_MSGVER_1'),
297 'necessary' =>
false,
302 'PURCHASING_CURRENCY',
304 'sort' =>
'PURCHASING_PRICE',
315 $rows = CCatalogMeasure::getList();
316 while ($row =
$rows->Fetch())
318 $items[$row[
'ID']] = $row[
'MEASURE_TITLE'];
321 return new ListConfig(
'MEASURE',
$items);
324 private function getVatEditable():
Grid\Column\Editable\ListConfig
342 if (
$rows->getSelectedRowsCount() > 0)
344 $items[
'0'] = Loc::getMessage(
'PRODUCT_COLUMN_PROVIDER_FIELD_VAT_EDITABLE_ITEMS_NOT_SELECTED');
347 foreach (
$rows as $row)
350 $items[$id] = $row[
'NAME'];
353 return new ListConfig(
'VAT_ID',
$items);
const ACTION_PRODUCT_PURCHASE_INFO_VIEW
static isUsedInventoryManagement()
getPhysicalColumsDescription()
static needSummaryStoreAmountByPermissions()
getPurchasingPriceColumnDescription()
getVatColumnsDescription()
static allowedShowQuantityColumns()
getQuantityColumnsDescription()
static getList(array $parameters=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)