Завершен

Создание Ячеек

Алексей Ш. 4 года назад в Прочие разделы / - Вопросы по разработке обновлен 4 года назад 18

Добрый день!


Подскажите почему не создаются ячейки. Использую код в 1с 77:


ЯчейкаТСД = СоздатьОбъект("Cleverence.Warehouse.Cell");

ЯчейкаТСД.Штрихкод = "7844564564";
ЯчейкаТСД.Имя = "Тест";
ЯчейкиТСД = СоздатьОбъект("Cleverence.Warehouse.CellCollection");
ЯчейкиТСД.Add(ЯчейкаТСД);


Но в конфигурации не появляются. Про шаблоны знаю. Но у меня ячейки имеют буквенные обозначения. Хотелось бы их загрузить в Мобил Смартс из 1с.

Установленный продукт:
WIFI Pro
Версия драйвера:
3.0.155
Типовая конфигурация драйвера?:
Да
Операционная система:
Win XP
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
1c 77 dbf
Типовая конфигурация 1с?:
Нет
Модель ТСД:
Datalogic Scorpio X3
ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Алексей Ш. 4 года назад

СкладТСД = СоздатьОбъект("Cleverence.Warehouse.Warehouse");


ЯчейкаТСД = СоздатьОбъект("Cleverence.Warehouse.Cell");
ЯчейкаТСД.Штрихкод = "7844564564";
ЯчейкаТСД.Имя = "Тест";

СкладТСД.Cells.Add(ЯчейкаТСД);


Попробывал вот так. Тоже не появляются в конфигурации.

Решил вопрос сам. Добавил ВыгрузитьСклад.


СкладТСД = СоздатьОбъект("Cleverence.Warehouse.Warehouse");

ЯчейкаТСД = СоздатьОбъект("Cleverence.Warehouse.Cell");
ЯчейкаТСД.Штрихкод = "7844564564";
ЯчейкаТСД.Имя = "Тест";

СкладТСД.Cells.Add(ЯчейкаТСД);


ОбъектТСД.ВыгрузитьСклад(СкладТСД);


Спасибо.

Чтобы не выгружать большое количество ячеек, лучше использовать шаблоны штрихкодов, см. http://www.cleverence.ru/support/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B+%D1%8F%D1%87%D0%B5%D0%B5%D0%BA+%D0%BD%D0%B0+%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5/

Если шаблоны использовать нет возможности (ШК имеют сильно разный вид) или нужен конкретный список ячеек, и ячеек при этом много, есть смысл перейти на платформу Mobile SMARTS 3.0 и использовать для выгрузки функции BeginUploadCells(string warehouseId, bool overwrite), UploadCells(CellCollection cellsCollection), EndUploadCells(). В версии 3 ячейки хранятся в таблице SQLite, что экономит память терминала и ускоряет работу.


А что надо для перехода на 3.0?

Я наверное вас не понял. У меня версия клиента 3.0.0.167.


Версия файла Cleverence.DataCollection.dll 2.7.1.1 Как мне ее обновить до 3.0?

Я только единственное не понял. Мне что нужно снова лицензию покупать?

Нет, должна работать старая лицензия

Извините. Перерыл все на сайте не могу найти документацию по этим функциям.


BeginUploadCells(string warehouseId, bool overwrite), UploadCells(CellCollection cellsCollection), EndUploadCells().

Добрый день,

Действительно эти функции не описаны. Допишут программисты сюда

http://www.cleverence.ru/devlib/comconnector_v3/index.html


BeginUploadCells

Начинает выгрузку ячеек в базу Mobile SMARTS.

public void BeginUploadCells [НачатьВыгрузкуЯчеек](
string warehouseId,
bool overwrite
);

Параметры

warehouseId Идентификатор склада, к которому относятся выгружаемые ячейки. Должен соответствовать одному из складов в конфигурации Mobile SMARTS. overwrite Перезаписывать или добавлять ячейки.

UploadCells

Добавляет порцию ячеек в выгрузку. Выгрузка должна быть начата с помощью функции BeginUploadCells [НачатьВыгрузкуЯчеек].

public void UploadCells [ДобавитьВВыгрузкуЯчеек](
CellCollection cellsCollection
);

Параметры

cellsCollection Коллекция выгружаемых ячеек.

EndUploadCells

Завершает выгрузку ячеек. Данные сохраняются в базе данных Mobile SMARTS.

public void EndUploadCells [ЗавершитьВыгрузкуЯчеек]();

GetCells

Возвращает ячейки заданного склада.

public CellCollection GetCells [ПолучитьЯчейки](
string strWarehouseId
);

Параметры

strWarehouseId Идентификатор склада. Должен соответствовать одному из складов в конфигурации Mobile SMARTS.

Долго мучался. Но у меня это не работает.


СкладТСД = СоздатьОбъект("Cleverence.Warehouse.Warehouse");
СкладТСД.Id = "1";
СкладТСД.Name = "Общий";

КоллЯчеек = СоздатьОбъект("Cleverence.Warehouse.CellCollection");

ЯчейкаТСД = СоздатьОбъект("Cleverence.Warehouse.Cell");
ЯчейкаТСД.Штрихкод = "980001";
ЯчейкаТСД.Имя = "1-00-1";


КоллЯчеек.Add(ЯчейкаТСД);

ОбъектТСД.BeginUploadCells(СкладТСД);
ОбъектТСД.UploadCells(КоллЯчеек);
ОбъектТСД.EndUploadCells();


Значение не представляет агрегатный объект (BeginUploadCells)

Что я делаю не так.

Может я не так что-то обновил?


Помогите пожалуйста.

ОбъектТСД - это объект Cleverence.Warehouse.StorageConnector? Если это AddIn.Cl.TerminalConnector, нужно получить из него StorageConnector с помощью функции ПолучитьОбъектСоединенияСБазой() (при этом должно быть установлено соединение с базой Mobile SMARTS, см. http://www.cleverence.ru/files/14505/Mobile%20SMARTS%203.0.%20%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BE%D0%B9.pdf):

StorageConnector = ОбъектТСД.ПолучитьОбъектСоединенияСБазой();

StorageConnector.BeginUploadCells("1", 1); // первый параметр Ид. склада, склад с таким Ид. должен быть в конфигурации

// Mobile SMARTS, второй параметр - переписывать (1) или добавлять ячейки (0).

StorageConnector.UploadCells(КоллЯчеек);

StorageConnector.EndUploadCells();


Да ОбъектТСД это у меня AddIn.Cl.TerminalConnector

Попробовал ОбъектТСД.ПолучитьОбъектСоединенияСБазой(); Выдает ошибку. Нет такой функции.


Решил по-другому:

...

КоллЯчеек.Add(ЯчейкаТСД);

ОбъектТСД.StorageConnector..BeginUploadCells(СкладТСД);
ОбъектТСД.StorageConnector.UploadCells(КоллЯчеек);
ОбъектТСД.StorageConnector.EndUploadCells();


Спасибо за оперативность. Вопрос где я могу в базе Мобил Смартс глянуть, что мои ячейки загрузились?


В структуре складов они не появились.

В каталоге базы смартс \Documents\ нашел файл

Cleverence.Warehouse.Cells.sqlite я так понимаю это и есть мои выгруженные ячейки.


Спасибо за помощь.

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