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

что можно использовать на клиенте вместо метода Найти()?

Автор Yamuna, 28 авг 2019, 09:20

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

Yamuna

Цитата: LexaK от 28 авг 2019, 14:58
отбор строк просто на форме чего-то там вам фильтрует!
причем тут логин и пароль?

для поиска и работы с данными какой ТЧ/ТЗ используйте метод НайтиСтроки(...)

вообще с самого начала не понятно что вам надо сделать вообще
если сможете опишите.

встали/выбрали на строчку в талице Подписки ... (что дальше должно произойти?)
а дальше если посмотреть по коду, то получается что если заявка заполнена тогда проверяют контрагента, и если он заполнен, то проверяют в третьей табличной части есть ли у него логин и пароль, кажется так посмотрите сами ... и здесь я как вы посоветовали для отбора строк из этой третьей ТЧ как раз и стал использовать метод НайтиСтроки(...) так будет правильно?

&НаКлиенте
Процедура ПодпискиПриАктивизацииСтроки(Элемент)
Строка = Элементы.Подписки.ТекущиеДанные;
Если Не Строка = Неопределено Тогда

Элементы.ПараметрыПодпискиДиски.Доступность = Истина;

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

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

Если ЗначениеЗаполнено(лкЗаявка)Тогда

// Контрагент
Контрагент = лкЗаявка.Контрагент;

Если ЗначениеЗаполнено(Контрагент) Тогда
ОтборСтруктура = Новый Структура("Контрагент",Контрагент ) ;
Строка = Объект.АутентификационныеДанные.НайтиСтроки(ОтборСтруктура);

//Строка = Объект.АутентификационныеДанные.Найти(Контрагент, "Контрагент");
Если Не Строка = Неопределено Тогда
Логин = Строка.Логин;
Пароль = Строка.Пароль;
Иначе
Логин = "";
Пароль = "";
КонецЕсли;

КонецЕсли;

КонецЕсли;
КонецЕсли;
КонецПроцедуры


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


LexaK

что бы проверить логин и пароль, да еще сразу по всем строчкам, я советую написать какой-то мини отчет
на форму документа добавьте кнопку: Проверка паролей - в ней одним запросом, сразу ко всем таб.частям, все найдите, проверьте и выведите нужную информацию.
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск