29 июл. 2016 г.

Не обязательное заполнение параметров в запросе 1С

Есть форма для отчёта. Отчёт будет формироваться с помощью ТабличныйДокумент + Макет.
На форме есть СписокЗначений (ОТК_Несоответствиядля заполнения пользователем параметров. Параметров может быть несколько или вовсе не быть.

При формировании Запроса нужно избежать ошибки "не заполнены параметры".

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

 //обязательные параметры запроса
 Запрос.УстановитьПараметр("ДатаКон", КонецДня(Объект.ДатаКонец));
 Запрос.УстановитьПараметр("ДатаНач", НачалоДня(Объект.ДатаНачало));
 Запрос.УстановитьПараметр("Отгрузка", Константы.ПроизводствоОперацияОтгрузка.Получить());
 //обязательные параметры запроса

 РезультатЗапроса = Запрос.Выполнить(); 

1 июл. 2016 г.

Обновляется поле ввода ПодключитьОбработчикОжидания

Нужно показывать на форме текущее время, что и делаю


пишу



но смысл в том, что есть (на скрине №1) поле ввода, в которое вручную нужно вводить значения и оно каждый раз обработчиком ожидания обновляет значения.

Что бы этого избежать нужно в свойствах элемента формы Поля ввода найти свойство ОбновлениеТекстаРедактирования  и установить значение "При изменении значения".

Но разработчики 1С такое не рекомендують делать, а значит, лучше всего будет выводить обработчиком ожидания какое то значение (в моем случае это время) в заголово формы


а выглядит это так


Все.

25 июн. 2016 г.

Добавить фото на форму 1С

Нужно было добавить возможность сохранять фотографии в справочнике Сотрудники.
Добавил в реквизит объекта реквизит «Фото» с типом «ХранилищеЗначений».
Добавил в реквизиты формы реквизит «СсылкаНаКартинку» с типом «Строка», с видом «ПолеКартинки».
Естественно, добавил кнопку «ВыбораФайла».

Теперь приведу два варианта решение задачи, так как первый вариант будет работать с платформой, у которой уже появился объект «ОписаниеОповещения», так как в 8.2 такого объекта еще нет.

Для тех, у кого в свойствах конфигурации отключен «Режим использования модальности» и использует версию платформы выше 8.2

*(данные способ был полностью скопирован в Павла Чистова)




Для тех, у кого в свойствах конфигурации включен «Режим использования модальности» и использует версию платформы ровную 8.2


 

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