Уважаемые коллеги подскажите, какова логика в определении координат ячеек при автозаполнении ячеистого склада?
Дело в том, что при автозаполнении нумерация координат ячеек начинается с нуля, а в качестве представления предлагается брать координату увеличенную на единицу
Тогда как в форме элемента ячейки представление предлагается автоматически заполнить, координатами не увеличивая их значение на единицу.
Таким образом обработка автоматического заполнения ячеек склада создаст самую первую ячейку с координатами (0,0,0) представление которой будет "1-1-0". А в форме элемента этой ячейки нажав на кнопку формирования представления получим "0-0-0".
Фрагмент кода обработки автоматического создания элементов справочника ячеек:
// координаты x, y и z начинаются с нуля
Для x = 0 По СтруктураКоличество.КоличествоЯчеек - 1 Цикл
Для y = 0 По СтруктураКоличество.КоличествоРядов -1 Цикл
Для z = 0 По Склад.ЧислоУровней-1 Цикл
НовыйЭлемент = Справочники.ЯчейкиХранения.СоздатьЭлемент();
НовыйЭлемент.Владелец = Склад;
НовыйЭлемент.КоординатаX = x;
НовыйЭлемент.КоординатаY = y;
.......
НовыйЭлемент.Код = "" + (x+1) + "-" + (y+1) + "-" + (z);
Фрагмерт кода формирования представления ячейки в форме элемента:
Код = "" + КоординатаX + "-" + КоординатаY + "-" + Уровень;
Дело в том, что при автозаполнении нумерация координат ячеек начинается с нуля, а в качестве представления предлагается брать координату увеличенную на единицу
Тогда как в форме элемента ячейки представление предлагается автоматически заполнить, координатами не увеличивая их значение на единицу.
Таким образом обработка автоматического заполнения ячеек склада создаст самую первую ячейку с координатами (0,0,0) представление которой будет "1-1-0". А в форме элемента этой ячейки нажав на кнопку формирования представления получим "0-0-0".
Фрагмент кода обработки автоматического создания элементов справочника ячеек:
// координаты x, y и z начинаются с нуля
Для x = 0 По СтруктураКоличество.КоличествоЯчеек - 1 Цикл
Для y = 0 По СтруктураКоличество.КоличествоРядов -1 Цикл
Для z = 0 По Склад.ЧислоУровней-1 Цикл
НовыйЭлемент = Справочники.ЯчейкиХранения.СоздатьЭлемент();
НовыйЭлемент.Владелец = Склад;
НовыйЭлемент.КоординатаX = x;
НовыйЭлемент.КоординатаY = y;
.......
НовыйЭлемент.Код = "" + (x+1) + "-" + (y+1) + "-" + (z);
Фрагмерт кода формирования представления ячейки в форме элемента:
Код = "" + КоординатаX + "-" + КоординатаY + "-" + Уровень;