22 июл. 2017 г.

"Живой поиск" на форме 1С Предприятие

Для реализации такого функционала 


нужно:

  • В свойствах поля формы установить свойства
    • ОбновлениеТекстаРедактирования = При изменении значения
    • РежимВыбораНезаполненного = При активации
  • Сама реализация методики
&НаКлиенте
Процедура НаименованиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    СтруктураОтбора = Новый Структура;
    ДобавитьОтборВСтруктуру(СтруктураОтбора, "Наименование", "подобно", Текст + "%");
    ДанныеВыбора = Поиск(СтруктураОтбора);
КонецПроцедуры
&НаКлиенте
//Процедура добавляет отбор в структуру
//
//Параметры:
// Структура - тип Структура
// ИмяПоля - тип Строка
// Сравнение - тип Строка
// ТекЗначение - тип Любой
Процедура ДобавитьОтборВСтруктуру(Структура, ИмяПоля, Сравнение, ТекЗначение)
     
    Если ТипЗнч(Структура) <> Тип("Структура") Тогда
        Возврат;
    КонецЕсли;
    Если ИмяПоля = "" Тогда
        Возврат;
    КонецЕсли;
    МассивОтбора = Новый Массив; МассивОтбора.Добавить(Сравнение); МассивОтбора.Добавить(ТекЗначение);
    Структура.Вставить(ИмяПоля, МассивОтбора);
КонецПроцедуры
&НаСервере
Функция Поиск(СтруктураОтбора)
     
    Если ТипЗнч(СтруктураОтбора) <> Тип("Структура")Тогда
        Возврат Неопределено;
    КонецЕсли;
    Если СтруктураОтбора.Количество() = 0 Тогда
        Сообщить("Не заполнены отборы для поиска", СтатусСообщения.Информация);
        Возврат Неопределено;
    КонецЕсли;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Таблица.Ссылка
    |ИЗ
    | Справочник.Номенклатура КАК Таблица  
    |ГДЕ";
    Индекс = 1;
    Для Каждого ТекКЗ Из СтруктураОтбора Цикл
        Запрос.Текст = Запрос.Текст + "
        | Таблица." + ТекКЗ.ключ + " " + ТекКЗ.Значение[0] + " &Пар" + Индекс;
        Запрос.УстановитьПараметр("Пар" + Индекс, ТекКЗ.Значение[1]);
        Индекс = Индекс + 1;
    КонецЦикла;
    Список = Новый СписокЗначений;
    Список.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
    Возврат Список;
КонецФункции

Данная реализация процедур и функций взята из этого сайта.

17 июл. 2017 г.

Номер документа и дата в отчете СКД

Нужно в одной ячейке вывести Номер и Дата документа по шаблону № НомерДок от ДатаДок, ДатаДок в формате 17.07.2017

Открываем Схему компоновки данных отчета - Вычисляемые поля - Добавить поле, с выражением
"№" + Номер + " от " + Строка(ФОРМАТ(Дата "ДФ = дд.ММ.гггг")) 
Результат 



14 июл. 2017 г.

Установить привязки программно на форме

Обычные формы.
Алгоритм заключается в свойстве кнопки на форме Кнопка.Верх, которым управляем положением на форме, а методом Кнопка.УстановитьПривязку() управляем привязками кнопки.

НашаКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), "НаименованиеКнопки", Истина, ЭлементыФормы.ОсновнаяПанель);
НашаКнопка .Верх = 280;
НашаКнопка .УстановитьПривязку(ГраницаЭлементаУправления.Лево, ЭлементыФормы.ИнфНадписьТекущаяСумма, ГраницаЭлементаУправления.Лево);

и т.д.

При обновлении данных после последней реструктуризации произошла критическая ошибка. Повторить обновление?

Данная ошибка произошла при динамическом обновлении конфигурации базы данных.

  • delete from configsave
  • delete from config where FileName = 'commit'
  • delete from config where FileName = 'dynamicCommit'
  • delete from config where FileName = 'dbStruFinal'

 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07