26 нояб. 2016 г.

Строки неограниченной длинны сгруппировать в запросе

Если нужно сгруппировать в СКД поле не ограниченной длинны, тогда нужно применить функцию ВЫРАЗИТЬ() для этого поля
ВЫРАЗИТЬ(ПолеНеОграниченнойДлинны КАК Строка(200))

Использование в отборе Категорий в СКД

Конфигурация Управление Торговлей.

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


Для решения открываем наш запрос и в конце запроса добавляем 
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
         СвойстваОбъектов.Ссылка,
         СвойстваОбъектов.ТипЗначения,
         "Свойство: " + СвойстваОбъектов.Наименование КАК Наименование
      ИЗ
         ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
      ГДЕ
         СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
         КатегорииОбъектов.Ссылка,
         "Категория: " + КатегорииОбъектов.Наименование КАК Наименование
      ИЗ
         Справочник.КатегорииОбъектов КАК КатегорииОбъектов
      ГДЕ
         КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Категория
}
Взято с ссылка

Переопределить кнопку Выбора 7.7

Есть форма элемента Справочника с реквизитом типа Ссылка на Документ.РасходнаяНакладная.
Нужно при нажатии кнопки открытия этого реквизита открывался не список документов, а конкретный документ


Для решения в ФормеЭлемента справочника пишем
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФСО)
 Если ИдентЭлемДиалога = "Док" Тогда
  Если ПустоеЗначение(Док) = 0 Тогда
   ФСО = 0;
   ОткрытьФорму(Док);
  КонецЕсли;
 КонецЕсли;        
КонецПроцедуры
Теперь при нажатии на реквизит Регистратор (Док) откроется сразу форма документа, 
а не список документов

Обработка нажатия формы списка 7.7

Пример, есть форма списка Справочника с несколькими колонками


В свойствах этого справочника стоит настройка Редактировать: В диалоге


мне нужно сделать так, что бы при нажатии на колонку Документ открывалась сразу форма выбранного документа, а в остальных случаях, что бы выполнялся стандартная обработка открытия объекта.

В модуле ФормыСписка пишу 
Процедура ПриВыбореСтроки()          
 Если Форма.ТекущаяКолонка()  = "Док" Тогда  
  Если ПустоеЗначение(Док) = 0 Тогда
   ОткрытьФорму(Док);
  КонецЕсли;    
 Иначе
   ОбТМЦ = СоздатьОбъект("Справочник.АрхивТТН");  
   ОбТМЦ.НайтиПоКоду(Код,0);
   ОткрытьФорму(ОбТМЦ.ТекущийЭлемент());
 КонецЕсли;
КонецПроцедуры             

 Форма.ОбработкаВыбораСтроки(1);
А значит, если пользователь выбрал колонку Документ (Док) то будет открыт форма документа, а если выбрал любую другую колонку тогда мы ищем из текущей строки объект по коду в нашем справочнике и открываем его.
 

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