Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 21:53

запуск подбора!

Автор elai27, 25 мар 2011, 18:17

0 Пользователей и 1 гость просматривают эту тему.

elai27

немогу разобраться : что мне прописать надо для кнопки на форме документа что бы при ее нажатии запускался подбор номенклатуры!?
УТ10.3

has

А в чем проблема посмотреть в каком-нибудь документе?

elai27

посмотрел! в типовых документах сделал по анологии вроде! ничего не получается!

has

Ошибку выдает? Отладчиком пройдитесь. Что именно не получается?

elai27

Ошибок не выдает! просто при нажатии на кнопку Подбор обновляется экран!и все!
я уже разные варианты перебрал с обращением к подбору! но ничего не вышло все коды поудалял которые пробывал!(
Неужели нет просто обращения которое запускает обработку Подбор и все! в типовых документах это все реализовано слишком сложно для МЕНЯ )

elai27

{Обработка.ПодборНоменклатуры.Форма.ОсновнаяФорма(289)}: Ошибка при установке значения атрибута контекста (Доступность): Несоответствие типов
      ЭлементыФормы.ЗапрашиватьЦену.Доступность  = ЕстьЦена;


Вот такую ошибочку дает!

Процедура ДействиеПодбор(ТабличнаяЧасть)
   
ЕстьЦена  = мМожноМенятьЦенуВДокументе;
ЕстьСерия = Истина;

   
СписокВидовПодбора = СформироватьСписокЗапросовДляПодбора();
ПредставлениеДок   = Метаданные().Представление();

СтруктураПараметровПодбора = Новый Структура();
СтруктураПараметровПодбора.Вставить("Команда"            , "ПодборВТабличнуюЧастьТовары");
СтруктураПараметровПодбора.Вставить("СписокВидовПодбора" , СписокВидовПодбора);

// Параметры запросов.
ВременнаяДатаРасчетов = ?(НачалоДня(Дата) = НачалоДня(ТекущаяДата()), Неопределено, Дата);
СтруктураПараметровПодбора.Вставить("ДатаРасчетов",            ВременнаяДатаРасчетов);
СтруктураПараметровПодбора.Вставить("ДоговорКонтрагента",      Неопределено);
СтруктураПараметровПодбора.Вставить("Контрагент",              Неопределено);
СтруктураПараметровПодбора.Вставить("ЕстьЦена",                ЕстьЦена);
СтруктураПараметровПодбора.Вставить("ЕстьСерия",               ЕстьСерия);
СтруктураПараметровПодбора.Вставить("ВалютаДокумента",         Константы.ВалютаРегламентированногоУчета);
СтруктураПараметровПодбора.Вставить("ПодбиратьУслуги",         Истина);
СтруктураПараметровПодбора.Вставить("ОтборУслугПоСправочнику", Ложь);
СтруктураПараметровПодбора.Вставить("Заголовок", "Подбор номенклатуры в документ " +
                                    ПредставлениеДок + " № " + Номер);

РаботаСДиалогами.ОткрытьПодборНоменклатуры(ЭтаФорма, СтруктураПараметровПодбора, Метаданные());

КонецПроцедуры // ДействиеПодбор()


has

Помотрите есть ли флажок на форме обработки

elai27

всмысле флажок!? в правах что ли пользователя?

Klyacksa

Вы привели код, в котором нет строки с ошибкой. Приведите, пожалуйста, место, где возникает ошибка.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

elai27

Ошибка возникает в модуле самой обработки!


Процедура УправлениеДиалогом()

   Перем ЕстьЦена, ЕстьСерия, ЕстьКоличество;

   Если СтруктураИсходныхПараметров.Свойство("ЕстьЦена" , ЕстьЦена) Тогда
      ЭлементыФормы.ЗапрашиватьЦену.Доступность  = ЕстьЦена;
      ЗапрашиватьЦену  = ?(ЕстьЦена,  ЗапрашиватьЦену,  Ложь);
   Иначе
      ЭлементыФормы.ЗапрашиватьЦену.Доступность  = Ложь;
      ЗапрашиватьЦену  = Ложь;
   КонецЕсли;

   Если СтруктураИсходныхПараметров.Свойство("ЕстьСерия", ЕстьСерия) Тогда
      ЭлементыФормы.ЗапрашиватьСерию.Доступность = ЕстьСерия;
      ЗапрашиватьСерию = ?(ЕстьСерия, ЗапрашиватьСерию, Ложь);
   Иначе
      ЭлементыФормы.ЗапрашиватьСерию.Доступность = Ложь;
      ЗапрашиватьСерию = Ложь;
   КонецЕсли;

   Если НЕ СтруктураИсходныхПараметров.Свойство("ЕстьХарактеристика", ЕстьХарактеристика) Тогда
      ЕстьХарактеристика = Истина;
   КонецЕсли;

   Если СтруктураИсходныхПараметров.Свойство("ЕстьКоличество", ЕстьКоличество) Тогда
      ЭлементыФормы.ЗапрашиватьКоличество.Доступность = ЕстьКоличество;
      ЗапрашиватьКоличество = ?(ЕстьКоличество, ЗапрашиватьКоличество, Ложь);
   Иначе

      // по умолчанию если параметр не передан, то флаг запроса количесва доступен,
      // а выставлен он или нет регулируется в процедуре ПриОткрытии()
      ЭлементыФормы.ЗапрашиватьКоличество.Доступность = Истина;
   КонецЕсли;

   ЭлементыФормы.НадписьДатаРасчетов.Видимость  = ЗначениеЗаполнено(ДатаРасчетов);
   ЭлементыФормы.ДатаРасчетов.Видимость         = ЗначениеЗаполнено(ДатаРасчетов);
   
   СтруктураИсходныхПараметров.Свойство("ПодбиратьУслуги",         ПодбиратьУслуги);
   СтруктураИсходныхПараметров.Свойство("ОтборУслугПоСправочнику", ОтборУслугПоСправочнику);
   ОтборУслугПоСправочнику = ?(ОтборУслугПоСправочнику = Неопределено, Истина, ОтборУслугПоСправочнику);
   ПодбиратьУслуги         = ?(ПодбиратьУслуги = Неопределено, Ложь, ПодбиратьУслуги);

   Если ОтборУслугПоСправочнику Тогда
      ОтборУслуга = СправочникНоменклатура.Отбор.Услуга;
      ОтборУслуга.Значение      = ПодбиратьУслуги;
      ОтборУслуга.ВидСравнения  = ВидСравнения.Равно;
      ОтборУслуга.Использование = Истина;
   КонецЕсли;

КонецПроцедуры // УправлениеДиалогом()

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск