Внешняя обработка между базой данной SQL и 1С 10.3 УТ. как изменить модуль этой кнопки

1. brotherm 17.07.18 13:55 Сейчас в теме
есть готовая внешняя обработка между базой данной SQL программы Сервера Терминалов( это база SQL) и 1С 10.3 УТ


в этой 1С обработке во вкладке Загрузка - по по нажатию кнопки Запустить: в 1С 10.3 УТ загружаются все транзакции со всех весов с дальнейшим формированием документов в 1С (перемещение, поступление товаров, отпуск товаров, реализация товаров, инвентаризация)


А как изменить модуль этой кнопки таким образом, чтобы получать транзакции только с тех весов, Id которых я напишу в поле ввода. В форме обработки Поле Ввода числовое я создал, но пока не определился с событием этого поля. Создал Кнопку КнПолучитьТранзакции и пока у этой кнопки модуль тот же, что у кнопки для получения всех транзакций со всех подряд весов.

Как привязать поле ввода к запросу в этой процедуре?

Вот процедура начинается так:

Процедура ЗагрузкаТранзакций()
//Обратимся к базе

ТекстЗапросаОператоры="sel ect id, name fr om tb_operator where (mark_deleted=0 and id>0)";
ТекстЗапроса="select * fr om tb_transaction wh ere (mark_deleted=0 and id>0 and id_sync='')";
Попытка
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Xershi 1483 17.07.18 15:31 Сейчас в теме
(1) посмотри структуру таблиц и допиши условие. Вопрос как составить запрос? Думаю почитать SQL, считай тот же конструктор запросов, только на забугорском. Посмотри примеры запросов и проблем написать аналогичный нету!
+
2. Timur.V 78 17.07.18 14:10 Сейчас в теме
В запросе есть id весов? Если да, это просто.
На форме создаем поле id весов.
и немного меняем запрос. Никакие дополнительные кнопки в обработке создавать не нужно.

должно получиться примерно так:

where idvesov = " + ПолеФормыIDвесов + " продолжение запроса ";
+
4. brotherm 18.07.18 09:03 Сейчас в теме
я вот так запрос делал:

ТекстЗапроса="sel ect * fr om tb_transaction where (mark_deleted=0 and id>0 and Device_id="+ЭлементыФормы.idves.Значение+" and id_sync='')";

// где idves - это имя поля ввода. у него тип значения - число; Данные - пусто оставил; События при изменении - тоже пусто оставил.


И та же ошибка осталась
+
5. brotherm 18.07.18 09:25 Сейчас в теме
Сделал потом так:

ТекстЗапроса="sel ect * fr om tb_transaction where Device_Id = " + ПолеФормы.idves + " and mark_deleted=0 and id>0 ";

Призакрытии в конфигураторе выходит ошибка:

{ВнешняяОбработка.МассаК.Форма.Форма.Форма(6927,68)}: Переменная не определена (ПолеФормы)
ТекстЗапроса="select * fr om tb_transaction wh ere Device_Id = " + <<?>>ПолеФормы.idves + " and mark_deleted=0 and id>0 "; (Проверка: Толстый клиент (обычное приложение))
+
6. brotherm 18.07.18 12:00 Сейчас в теме
ТекстЗапроса="sel ect * fr om tb_transaction where (mark_deleted=0 and Device_Id='"+ЭлементыФормы.idves.Значение+"' and id_sync='' and id>0)"


Выходит ошибка "В данный момент транзакции заняты другим приложением. Попробуйте повторить попытку позже"
+
7. Denis_CFO 48 18.07.18 14:09 Сейчас в теме
(6)
"' and id_sync='' and id>0)"
вот тут непонятно поле "id" - это номер весов? Зачем тогда это условие, Вы же изначально
'"+ЭлементыФормы.idves.Значение+"'
ИД поставили.
Ну а вот это похоже, что
Попробуйте повторить попытку позже
либо драйвер занят, либо запрос всё таки не корректен.
+
8. brotherm 19.07.18 07:03 Сейчас в теме
Device_Id - это в таблице номер весов
id - это номер транзакции
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот