Завершен

Динамическое добавление ячеек

Вячеслав Ляутин 5 лет назад в Прочие разделы / - Вопросы по разработке обновлен Сергей (Специалист) 5 лет назад 8
Добрый день! Подскажите возможно ли на событиях ПолучитьДокумент или ПолучитьСписокДокументов формировать список ячеек у склада?

Я пробовал вот таким образом:

var Cells = Cleverence.Warehouse.Environment.Warehouses.FindById(WarehouseId).Cells;
var newShelf = new Cleverence.Warehouse.Cell();
newShelf.Name = Name;
newShelf.Barcode = Barcode;
if (Cells.FindByBarcode(newShelf.Barcode) == null)
{
Cleverence.Warehouse.Environment.Warehouses.FindById(WarehouseId).Cells.Add(newShelf);
}

Но при сканировании ячейки терминал выдает сообщение о том, что список ячеек пуст.
Установленный продукт:
Mobile Smart WIFI ПРОФ
Версия драйвера:
2.7.1.29
Типовая конфигурация драйвера?:
Операционная система:
Windows CE
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
0
Типовая конфигурация 1с?:
Модель ТСД:
Motorola MC2180
Начат
Добрый день!
Не нужно задавать весь список ячеек, а достаточно создать шаблон для них. Используйте шаблонов ячеек.
Либо опишите задачу подробнее.
Список ячеек хранится в базе данных с привязкой по складам. В зависимости от склада на терминале я получаю из базы список ячеек с штрихкодами и хочу сформировать список ячеек для терминала.
Ячейки выгрузите в доп. таблицу по документу и проверяйте по ней. Но шаблон все равно нужно создать.

Пример выгрузки дополнительной таблицы:
ДопТаблица = Новый COMОбъект("Cleverence.Warehouse.DocumentTable");
ДопТаблица.Name = "ИмяТаблицы"; // имя таблицы как в конфигурации Mobile SMARTS

строкаТаблицы = Новый COMОбъект("Cleverence.Warehouse.Row"); // создание строки таблицы
строкаТаблицы.SetField("ИмяКолонки1", значение1);
строкаТаблицы.SetField("ИмяКолонки2", значение2);

ДопТаблица.Rows.Add(строкаТаблицы); // добавляем строку в таблицу

Объект.Драйвер.ВыгрузитьДопТаблицу(ДопТаблица); // выгрузка

Объект.Драйвер - объект AddIn.Cl.TerminalConnector, см. например обработку Выгрузка номенклатуры.epf. Выгрузка происходит для батч-драйвера на терминал, для Wi-Fi на сервер. На сервер также можно выгружать с использованием объекта Cleverence.Warehouse.StorageConnector. Справочник по объектам Mobile SMARTS тут: http://www.cleverence.ru/mobile-smarts/devlib/comconnector/
Я пишу коннектор на С#.
А как действию "Выбор ячейки" указать что искать ячейки нужно в дополнительной таблице документа?
Что указывать в имя колонки а что в значение? В имя - название ячейки а в значение - штрих-код?
Ссылка 404 Not Found

Выбор ячеек ищет только в справочнике ячеек. А вам нужно сделать редактирование поля и поиск в дополнительной таблице при помощи запроса Выбор строки или Выбор строк.
Но мне надо было реализовать сканирование штрих-кода ячейки.

Задача решена другим путем, не используя справочник ячеек. Но всё-равно спасибо!

Есть ещё вопрос: возможно ли как-то реализовать удаление всех документов на сервере при перезагрузки сервера?
Стандартного решения нет.
1 способ - просто очистить папку от документов вручную и перезапустить сервер.
2 способ - написать *.bat файл который будет удалять документы
3 способ - в обработке загрузки документов есть кнопка удаления документов. Посмотрите как реализовано удаление, возможно вы найдете применение(например в планировщике windows сделать запуск 1С с параметрами по удалению документов. Вызов в storageconnector - RemoveDocuments(DocumentCollection documents))

Сервис поддержки клиентов работает на платформе UserEcho