- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
Функция ОпределитьВидКонтрагента(Контрагент) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Контрагент", Контрагент);
ТекстЗапроса = "ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент,
| Контрагенты.Представление КАК Представление,
| Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицоНеРезидент)
| И Контрагенты.Ссылка = &Контрагент";
Запрос.Текст = ТекстЗапроса;
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат Ложь;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если Контрагент = Выборка.Контрагент Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецЦикла;
КонецФункции
Я просто ХЗ как этот ваш 1С работает
Но вообще выборка выглядит пидорски в любом случае. Неужели там нету какого-то "Существует" метода у запроса? Или "неПустой'?
https://programmist1s.ru/nayti-bityie-ssyilki-zaprosom-1s-i-ne-tolko/
какой пхп ))
Ты Иканус?
https://infostart.ru/1c/articles/175898/
Такой вот багор.
- Да.
А Представление на кой чорт?
Возможно скопипастили неудачно.
1. исходя из возвращаемого результата, она отвечает на вопрос "является ли переданный контрагент юриком?". т.е. названа неправильно, но ведь работает
2. на строчке 21 можно было бы и остановится. т.е. если результат запроса пустой - то ложь иначе истина. косяк только в порядке следования условий. сначала надо было отбор по контрагенту, потом - по перечислению.
3. конструкция
функция ОпределитьВидКонтрагента(Контрагент) Экспорт
возврат (Контрагент.ЮрФизЛицо = Перечисление.ЮрФизЛицо.ЮрЛицоНеРезидент)
конецфункции
вызовет получение всех полей контрагента. а если там заблоблена фотка, например. хорошим тоном является получение конкретного поля из реквизита запросом. например в типовых возврат ОбщегоНазанчения.ЗначениеСвойстваОбъекта (Контрагент, "ВидКонтрагента") = ПредопредленноеЗначение("Перечисление.Юр ФизЛицо.ЮрЛицоНеРезидент");