8 авг. 2017 г.

Изменить запись регистра накопления

Вроде элементарно, но все же, для изменения записи регистра накопления ничего лучшего не придумал


Набор = РегистрыНакопления.НДСНачисленный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ДокументРеализации.Ссылка);
 
Набор.Прочитать();
Таблица=Набор.Выгрузить();
 
Набор.Очистить();
Набор.Записать();
 
Для Каждого СтрокаТЧ ИЗ Таблица Цикл
    // здесь выполняем изменения записи
КонецЦикла;
 
Набор.Загрузить(Таблица);
Набор.Записать(Истина);

Сортировка по любому полю в списке документов

Нужно добавить сортировку, аналогично колонкам Дата и Номер, в списке документов, по колонке Контрагент.

Обычные формы.

Процедура ПриОткрытии()
     
    ЭлементыФормы.ДокументСписок.НастройкаПорядка.Контрагент.Доступность = Истина;
    ДокументСписок.Порядок.Установить("Контрагент Убыв");   
     
КонецПроцедуры

28 июл. 2017 г.

Изменить шрифт ячейки

При формировании печатной формы нужно было вывести наименование параметра и значение самого параметра разным шрифтом.

Получаем область

ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");

Заполняем параметры области

ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);

Получаем в выбранной области перечень ячеек, которым будем увеличивать шрифт

ОбластьЗначениеПараметра = ОбластьМакета.Область("R1C7:R1C41");

Увеличивавшем шрифт выделенной ячейки

ОбластьЗначениеПараметра.ВысотаСтроки = 18;
ОбластьЗначениеПараметра.Шрифт = Новый Шрифт(, 18);


Отдаем выделенную область в результирующий табличный документ

ТабДокумент.Вывести(ОбластьМакета);

Получаем результат


22 июл. 2017 г.

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

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


нужно:

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

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

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