Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 02:34
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как выбрать элементы справочника по нескольким владельцам?  (Прочитано 8522 раз)

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

Оффлайн victoriums

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-18
  • Сайт: 
  • Профессия: Программист 1С
Например в конфигурации Бух предприятия есть справочник Банковские счета который имеет 2 вида владельца Организацию и Контрагента, как программно выбрать счета, к примеру по Организации1 и по Контрагенту1



Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
БанковскийСчет = Организация1.ОсновнойБанковскийСчет;
или
БанковскийСчет = Контрагент1.ОсновнойБанковскийСчет;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн victoriums

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-18
  • Сайт: 
  • Профессия: Программист 1С
Это не то, мне нужно получить не основной счет этих владельцев, а выбрать все их счета, вот в таком варианте

      ВыбСчет = Справочники.БанковскиеСчета.Выбрать(, Клиент.Ссылка);
      Пока ВыбСчет.Следующий() Цикл
         Счет = ВыбСчет.ПолучитьОбъект();
...
      КонецЦикла;
 
Здесь владелец = Клиент.Ссылка, а нужно еще и Организация.Ссылка, как сразу выбрать по двум владельцам (без использование запросов)? В доках ни чего не нашол. может как то отбором можно?

Оффлайн victoriums

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-18
  • Сайт: 
  • Профессия: Программист 1С
Я так понял, что владелец элемента справочника банковские счета может быть только один, но быть двух видов организацией ИЛИ контрагентом

Оффлайн victoriums

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-18
  • Сайт: 
  • Профессия: Программист 1С
В справке сказано что в методах справочниках подобных Выбрать(, Владелец), параметр владелец может быть ссылкой тока одного владельца, а все остальное запросами как в 77. Всем спасибо за молчаливое согласие:))

Оффлайн AntonB

  • Модератор
  • *****
  • Сообщений: 402
  • РЕПУТАЦИЯ: 74
  • КПД: 18%
  • Регистрация: 2011-05-26
  • Сайт: 
  • Профессия: Программист 8.1
Я так понял, что владелец элемента справочника банковские счета может быть только один, но быть двух видов организацией ИЛИ контрагентом
Все правильно поняли. Владелец всегда один.
А конкретно для банковских счетов второй владелец одновременно и по смыслу не требуется.
Просто у каждого контрагента есть свои счета и у каждой организации свои счета,
а хранятся они все в одном справочнике.

Вот для договоров есть соблазн сделать 2 владельца :) .
Там договор должен привязываться к паре организация-контрагент сразу.
Но владельцем можно поставить только одного - поэтому владельцем сделали контрагента.
А когда нужно выбрать договора между организацией и контрагентом - приходится использовать запрос.
Даже если здесь сделать владельца двух видов - это все равно не позволит сразу отобрать договора между нужными организацией и контрагентом.
Предлагаю полный ИТ сервис небольшой организации в Москве (приходящий сисадмин+1С7.7,1С8.x)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Чем быстрее отойдете от объектной модели выборки данных (Выбрать(...)) - тем лучше для вас.
Выборка данных по сложным условиям (например такое как у вас ;) ) - делается исключительно запросом.
Например таким

ВЫБРАТЬ
   БанковскиеСчета.Ссылка,
   БанковскиеСчета.Владелец
ИЗ
   Справочник.БанковскиеСчета КАК БанковскиеСчета
ГДЕ
   БанковскиеСчета.Владелец = &Организация

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   БанковскиеСчета.Ссылка,
   БанковскиеСчета.Владелец
ИЗ
   Справочник.БанковскиеСчета КАК БанковскиеСчета
ГДЕ
   БанковскиеСчета.Владелец = &Контрагент
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Запросом, конечно, лучше. Но если уж принципиально нужно без запроса, тогда что мешает сделать выборку два раза? три? десять?))
     МассивВладельцев=Новый Массив;
     МассивВладельцев.Добавить(Клиент);
     МассивВладельцев.Добавить(Организация);
     // можно еще хоть 10 вариантов владельцев добавить

     Для каждого Владелец из МассивВладельцев цикл
          ВыбСчет = Справочники.БанковскиеСчета.Выбрать(, Владелец);
          Пока ВыбСчет.Следующий() Цикл
               Счет = ВыбСчет.ПолучитьОбъект();
               ...
          КонецЦикла;
      КонецЦикла;

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

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

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
2cska-fanat-kz
а я бы писала запрос так:
ВЫБРАТЬ
   БанковскиеСчета.Ссылка,
   БанковскиеСчета.Владелец
ИЗ
   Справочник.БанковскиеСчета КАК БанковскиеСчета
ГДЕ
   БанковскиеСчета.Владелец = &Организация
   ИЛИ БанковскиеСчета.Владелец = &Контрагент

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

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


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 6505
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4212
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 646
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2052
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 275
Последний ответ 12 Окт 2017, 14:02
от wise

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
61 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 157
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal