Добрый день всем!
Недавно начал первый раз в жизни автоматизировать магазин, мини маркет с двумя местами кассира весами и ПОС-ками! В обмещ все нормально работало но вдруг недавно возникла огромная проблема! Не могу выгрузить данные в весы! Весы-сами китайские под них написал обработку мой один хороший знакомый, его найти не могу поэтому обращаюсь к вам! Кто сможет помочь? Принцип работы обработки таков: Выгружаются данные из 1С в БД весов которая имеет формат Акссес файла! и все! Очень срочно нужна помощь так как в магазине работа вся встала! чем быстреее тем лучше!
ошибку в обработке дает такую!
Ошибка добавления товара в БД весов {ВнешняяОбработка.BIYANGВесыСПечатьюЭтикеток(342)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Ошибка синтаксиса в инструкции INSERT INTO.
Недавно начал первый раз в жизни автоматизировать магазин, мини маркет с двумя местами кассира весами и ПОС-ками! В обмещ все нормально работало но вдруг недавно возникла огромная проблема! Не могу выгрузить данные в весы! Весы-сами китайские под них написал обработку мой один хороший знакомый, его найти не могу поэтому обращаюсь к вам! Кто сможет помочь? Принцип работы обработки таков: Выгружаются данные из 1С в БД весов которая имеет формат Акссес файла! и все! Очень срочно нужна помощь так как в магазине работа вся встала! чем быстреее тем лучше!
ошибку в обработке дает такую!
Ошибка добавления товара в БД весов {ВнешняяОбработка.BIYANGВесыСПечатьюЭтикеток(342)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Ошибка синтаксиса в инструкции INSERT INTO.
По теме из базы знаний
Найденные решения
Поле mprice, я так понимаю, не должно быть пустым!
Сделайте так и будет счастье:
Сделайте так и будет счастье:
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+
Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+
СтрЗаменить(Формат(Цена,"ЧН=; ЧГ="),",",".")+",2"+ПрефиксВесовогоТовара+")";
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Раньше когда возникала такая проблема в весы выгружалась хоть какая то информация до какого то значение а после нет! тоесть например : до 547 КОДА ПЛУ все выгружалось а на 547 все вставало изза того что на 547 не была установлена продажная цена! Теперь же просто тупо дает такую ошибку и все и я не могу понять где в номенклатуре что то неправильно записано или целостность чегото нарушена или что!
Добрый день, а нет пустого товара? может быть следует переиндексировать базу по ссылке на несуществующий объект (номенклатура, цена...)? у меня база давала ошибку вот на днях оказывается потому как имелась целая КУЧА подобного мусора
Ошибка вроде этой
говорит о том, что проблема в конструировании запроса и скорее всего она связана со спецсимволом в наименовании товара, предполагаю этот спецсимвол ничто иное как одинарная кавычка '. Поищите в своей номенклатуре для весов этот символ!
Ошибка синтаксиса в инструкции INSERT INTO.
говорит о том, что проблема в конструировании запроса и скорее всего она связана со спецсимволом в наименовании товара, предполагаю этот спецсимвол ничто иное как одинарная кавычка '. Поищите в своей номенклатуре для весов этот символ!
Раньше когда возникала такая проблема в весы выгружалась хоть какая то информация до какого то значение а после нет! тоесть например : до 547 КОДА ПЛУ все выгружалось а на 547 все вставало изза того что на 547 не была установлена продажная цена
Вам бы найти толкового программиста, дабы при формировании запроса сделал обработку потенциальных ошибок, а заодно разобрался в текущей ситуации.
Если запостите код формирования запроса, глянем.
ща скину код: гляньте плззз!
// Функция осуществляет инициализацию процедуры выгрузки данных в весы с печатью этикеток.
// (API v2.3)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// ЧастичнаяВыгрузка - <Булево>
// - Признак частичной выгрузки товара
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция НачатьВыгрузку(Объект, ЧастичнаяВыгрузка = Ложь) Экспорт
Результат = мНетОшибки;
Если мПрефикс = мПрефиксШТ Тогда
Объект.ОписаниеОшибки = "Префикс штучного товара совпадает с префиксом весового товара.
|Для продолжения измените префикс штучного или весового товара
|в настройках параметров учета конфигурации.";
Результат = мОшибкаНеизвестно;
КонецЕсли;
ТекстЗапроса="DELETE * FROM t_base_merchandise";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка предварительной очистки БД весов "+ОписаниеОшибки()+"";
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // НачатьВыгрузку()
// Функция осуществляет выгрузку позиции в весы с печатью этикеток.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// PLU - <Число>
// - Номер PLU.
//
// КодТовара - <Число>
// - Код товара.
//
// Наименование - <Строка>
// - Наименование номенклатуры.
//
// Цена - <Число>
// - Цена номенклатуры.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Выгрузить(Объект, PLU, КодТовара, Наименование, Цена, ПрефиксВесовогоТовара) Экспорт
Результат = мНетОшибки;
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка добавления товара в БД весов "+ОписаниеОшибки()+"";
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // Выгрузить()
Это запрос
// Функция осуществляет инициализацию процедуры выгрузки данных в весы с печатью этикеток.
// (API v2.3)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// ЧастичнаяВыгрузка - <Булево>
// - Признак частичной выгрузки товара
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция НачатьВыгрузку(Объект, ЧастичнаяВыгрузка = Ложь) Экспорт
Результат = мНетОшибки;
Если мПрефикс = мПрефиксШТ Тогда
Объект.ОписаниеОшибки = "Префикс штучного товара совпадает с префиксом весового товара.
|Для продолжения измените префикс штучного или весового товара
|в настройках параметров учета конфигурации.";
Результат = мОшибкаНеизвестно;
КонецЕсли;
ТекстЗапроса="DELETE * FROM t_base_merchandise";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка предварительной очистки БД весов "+ОписаниеОшибки()+"";
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // НачатьВыгрузку()
// Функция осуществляет выгрузку позиции в весы с печатью этикеток.
// (API v2.0)
//
// Параметры:
// Объект - <*>
// - Объект драйвера торгового оборудования.
//
// PLU - <Число>
// - Номер PLU.
//
// КодТовара - <Число>
// - Код товара.
//
// Наименование - <Строка>
// - Наименование номенклатуры.
//
// Цена - <Число>
// - Цена номенклатуры.
//
// Возвращаемое значение:
// <ПеречислениеСсылка.ТООшибки*> - Результат работы функции.
//
Функция Выгрузить(Объект, PLU, КодТовара, Наименование, Цена, ПрефиксВесовогоТовара) Экспорт
Результат = мНетОшибки;
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка добавления товара в БД весов "+ОписаниеОшибки()+"";
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // Выгрузить()
Это запрос
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")";
Вот все аргументы, что в values, Вам нужно проверить на состоятельность.
Вычислите в отладчике выражение
"+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")"
Какя уже говорил, ошибка в конструировании, вызванная спец. символом.
Сделайте так:
и отпостите ошибку сюда, тогда можно будет наверняка ее исправить.
Сделайте так:
Исключение
ТекстОшибки="Ошибка добавления товара в БД весов "+ОписаниеОшибки()+"
|ТекстЗапроса:
|"+ТекстЗапроса;
Сообщить(ТекстОшибки);
и отпостите ошибку сюда, тогда можно будет наверняка ее исправить.
Ошибка добавления товара в БД весов {ВнешняяОбработка.BIYANGВесыСПечатьюЭтикеток(342)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Ошибка синтаксиса в инструкции INSERT INTO.
Все сделал как вы отписались все равно не помогает!
Все сделал как вы отписались все равно не помогает!
Ошибка добавления товара в БД весов {ВнешняяОбработка.BIYANGВесыСПечатьюЭтикеток(342)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Ошибка синтаксиса в инструкции INSERT INTO.
ТекстЗапроса:
INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES '1','ShorSanik','2100001',,21)
Вот что то появилось!
ТекстЗапроса:
INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES '1','ShorSanik','2100001',,21)
Вот что то появилось!
Поле mprice, я так понимаю, не должно быть пустым!
Сделайте так и будет счастье:
Сделайте так и будет счастье:
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+
Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+
СтрЗаменить(Формат(Цена,"ЧН=; ЧГ="),",",".")+",2"+ПрефиксВесовогоТовара+")";
А лучше так!
Функция Выгрузить(Объект, PLU, КодТовара, Наименование, Цена, ПрефиксВесовогоТовара) Экспорт
Результат = мНетОшибки;
Если Цена = 0 Тогда
Сообщить("Для товара " + Наименование + " с кодом " + КодТовара + " не задана цена. Товар не выгружен на весы!", СтатусСообщения.Важное);
Возврат Результат;
КонецЕсли;
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка добавления товара в БД весов "+ОписаниеОшибки()+"
|ТекстЗапроса:
|"+ТекстЗапроса;
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // Выгрузить()
Функция Выгрузить(Объект, PLU, КодТовара, Наименование, Цена, ПрефиксВесовогоТовара) Экспорт
Результат = мНетОшибки;
Если Цена = 0 Тогда
Сообщить("Для товара " + Наименование + " с кодом " + КодТовара + " не задана цена. Товар не выгружен на весы!", СтатусСообщения.Важное);
Возврат Результат;
КонецЕсли;
ТекстЗапроса="INSERT INTO t_base_merchandise (mplu_no,mname1,mcode,mprice,madv5) VALUES ("+Формат(PLU,"ЧГ=0")+",'"+Лев(СокрЛП(Наименование),60)+"','"+Лев(СокрЛП(КодТовара),7)+"',"+СтрЗаменить(Формат(Цена,"ЧГ=0"),",",".")+",2"+ПрефиксВесовогоТовара+")";
Попытка
LinksCommand.CommandText = ТекстЗапроса;
Result1 = LinksCommand.Execute();
Исключение
ТекстОшибки="Ошибка добавления товара в БД весов "+ОписаниеОшибки()+"
|ТекстЗапроса:
|"+ТекстЗапроса;
Сообщить(ТекстОшибки);
Возврат мОшибкаНеизвестно;
КонецПопытки;
Возврат Результат;
КонецФункции // Выгрузить()
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот