Как задать вопрос по реквизиту

УФ. Задать вопрос пользователю при изменение реквизита

Я
   Wefast

26.04.18 — 09:37

На форме выведен реквизит.

Нужно при выборе определенного значения выводить пользователю вопрос. «Вы точно уверены. При изменение удалю данные».

Если он согласен — значение реквизита меняется и я выполняю ряд других действий. А если нет — то ничего не делаю.

Событие ОбработкаВыбора я думаю мне нужна. Там видно что я выбрал и видно что я изменяю.

В нем я могу отказаться от изменения написав СтандартнаяОбработка = Ложь.

Но мне там надо задать вопрос. И тогда я выйду из контекста этой процедуры.

Видел пример с событием ПриЗакрытие, где задавалась глобальная переменная и в событие проверялось ее значение, а в обработке события вопроса завалось ее значение и писалось Закрыть() чем вызывало событие ПриЗакрытие еще раз.

Я вроде видел где то в типовых кон-ях подобно, но не помню где чтобы поискать

   zwei

1 — 26.04.18 — 09:41

Кто тот негодяй, который запрещает тебе присвоить нужное выбраное значение без «контекста это процедуры»?

   Wefast

2 — 26.04.18 — 09:45

   Wefast

3 — 26.04.18 — 09:46

ПоказатьВопрос(Новый ОписаниеОповещения(«ОбработкаВыбораЗавершение», ЭтотОбъект),

                                                        «Закрывать форму?», РежимДиалогаВопрос.ДаНет)

И все. в эту процедуру он уже не вернется

   Wefast

4 — 26.04.18 — 09:48

Вижу такое решение.

В обработке ПриИзменение запросом получать значение реквизита из базы и сравнивать, в случае нужного ответа возвращать значение назад.

Но что то мне кажется это не правильно.

   zwei

5 — 26.04.18 — 09:50

(3) МойВажныйРеквизит = ДополнительныеПараметры.ВыбраноеЗначение;

   Mort

6 — 26.04.18 — 09:50

В первый раз этот вопрос пользователя напугает, а в последующие он тупо будет жать на автомате. Бесполезняк.

   zwei

7 — 26.04.18 — 09:51

Вообще да, такое надо перед записью спрашивать, когда все изменения применяются.

   Cyberhawk

8 — 26.04.18 — 09:51

«при выборе определенного значения» // Подробнее

   Тихий омут

9 — 26.04.18 — 09:51

(4) У конструктора описания оповещения третьим параметром идёт произвольный доп. параметр, он будет передан в обработчик оповещения — ну и передай через него выбранное значение, а в обработчике оповещения результата вопроса в зависимости от ответа пользвоателя присваивай это значение своему реквизиту или нет.

   zwei

10 — 26.04.18 — 09:52

(8) Вы выбрали торговую точку, проклятую генереальным. Ваша зарплата будет очищена. Продолжить?

   Mort

11 — 26.04.18 — 09:53

А причина подобных нелепых вопросов, конечно, в кривой архитектуре процесса работы с формой. Нефиг менять какие либо данные в базе пока юзер не нажмет записать.

   Митяйский

12 — 26.04.18 — 09:55

А не лучше ли сделать на манер стандартной блокировки редактирования номера документа?

То есть хочешь влезть в опасный реквизит — будь добр нажать кнопку, снимающую с него ридонли.

И регулировать все это дело доступностью полей, безо всяких голимых асинхронных вызовов

   Mort

13 — 26.04.18 — 09:55

(7) не нужно ничего спрашивать, информации на форме должно быть достаточно чтобы все остальное сделать без вопросов.

   Wefast

14 — 26.04.18 — 10:00

В общем зачем мне все это надо.

Есть реквизит «Вид операции»

Если вид операции №1 то обязательные реквизиты для заполнения одни.

Если другой — другие.

Если они зайдут и выберут первый вид операции, заполнят все. А потом захотят изменить тип, я хочу удалить значения реквизитов которые не участвуют в другом виде операции.

Но считаю что пользователь должен быть предупрежден

   Wefast

15 — 26.04.18 — 10:04

(5) не очень понял.

1.в событие ОбработкаВыбора сразу написать СтандартнаяОбработка = Ложь

2. Передать выбранное значение в вопросе

3. В обработке результата вопроса написать Объект.МойРевизит = ДопПараметры.ВыбранноеЗначение

Правильно?

   _Дайвер_

16 — 26.04.18 — 10:05

(14) Если они у тебя постоянные, значения твоего вида операции, заполни сам. Или просто при изменении Вопрос задай, даНет, и очищай по ответу. Это еще делается доступностью элементов формы, если реквизыты отличаются

   Wefast

17 — 26.04.18 — 10:08

(16) Первую часть не понял. Но в ПриИзменение предыдущее значение уже не доступно через точку, мне кажется получать его из базы, сравнивать и присваивать нужное значение не правильно. Опять заморачиваться с модифицированностью, чтобы если пользователь по факту ничего не менял, то не было признака изменения

   _Дайвер_

18 — 26.04.18 — 10:10

(17) Если ВИДЫОПЕРАЦИИ используют только определенные значения, тогда при изменении ВИДАОПЕРАЦИИ заполняй остальные реквизиты сам, и доступность элементов поставь ЛОЖЬ

   zwei

19 — 26.04.18 — 10:11

(13) Боже упаси от подобных «проектировщиков».

   zwei

20 — 26.04.18 — 10:13

«А почему, Галина Ивановна, вы перед записю не заглянули на 15 вкладку, где серенький чекбокс полностью меняет смысл операции?»

   Wefast

21 — 26.04.18 — 10:20

(18) И откуда я возьму  эти значение других реквизитов, если их вводит пользователь?

Т.е. для одного вида операции важно чтобы был к примеру указан договор.

А для другого не важен, так зачем записывать его значение если пользователь умудрился его заполнить?

(20) Ну я готов услышать годную версию как это делается.

Есть документ. Им принимается продукция от поставщика, а так же он используется для приемки товара с другого склада внутри производства.

Если от поставщика то нужно знать номер и дату входящего документа.

Если же пользователь выберет вид операции «из другого склада», то у этой операции нет даты и номера входящего документа.

Я делаю эти реквизиты на форме не доступными

Но их же нужно очистить. А для этого я хочу спросить пользователя, что он знает что делает.

   Aletar

22 — 26.04.18 — 10:20

Предложу такое решение.

В палитре свойств элемента формы есть такие свойства:

«ОтображатьПредупреждениеПриРедактированиии» и «ПредупреждениеПриРедактировании» (см. http://joxi.ru/YmEYJjGhZ4Xebm )

Можно установить эти свойства, а при изменении поля уже безусловно выполнять нужный алгоритм.

   Wefast

23 — 26.04.18 — 10:24

(22) Как вариант, но не спасает, если пользователь открыл документ. Начал менять реквизит, согласился с предупреждением. Заполнил все. Опять «случайно» поменял вид операции и он уже не предупреждает о последствиях

   Wefast

24 — 26.04.18 — 10:38

В общем сделал так:

&НаКлиенте

Процедура ВидПриемкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    
    Если ВыбранноеЗначение <> Объект.ВидПриемки И ВыбранноеЗначение = ПолучитьВидПриемкиШокер() Тогда

        ПоказатьВопрос(Новый ОписаниеОповещения(«ПередЗакрытиемЗавершение», ЭтотОбъект,ВыбранноеЗначение),

        «Данные о входящем документе будут очищены. Продолжить?», РежимДиалогаВопрос.ДаНет);

        СтандартнаяОбработка = ЛОЖЬ;

    ИначеЕсли ВыбранноеЗначение <> Объект.ВидПриемки Тогда

        Элементы.ВходящийНомерДата.Доступность = Истина;    

        
    КонецЕсли;

КонецПроцедуры

&НаКлиенте

Процедура ПередЗакрытиемЗавершение(РезультатВопроса, ПараметрыЗаписи) Экспорт

        
         Если РезультатВопроса = КодВозвратаДиалога.Да Тогда

             Объект.ВидПриемки = ПараметрыЗаписи;

             Элементы.ВходящийНомерДата.Доступность = ЛОЖЬ;

             Объект.НомерВходящегоДокумента = Неопределено;

             Объект.ДатаВходящегоДокумента = Неопределено;

             Объект.ДатаПроизводства = Неопределено;

         КонецЕсли;

        
КонецПроцедуры

Функция ПолучитьВидПриемкиШокер()

    Возврат Перечисления.КА_ВидыПриемки.ИзШокера;

КонецФункции

   Mort

25 — 26.04.18 — 11:13

(20) 15 вкладок и галку изменяющую суть операции делают те же люди, которые задают вопросы перед записью.

  

Mort

26 — 26.04.18 — 11:14

+(25) И для них есть отдельное название.

В этой небольшой статье мы рассмотрим три способа, как в 1С показать пользователю вопрос.

В 1С Предприятие есть возможность средствами встроенного языка показать пользователю окно с вопросом и несколькими вариантами ответа, например “Вы уверены, что хотите уничтожить все документы с начала времен?” и ответы “Да, Нет, Я подумаю, Отмена”.

Метод «Вопрос»

Простейший способ показать вопрос пользователю – метод глобального контекста Вопрос. Этот метод является синхронным и к тому же модальным, и не рекомендуется к использованию, однако все еще встречается как в различных обработках и отчетах, так и в конфигурациях. Использовать его очень просто – мы указываем строку вопроса, варианты ответа, и обрабатываем выбранный пользователем вариант.

&НаКлиенте
Процедура КомандаВопрос(Команда)
	Ответ = Вопрос("Вы видите текст вопроса?", РежимДиалогаВопрос.ДаНет);
	Сообщить("Ваш ответ "+ Ответ);
КонецПроцедуры

Но, как всегда, есть нюансы. У этого метода есть несколько необязательных параметров, такие как таймаут, кнопка по умолчанию, заголовок, и кнопка таймаута (на ней будут отображаться оставшиеся секунды до таймаута). Кроме того, помимо системных режимов диалога (“Да/Нет”, “Ок/Отмена” и других), разработчик может задать свой список значений с вариантами ответа на вопрос.

&НаКлиенте
Процедура ВопросИзСписка(Команда)	
	СписокКнопок = Новый СписокЗначений;
	СписокКнопок.Добавить("Синий", "Синий");
	СписокКнопок.Добавить("Зеленый", "Зеленый");
	СписокКнопок.Добавить("Красный", "Красный");
	Ответ = Вопрос("Какой провод перерезать?", СписокКнопок, 20,,,"Красный");
	Сообщить("Вы перерезали "+ Ответ + " провод");
КонецПроцедуры

Ну и вишенка на торте. Мало кто знает, а еще меньше тех кто пользуется – вопрос можно задавать в виде форматированной строки. Попробуйте, вдруг вам понравится:)

1С вопрос пользователю

&НаКлиенте
Процедура ВопросСРаскраской(Команда)	
	СписокКнопок = Новый СписокЗначений;
	СписокКнопок.Добавить("Синий", "Синий");
	СписокКнопок.Добавить("Зеленый", "Зеленый");
	СписокКнопок.Добавить("Красный", "Красный");
	
	ФорматированнаяСтрока = Новый ФорматированнаяСтрока("Какой провод перерезать? Варианты: ",
	Новый ФорматированнаяСтрока("Синий; ", , WebЦвета.Синий),
	Новый ФорматированнаяСтрока("Зеленый; ", , WebЦвета.Зеленый),
	Новый ФорматированнаяСтрока("Красный.", , WebЦвета.Красный));
	
	Ответ = Вопрос(ФорматированнаяСтрока, СписокКнопок, 20,,,"Красный");
	Сообщить("Вы перерезали "+ Ответ + " провод");	
КонецПроцедуры

Метод ПоказатьВопрос

Так как 1С планомерно отходит от модальности и синхронных методов, которые блокируют интерфейс и/или работу программы, рассмотрим асинхронный метод ПоказатьВопрос. Помимо всех параметров, рассмотренных выше, данный метод имеет еще один параметр: ОписаниеОповещенияОЗавершении. В этот параметр передается специальный объект с типом ОписаниеОповещения. Чтобы не мучиться и не писать в ручную, можно воспользоваться меню рефакторинга и преобразовать вызов.

Кликаем правой кнопкой на методе Вопрос в коде, в контекстном меню выбираем Рефакторинг / Нерекомендуемые синхронные вызовы / Преобразовать вызов. И платформа сама разделит наш метод на ПоказатьВопрос и обработку оповещения.

1С Вопрос - рефакторинг вызова

&НаКлиенте
Процедура КомандаВопрос(Команда)
	Ответ = Неопределено;
	ПоказатьВопрос(Новый ОписаниеОповещения("КомандаВопросЗавершение", ЭтотОбъект), "Вы видите текст вопроса?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

&НаКлиенте
Процедура КомандаВопросЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт	
	Ответ = РезультатВопроса;
	Сообщить("Ваш ответ "+ Ответ);	
КонецПроцедуры

Разумеется, получившийся код можно и нужно “причесать” – можно вынести описание оповещения в отдельную переменную, добавить дополнительные параметры, убрать ставший лишним код и т.д.

Метод ВопросАсинх

Начиная с версии 8.3.18 в платформе 1С появились новые асинхронные методы, работа с которыми во многом похожа на  asinc / await в JavaScript. Мы объявляем метод с ключевым словом Асинх, и в этом методе становится возможным использовать асинхронные методы. Перед вызовом метода ВопросАсинх мы указываем еще одно ключевое слово “Ждать”. Сам по себе метод ВопросАсинх не останавливает выполнение кода, и если не указать “Ждать”, то весь код ниже будет выполнен, и результат может быть не тот, что ожидался. По большому счету, это синтаксический сахар, призванный упростить код и облегчить жизнь разработчику.
Попробуйте убрать ключевое слово “Ждать” и сравните поведение программы 😉

&НаКлиенте
Асинх Процедура КомандаВопросАсинх(Команда)
	Ответ = Ждать ВопросАсинх("Вы заметили, что это асинхронный вопрос?", РежимДиалогаВопрос.ДаНет,,,"А ведь это асинхронный вопрос!");
	Сообщить("Ваш ответ "+ Ответ);
КонецПроцедуры

В остальном, этот метод имеет все те же параметры, что и метод “Вопрос”, который мы рассмотрели в самом начале.

Ответы

В зависимости от того, как мы задали параметр “Кнопки”, ответы могут быть самые различные. Если использовать РежимДиалогаВопрос, то у ответа тип значения будет КодВозвратаДиалога. Если же указать кнопки в виде списка значений, то в поле Ответ будет содержаться значение, привязанное к соответствующей кнопке. Типы значений в списке кнопок можно задавать самые различные. А следовательно, и логику обработки ответа можно реализовать самую разную, в зависимости от полученного значения и его типа.

&НаКлиенте
Процедура ОтветыРазныхТипов(Команда)
	СписокКнопок = Новый СписокЗначений;
	СписокКнопок.Добавить(2, "2");
	СписокКнопок.Добавить("Привет", "Привет");
	//В конфигурации должен быть справочник Организации с предопределенным элементом ОсновнаяОрганизация
	СписокКнопок.Добавить(ПредопределенноеЗначение("Справочник.Организации.ОсновнаяОрганизация"), "Справочник");
	СписокКнопок.Добавить(ТекущаяДата(), "Сегодня");
	СписокКнопок.Добавить(КодВозвратаДиалога.Пропустить, "Пропустить");
	Ответ = Вопрос("какой тип значения у выбранного ответа?", СписокКнопок);
	
	Если ТипЗнч(Ответ) = Тип("Число") Тогда
		Ответ = Ответ*2;
	ИначеЕсли ТипЗнч(Ответ) = Тип("Строка") Тогда
		Ответ = Ответ + " программист 1С!";
	ИначеЕсли ТипЗнч(Ответ) = Тип("СправочникСсылка.Организации") Тогда
		ОткрытьЗначение(Ответ);
	ИначеЕсли ТипЗнч(Ответ) = Тип("Дата") Тогда
		Ответ = НачалоДня(Ответ);			
	Иначе
		//Код ответа Пропустить, ничего не делаем
	КонецЕсли;	
	
	Сообщить("Тип значения " + ТипЗнч(Ответ) + "; значение " + Ответ);

КонецПроцедуры

Пользуйтесь асинхронными методами, задавайте пользователям коварные вопросы, и до новых встреч!

Вопросы по налогам, бухгалтерии и трудовому законодательству

Задайте вопрос и получите бесплатную консультацию. Опытные консультанты с опытом работы в налоговой инспекции помогут разобраться в различных нюансах налогообложения, бухгалтерии и трудового законодательства.

  • Latest

  • Votes
  • Unanswered


декларация 3ндфл

подавала заявление через личный кабинет ФНС ещё в феврале 2023г. в личном кабинете нет результатов проверок! звонила в налоговую инспекцию …


  • 0

    Ответы



4 часа ago

2


ЭЦП

Ассоциация «Объединение автопроизводителей России» (ИНН 7701336202/771501001) является некоммерческой, общественной организацией. Де-юре руководит Председатель Совета Ассоциации. Де-факто руководство осуществляет Исполнительный директор, …


  • 0

    Ответы


возврат налогового вычета

Добрый день! 17.03.23 была повторно подана декларация за 2022 года (корректировка суммы на возврат налогового вычета на недвижимость), интересует когда …


  • 1

    Ответы


Возврат по 2-НДФЛ

Здравствуйте. Подовала на возврат 2НДФЛ 15.03.23. Проверка прошла 03.03.23 без нарушений. Пишут что возвращено на расчетный счёт. Через сколько ждать …


  • 1

    Ответы


Налоговый вычет

24.04.23 пришёл отказ на возврат налогового вычета по ипотеке за 2020 год на сумму 88359₽. Какие документы мне ещё необходимо …


  • 2

    Ответы


Пенсионные льготы

Какие документы и куда нужно отправить в налоговую для получения пенсионных льгот?


  • 1

    Ответы


Налог после продаже квартиры

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


  • 1

    Ответы


Вопрос по НДФЛ

Добрый день! У меня есть вопрос по НДФЛ: имею в собственности земельный участок (земли населенных пунктов, для сельскохозяйственного производства): ½ …


  • 1

    Ответы


По декларации на доходы

Добрый день. В прошлом году мы продали квартиру, находящуюся в общей собственности с мужем. Квартира была в собственности меньше 5 …


  • 1

    Ответы


Трудовой договор

Здравствуйте, могу ли я оформить сотрудника по трудовому договору за 3 месяца назад?


  • 1

    Ответы

  • 1

    Ответы

Встала задача — перед записью документа произвести некоторые проверки и задать вопрос пользователю, в зависимости от ответа — провести документ или нет.

Все бы хорошо, но логика не модальных диалогов приводит нас к тому, что вопрос еще не отвечен, а процедура, вызвавшая ее, уже завершила свою работу.

Есть несколько вариантов решения, один — это замена стандартных команд своими, второй использование дополнительных переменных и повторный вызов процедуры.

В моем случае инициирует все процедура ПередЗаписью() (я делал в расширении, перед):


//Объявляем ряд глобальных переменных в контексте клиента
//Пока переменные не переопределены их значение равно - Неопределено
&НаКлиенте
Перем ОтказатьВПроведении;
&НаКлиенте
Перем глПараметрыЗаписи;



&НаКлиенте
Процедура Расш1_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        глПараметрыЗаписи=ПараметрыЗаписи;
        Если ОтказатьВПроведении=Неопределено Тогда 
            ДиалогСВопросом();
            Отказ=Истина; // завершаем работу процедуры в самом ее зачатке
        Иначе 
            Отказ=ОтказатьВПроведении;
            ОтказатьВПроведении=Неопределено;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

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


Вся мысль заключается в следующем:
После нажатия кнопки провести проверяется переменная ОтказатьВПроведении, если она равна неопределено, тогда вопрос еще не задавался запускаем выполнение процедур вопроса и ставим отказ в истину, чтобы документ не провелся. В процедуре после вопроса формируются новые значения переменной ОтказатьВПроведении (на этот момент ПередЗаписью уже завершился), и в конце снова запускаем запись с параметрами проведения. Переменная ОтказатьВПроведении уже имеет значение отличное от Неопределено, значит вопрос задавался, выполняем дальше процедуры/функции сообразуясь с ответом пользователя. Незабываем очистить переменную ОтказатьВПроведении.

UP 21/05/2022

Был много удивлен, увидев свой пост на этот вопрос заданный мной в гугле, но даже при этом я не удовлетворился описанным методом и упростил его использовав ПараметрыЗаписи:

ПередЗаписью (BeforeWrite)

Синтаксис:

ПередЗаписью(<Отказ>, <ПараметрыЗаписи>)

Параметры:

<Отказ>

Тип: Булево. 
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, запись выполнена не будет и будет вызвано исключение.
Значение по умолчанию: Ложь.

<ПараметрыЗаписи>

Тип: Структура. 
Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Параметр РежимПроведения может отсутствовать, если режим проведения в документе не определен.


//НЕ Объявляем ряд глобальных переменных в контексте клиента

&НаКлиенте
Процедура Расш1_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        Если ПараметрыЗаписи.Свойство("ОтказатьВПроведении") Тогда
            ДиалогСВопросом();
            Отказ=Истина; // завершаем работу процедуры в самом ее зачатке
        Иначе 
            Отказ=ПараметрыЗаписи.ОтказатьВПроведении;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

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


Здесь логика почти такая же, но переменная ОтказатьВПроведнии превращается в свойство стандартной структуры ПараметрыЗаписи, что уменьшает код и улучшает его читаемость.

Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Гарантия", ЗначениеРеквизита);

Этот способ подходит для поиска по реквизитам справочника. И он ищет только первый элемент и не годится, если их несколько.
Но, поскольку вы пишете что вам нужно осуществить поиск по дополнительному реквизиту, то вам прийдеться писать запрос, и решение зависит от того, как в вашей конфигурации реализованы дополнительные реквизиты.
Например, в конфигурации УНФ, дополнительные реквизиты, это элементы табличной части справочника Номенклатура. При этом «свойство», т.е. имя реквизита, в вашем случае «Гарантия», это план видов характеристик ДополнительныеРеквизитыИСведения. Запрос будет выглядеть примерно так:

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	НоменклатураДополнительныеРеквизиты.Ссылка КАК НоменклатураСсылка
		|ИЗ
		|	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
		|ГДЕ
		|	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
		|	И НоменклатураДополнительныеРеквизиты.Значение = &Значение";
	
	Запрос.УстановитьПараметр("Значение", ЗначениеГарантии);
	Запрос.УстановитьПараметр("Свойство", СсылкаНаПВХ_Гарантия);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		// Вставить обработку выборки ВыборкаДетальныеЗаписи
	КонецЦикла;

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей нашего сайта:

  • Монгольские компании в москве
  • Мондиал бизнес консорциум ооо
  • Монетка реквизиты организации
  • Монополия на большую компанию
  • Монопольные компании в россии

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии