БП 3.0 можно ли в СКД сделать поиск по штрих коду
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
можно
елал штрих коды ОС. Сделали отчёт по регистру сведений МестоположениеОСБухгалтерскийУчет с отбором по ОС. Можно ли в СКД добавить поиск ОС по штрихкоду? Или это можно сделать только если размещать на форме поле штрихкода и в табличное поле запросом выводить записи регистра?
можно
(4)
Почему-то установка через ЭлементОтбора.ПравоеЗначение = НайденноеОС не срабатывает.
Пришлось сделать через Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].ПравоеЗначение = НайденноеОС.
Причём вслемую по номеру, а не по имени поля (просто посмотрел в отладчике).
&НаКлиенте
Процедура ШтрихкодПриИзменении(Элемент)
НайденноеОС = ПоискШтрихКодаОС();
Если ЗначениеЗаполнено(НайденноеОС) Тогда
ЭлементыОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы;
Для Каждого ЭлементОтбора Из ЭлементыОтбора Цикл
Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОсновноеСредство") Тогда
//ЭлементОтбора.ПравоеЗначение = НайденноеОС;
//ЭлементОтбора.Использование = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].ПравоеЗначение = НайденноеОС;
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].Использование = Истина;
КонецЕсли;
СформироватьОтчетНаСервере(Результат); // Чтобы не писалось "Отчет не сформирован…"
Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
КонецПроцедуры
ПоказатьПочему-то установка через ЭлементОтбора.ПравоеЗначение = НайденноеОС не срабатывает.
Пришлось сделать через Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].ПравоеЗначение = НайденноеОС.
Причём вслемую по номеру, а не по имени поля (просто посмотрел в отладчике).
(6)У меня на форме СКД отборы. Сначала я заполнил Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы. Это не сработало. Затем я внёс вручную нужный отбор и посмотрел, куда он попадёт. Оказалось Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1]. Занёс туда, всё сработало.
(7)Может быть его не было или не все параметры отбора были заполнены.
И посик тоже должен работать.
ЭлементОтбора = ЭлементыОтбора.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОсновноеСредство");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
ЭлементОтбора.ПравоеЗначение = НайденноеОС;
ЭлементОтбора.Использование = Истина;
И посик тоже должен работать.
(8)Понял, как это должно быть:
&НаКлиенте
Процедура ШтрихкодПриИзменении(Элемент)
НайденноеОС = ПоискШтрихКодаОС();
Если ЗначениеЗаполнено(НайденноеОС) Тогда
ЭлементыОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы;
Для Каждого ЭлементОтбора Из ЭлементыОтбора Цикл
Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОсновноеСредство") Тогда
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[ЭлементыОтбора.Индекс(ЭлементОтбора)].ПравоеЗначение = НайденноеОС;
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[ЭлементыОтбора.Индекс(ЭлементОтбора)].Использование = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
СформироватьОтчетНаСервере(Результат); // Чтобы не писалось "Отчет не сформирован…"
Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот