1. Книга Excel
Необходимо подготовить книгу Excel с шестью листами, данные в которых должны точно соответствовать описанию. Имя книги и наименования листов должны быть постоянными, неизменяемыми:
hcislink. xls (наименование книги);
hcatalog (наименование листа);
hclients (наименование листа);
hsalrepr (наименование листа);
hwhouse (наименование листа);
hsales (наименование листа);
hrest (наименование листа).
Порядок и названия полей – строго как указано в техзадании.
Обратите внимание!
В случае, если из базы данных в качестве кода выгружаются строковые типы данных - регистр не имеет значения: строчные и заглавные символы будут приниматься как равнозначные.
Товарная номенклатура (hcatalog)
Файл содержит информацию о товарах компании Hill’s Pet Nutrition Russia. Выгружать следует все позиции, которые хранятся в учётной системе (в том числе и устаревшие записи).
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | code | Строковое, не пустое | Код товара |
2. | art | Строковое | Артикул товара |
3. | barcode | Строковое | Штриховой код товара |
4. | name | Строковое, не пустое | Полное наименование товара |
5. | pack | Строковое | Количество штук в упаковке |
6. | promo | Строковое | Код или наименование акции |
7. | manfid | Числовое, не пустое | 9696 |
1. code (код товара). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать товар. Выгружать в это поле артикулы производителя можно только в том случае, если они используются в качестве внутренних кодов. Поле не может быть пустым. В пределах файла один код не должен встречаться несколько раз.
2. art (артикул товара). Идентификационный код товара, присвоенный производителем. Если артикулы не хранятся в системе, поле можно оставлять пустым.
3. barcode (штриховой код товара). Если штриховые коды товара не хранятся в системе, то поле можно оставлять пустым.
4. name (наименование товара). Полное, не сокращённое наименование товара, хранящееся в системе дистрибьютора. Поле не может быть пустым.
5. pack (количество минимальных единиц в упаковке). Если подобная информация не хранится в учётной системе дистрибьютора, поле можно оставить пустым.
6. promo (код или наименование акции). В поле выгружается название или код акции, по которой приобретён товар. Поле заполняется только для акционного товара.
7. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание!
Поле code является первичным ключом, по нему группируются все остальные поля. Если на одном коде хранится несколько различных товаров, необходимо внести изменения в кодировку товаров для достижения уникальности.
Если артикулы товаров не хранятся в системе учёта, то это никак не помешает проверке данных – высылайте файлы на проверку с пустующим полем art. Сами коды можно будет внести в процессе работы над файлами или в ближайшее время после завершения подключения к системе сбора данных.
Список клиентов и поставщиков дистрибьютора (hclients)
Файл содержит информацию обо всех клиентах (также могут называться агентами или контрагентами), которые когда-либо приобретали у дистрибьютора продукцию компании Hill’s Pet Nutrition Russia, и обо всех поставщиках, у которых когда-либо дистрибьютором закупался товар компании Hill’s Pet Nutrition Russia. Если выгружать настолько подробный список не получится, файл как минимум должен содержать информацию обо всех клиентах и поставщиках, с которыми происходил товарооборот в отчётный период (45 календарных дней).
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | clientcode | Строковое, не пустое | Код клиента или поставщика |
2. | clientname | Строковое, не пустое | Наименование клиента или поставщика |
3. | address_ur | Строковое | Юридический адрес клиента или поставщика |
4. | address | Строковое | Фактический адрес клиента или поставщика |
5. | inn | Строковое | ИНН клиента или поставщика |
6. | kpp | Строковое | КПП клиента или поставщика |
7. | spocode | Строковое | Код торговой точки (для клиентов) |
8. | sponame | Строковое | Наименование торговой точки (для клиентов) |
9. | spoaddress | Строковое | Фактический адрес торговой точки (для клиентов) |
10. | mccode | Строковое | Код канала рынка (для клиентов) |
11. | mcname | Строковое | Наименование канала рынка (для клиентов) |
12. | manfid | Числовое, не пустое | 9696 |
1. clientcode (код клиента или поставщика). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать клиента или поставщика. В случаях, когда торговые точки хранятся как отдельные клиенты, выгружать сюда коды торговых точек, а поле spocode оставлять пустым. Поле не может быть пустым. В пределах файла сочетание кода клиента и кода торговой точки не должно встречаться несколько раз.
2. clientname (наименование клиента или поставщика). Полное, не сокращённое наименование клиента или поставщика, хранящееся в системе дистрибьютора. Поле не может быть пустым. В случаях, когда торговые точки хранятся как отдельные клиенты, выгружать сюда наименование торговой точки.
3. address_ur (юридический адрес клиента или поставщика). Полный юридический адрес клиента или поставщика в формате КЛАДР. Если КЛАДР не поддерживается, следует выгружать в том формате, в каком данные хранятся в системе дистрибьютора.
4. address (фактический адрес клиента или поставщика). Полный фактический адрес клиента в формате КЛАДР. Если КЛАДР не поддерживается, следует выгружать в том формате, в каком данные хранятся в системе дистрибьютора. В случаях, когда торговые точки хранятся как отдельные клиенты, выгружать сюда адрес торговой точки.
5. inn (ИНН клиента или поставщика). Идентификационный номер налогоплательщика. Если подобная информация не хранится, поле может оставаться пустым.
6. kpp (КПП клиента или поставщика). Код причины постановки на учёт. Если подобная информация не хранится, поле может оставаться пустым.
7. spocode (код торговой точки, для клиентов). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать торговую точку. В случаях, когда торговые точки хранятся как отдельные клиенты, поле оставлять пустым. В пределах файла сочетание кода клиента и кода торговой точки не должно встречаться несколько раз.
8. sponame (наименование торговой точки, для клиентов). Полное, не сокращённое наименование торговой точки клиента, хранящееся в системе дистрибьютора. В случаях, когда торговые точки хранятся как отдельные клиенты, поле следует оставлять пустым.
9. spoaddress (фактический адрес торговой точки). Полный фактический адрес торговой точки в формате КЛАДР. Если КЛАДР не поддерживается, следует выгружать в том формате, в каком данные хранятся в системе дистрибьютора. В случаях, когда торговые точки хранятся как отдельные клиенты, поле оставлять пустым.
10. mccode (код канала рынка, для клиентов). Внутренний учётный код канала рынка, которому соответствует торговая точка. Если клиенты не классифицируются по каналам рынка, поле можно оставлять пустым.
11. mcname (наименование канала рынка, для клиентов). Полное, не сокращённое наименование канала рынка, которому соответствует торговая точка. Если клиенты не классифицируются по каналам рынка, поле можно оставлять пустым.
12. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание!
Поля clientcode и spocode не должны содержать символов разделения на разряды (т. н. триады; номер символа 160). Если в кодах есть эти символы, от них необходимо избавиться.
Поля clientcode и clientname связаны между собой: строки с одним и тем же clientcode должно содержать один и тот же clientname.
Если продажи товара детализируются по торговым точкам, а возвраты товаров можно выгружать только с клиентской детализацией, следует в файл hclients кроме списка торговых точек добавить список клиентов, где торговые точки будут пустые.
Если в системе учёта допустимо хранение документов реализации и документов возвратов без указания действительного клиента, то в файл hclients кроме действительных клиентов необходимо выгрузить фиктивную строку, где все обязательные поля должны быть заполнены строковым значением «Клиент не определён» (без кавычек), а значение поля manfid – 9696. Остальные поля оставляйте пустыми.
Список торговых представителей (hsalrepr)
Файл содержит информацию о торговых представителях (также могу называться продавцами, менеджерами по работе с клиентами).
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | tpcode | Строковое, не пустое | Код торгового представителя |
2. | tpname | Строковое, не пустое | ФИО торгового представителя |
3. | tptypeid | Числовое, не пустое | Тип торгового представителя |
4. | manfid | Числовое, не пустое | 9696 |
1. tpcode (код торгового представителя). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать торгового представителя. Поле не может быть пустым. В пределах файла код не должен встречаться несколько раз.
2. tpname (ФИО торгового представителя). Фамилия, имя и отчество торгового представителя. Если информация хранится в сокращённом варианте, то выгружать следует так, как хранится в системе. Поле не может быть пустым.
3. tptypeid (тип торгового представителя). Если торговый представитель занимается исключительно продукцией компании Hill’s Pet Nutrition Russia, то значение поля – 1. Если торговый представитель занимается не только группой товаров компании Hill’s Pet Nutrition Russia, то значение поля – 2. Поле не должно быть пустым и не должно содержать других значений.
4. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание!
Если в системе учёта допустимо хранение документов реализации и документов возвратов без указания действительного торгового представителя, то в файле hsalrepr кроме действительных торговых представителей необходимо выгрузить фиктивную строку. Где код торгового представителя равен строковому значению «ТП не определён» (без кавычек), наименование торгового представителя - «ТП не определён» (без кавычек), тип торгового представителя – 2, значение поля manfid – 9696.
Список филиалов (hwhouse)
Файл содержит список территориально разделённых филиалов, их наименования и адреса.
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | whcode | Строковое, не пустое | Код филиала |
2. | whname | Строковое, не пустое | Наименование филиала |
3. | whaddress | Числовое | Адрес филиала |
4. | manfid | Числовое, не пустое | 9696 |
1. whcode (код филиала). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать филиал. Поле не может быть пустым. В пределах файла код не должен встречаться несколько раз.
2. whname (наименование филиала). Полное, не сокращённое наименование филиала, хранящееся в системе дистрибьютора. Поле не может быть пустым.
3. whaddress (адрес филиала). Полный адрес филиала в формате КЛАДР. Если КЛАДР не поддерживается, следует выгружать в том формате, в каком данные хранятся в системе дистрибьютора.
4. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание!
Файл предназначен не для внутренних или виртуальных складов, только для территориально разделённых филиалов.
Файл детализации движения товара (hsales)
Файл содержит информацию о продажах клиентам, возвратах от клиентов, заказах и приходах от поставщика с детализацией по документам, клиентам, торговым представителям и партиям.
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | whcode | Строковое, не пустое | Код филиала |
2. | code | Строковое, не пустое | Код товара |
3. | oper_type | Числовое, не пустое | Тип операции с товаром |
4. | doc_number | Строковое, не пустое | Номер документа |
5. | doc_parent | Строковое | Номер документа-основания |
6. | doc_date | Числовое, не пустое | Дата актуальности документа |
7. | deliv_date | Числовое | Дата доставки товара |
8. | clientcode | Строковое, не пустое | Код клиента |
9. | spocode | Строковое | Код торговой точки |
10. | tpcode | Строковое, не пустое | Код торгового представителя |
11. | order_stat | Числовое, не пустое | Статус (для заказов) |
12. | ru | Числовое, не пустое | Тип хранения товара |
13. | quantity | Числовое, целое, не пустое | Количество |
14. | amount | Числовое, не пустое (12,2) | Отгрузочная стоимость товара |
15. | discount | Числовое, не пустое (12,2) | Сумма скидки |
16. | vat | Числовое, не пустое (12,2) | Сумма НДС |
17. | manfid | Числовое, не пустое | 9696 |
1. whcode (код филиала). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать филиал. Поле не может быть пустым. Все указанные в этом файле коды филиалов должны присутствовать в файле hwhouse.
2. code (код товара). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать товар. Выгружать в это поле следует ту же систему кодов, которая используется в файле hcatalog. Поле не может быть пустым. Все указанные в этом файле коды товаров должны присутствовать в файле hcatalog.
3. oper_type (тип операции с товаром). Выгружается код, описывающий операцию в текущей строке: 0 – для продаж клиентам, 1 – для возвратов от клиентов, 2 – для приходов от поставщиков, 3 – для заказов товаров клиентами, 4 – перемещения в филиалы, 5 – перемещения из филиалов. Поле не должно быть пустым и не должно содержать других значений.
4. doc_number (номер документа). Уникальный идентификационный номер документов прихода, возврата, заказа или продажи. Поле не должно быть пустым. Если уникальность номеров соблюдается только в пределах ограниченного периода (дня, месяца, года), то к номеру документа следует выгружать значение его даты актуальности через нижнее подчёркивание.
5. doc_parent (номер документа-основания). Уникальный идентификационный номер документов, на основании которых проведена операция текущей строки (например, номер документа заказа для строки реализации). Если подобная информация не хранится в системе дистрибьютора, поле можно оставлять пустым.
6. doc_date (дата актуальности документа). Даты приходных, продажных, возвратных документов и документов заказов. Формат даты строгий: ГГГГММДД, где ГГГГ – год, ММ – месяц, ДД – день. Поле не должно быть пустым.
7. deliv_date (дата доставки товара). Дата доставки товара клиенту (для oper_type 0 и 1) и от производителя (для oper_type 2). Формат даты строгий: ГГГГММДД, где ГГГГ – год, ММ – месяц, ДД – день. Если подобная информация не хранится в учётной системе, поле можно не заполнять. Выгрузка недостоверных дат в поле не допускается. Для заказов (oper_type 3) поле оставляйте пустым.
8. clientcode (код клиента). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать клиента или поставщика. Все указанные в этом файле сочетания полей clientcode и spocode должны присутствовать в файле hclients. Если в системе учёта допустимо хранение документов реализации, документов возвратов и документов приходов без указания действительного клиента, то в это поле необходимо выгрузить фиктивное значение «Клиент не определён» (без кавычек). Выгружать в это поле следует ту же систему кодов, которая используется в файле hclients.
9. spocode (код торговой точки). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать торговую точку. Все указанные в этом файле сочетания полей clientcode и spocode должны присутствовать в файле hclients. Выгружать в это поле следует ту же систему кодов, которая используется в файле hclients. 10. tpcode (код торгового представителя). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать торгового представителя. Все указанные в этом файле коды торговых представителей должны присутствовать в файле hsalrepr. Если в системе учёта допустимо хранение документов реализации и документов возвратов без указания действительного торгового представителя, то в это поле необходимо выгрузить фиктивное значение «ТП не определён» (без кавычек).
11. order_stat (статус, для заказов). Статус исполнения заказа. Для строк, где oper_type равен 0, 1 или 2, следует выгружать 0. Для строк, где oper_type равен 3, следует выгружать 0 для случаев, если заказ ещё не исполнен, и 1 для случаев, когда заказ исполнен.
12. ru (тип хранения товара). Код, указывающий на тип хранения товара. Поле по умолчанию заполняется значением 0. Поле не должно быть пустым.
13. quantity (количество). Количество товара в рамках указанной детализации, в минимальных (базовых) единицах хранения. Значения должны быть целыми, положительными числами. Поле не может быть пустым.
14. amount (отгрузочная стоимость товара). Стоимость товара (цена * количество) по фактической цене реализации товара клиенту в национальной валюте, c НДС, с учётом всех скидок. Разделитель целой и дробной части – точка. Если товар отгружен бесплатно, то в стоимость выгружать 0. Значения должны быть положительными числами. Для строк со значением oper_type равным 2 в поле выгружается закупочная стоимость c НДС; если товар получен бесплатно, то в стоимость выгружать 0.
15. discount (сумма скидки). Выгружается размер скидки в национальной валюте.
16. vat (сумма НДС). Выгружается сумма НДС в национальной валюте.
17. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание!
Чтобы избежать возможных дублей в файле, строки необходимо группировать. Поля, входящие в составной ключ: whcode; code; oper_type; doc_number; curr_date; clientcode; spocode; tpcode. То есть сочетание этих полей должно содержать уникальное в пределах файла значение. Остальные поля не должны влиять на уникальность составного ключа. Если на уникальность составного ключа влияют поля: quantity; amount; discount, vat, то их необходимо суммировать.
Если в системе учёта нередки случаи, когда все накладные переносятся с одного дня на другой (например, с выходного на будний день), то необходимо обнулять такие даты. В файл hsales требуется выгрузить дополнительную строку, где дата равна обнуляемой, количество и стоимость равны 0, а коды филиала, товара, клиента, торговой точки, торгового представителя могут быть любыми, но обязательно действительными (присутствующими в файлах-справочниках: hwhouse, hcatalog, hclients и hsalrepr). Возможен вариант введения для подобных записей виртуальных кодов, которые не отображают действительных товаров, клиентов и торговых представителей, но выгружены в справочники. При этом виртуальный номер документа должен быть выгружен в объединении с обнуляемой датой. Объединять необходимо через нижнее подчеркивание.
Файл состояния склада (hrest)
В файле содержится информация об остатках на начало и конец каждого из последних четырнадцати календарных дней, а также общая информация обо всех перемещениях.
Порядковый номер поля | Заголовок поля | Тип данных | Описание |
1. | whcode | Строковое, не пустое | Код филиала |
2. | code | Строковое, не пустое | Код товара |
3. | curr_date | Числовое, не пустое | Дата актуальности документа |
4. | inv_type | Числовое, не пустое | Характеристика брака |
5. | ru | Числовое, не пустое | Тип хранения товара |
6. | beg_rest | Числовое, целое, не пустое | Остаток товара на начало дня |
7. | in_qty | Числовое, целое, не пустое | Количество по всем приходным операциям |
8. | out_qty | Числовое, целое, не пустое | Количество по всем расходным операциям |
9. | end_rest | Числовое, целое, не пустое | Остаток товара на конец дня |
10. | beg_amount | Числовое, не пустое | Стоимость товара на начало дня |
11. | in_amount | Числовое, не пустое | Стоимость поступившего товара |
12. | out_amount | Числовое, не пустое | Стоимость ушедшего товара |
13. | end_amount | Числовое, не пустое | Стоимость товара на конец дня |
14. | manfid | Числовое, не пустое | 9696 |
1. whcode (код филиала). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать филиал. Поле не может быть пустым. Все указанные в этом файле коды филиалов должны присутствовать в файле hwhouse.
2. code (код товара). Внутренний уникальный код, хранящийся в системе дистрибьютора и позволяющий идентифицировать товар. Выгружать в это поле следует ту же систему кодов, которая используется в файле hcatalog. Поле не может быть пустым. Все указанные в этом файле коды товаров должны присутствовать в файле hcatalog.
3. curr_date (дата актуальности). Формат даты строгий: ГГГГММДД, где ГГГГ – год, ММ – месяц, ДД – день. Поле не должно быть пустым.
4. inv_type (характеристика брака) – если товар годен для продажи, то 0 (ноль), если не годен для продажи, например брак, истек срок годности товара, поврежден внешний вид и тому подобное, то 1 (один);
5. ru (тип хранения товара). Код, указывающий на тип хранения товара. Поле по умолчанию заполняется значением 0. Поле не должно быть пустым.
6. beg_rest (остаток товара на начало дня). Количество товара на начало торгового дня. Поле не должно быть пустым. Значение поля должно быть целым числом. Отрицательные значения допускаются. Знак числа (плюс или минус) должен совпадать со знаком стоимости в поле beg_amount.
7. in_qty (количество по приходным операциям). Количество товара по всем приходным операциям (поступления на склад, в том числе виртуальные) в течение дня. Поле не должно быть пустым. Значение поля должно быть целым положительным числом.
8. out_qty (количество по расходным операциям). Количество товара по всем расходным операциям (уход со склада, в том числе виртуальный) в течение дня. Поле не должно быть пустым. Значение поля должно быть целым положительным числом.
9. end_rest (остаток товара на конец дня). Количество товара на конец торгового дня. Поле не должно быть пустым. Значение поля должно быть целым числом. Отрицательные значения допускаются. Знак числа (плюс или минус) должен совпадать со знаком стоимости в поле end_amount.
10. beg_amount (стоимость товара на начало дня). Стоимость товара (цена * количество) на начало рабочего дня по цене закупки товара у производителя в национальной валюте, c НДС. Если товар отгружен бесплатно, то в стоимость выгружать 0. Разделитель целой и дробной части – точка. Поле не должно быть пустым. Отрицательные значения допускаются. Знак суммы (плюс или минус) должен совпадать со знаком количества в поле beg_rest.
11. in_amount (стоимость поступившего товара). Стоимость поступившего на склад товара (цена * количество) по цене закупки товара у производителя в национальной валюте, c НДС. Если товар отгружен бесплатно, то в стоимость выгружать 0. Разделитель целой и дробной части – точка. Значения должны быть положительными числами. Поле не должно быть пустым.
12. out_amount (стоимость ушедшего товара). Стоимость ушедшего со склада товара (цена * количество) по цене закупки товара у производителя в национальной валюте, c НДС. Если товар отгружен бесплатно, то в стоимость выгружать 0. Разделитель целой и дробной части – точка. Значения должны быть положительными числами. Поле не должно быть пустым.
13. end_amount (стоимость товара на конец дня). Стоимость товара (цена * количество) на конец рабочего дня по цене закупки товара у производителя в национальной валюте, c НДС. Если товар отгружен бесплатно, то в стоимость выгружать 0. Разделитель целой и дробной части – точка. Поле не должно быть пустым. Отрицательные значения допускаются. Знак суммы (плюс или минус) должен совпадать со знаком количества в поле end_rest.
14. manfid (идентификационный код компании Hill’s Pet Nutrition Russia в системе CISLink). 9696 – код компании Hill’s Pet Nutrition Russia в системе CISLink. Значение выгружается для всех строк. Поле не должно быть пустым и не должно содержать других значений.
Обратите внимание! Чтобы избежать возможных дублей в файле, строки необходимо группировать. Поля, входящие в составной ключ: whcode; code; curr_date; inv_type. То есть сочетание этих полей должно содержать уникальное в пределах файла значение. Остальные поля не должны влиять на уникальность составного ключа. Если на уникальность составного ключа влияют поля: beg_rest; in_qty; out_qty; end_rest; beg_amount; in_amount; out_amount; end_rest, то их необходимо суммировать.
В каждой строке файла должно выполняться равенство: НачОстаток(beg_rest) + Приход(in_qty) – Расход(out_qty) = КонОстаток(end_rest).
Данные в файле hsales не должны противоречить данным в файле hrest. Проверочные нестрогие неравенства, которым должно удовлетворять содержание файлов в сумме по товару и дате (поля code и curr_date):
(файл hsales, поле quantity, oper_type=0) <= (файл hrest, поле out_qty)
(файл hsales, поле quantity, oper_type=1,2) <= (файл hrest, поле in_qty)
В выгрузку hrest должны попадать все 45 строк по каждому товару номенклатуры, даже если движения в этот день по товару не было. Исключение составляют позиции полностью отсутствующие на складах (т. е. одновременно поля beg_rest, in_qty, out_qty, end_rest нулевые).


