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

Автор Тема: Форма списка справочника  (Прочитано 137 раз)

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

Оффлайн Кот_Леопольд

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-08-20
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день. Подскажите как настроить форму списка для справочника контрагент (иерархический) в котором две группы заказчики и поставщики, мне нужно чтобы отображались только заказчики на начальной  страницы конфигурации. 8.3 УФ. Думаю это можно сделать несколькими способами, если можно подскажите по каждому. И укажите какой оптимальней.
Способы:
1.  Запрос, получается сделать но не могу его правильно применить, а точней как указать не "Сообщить данные", а "Показать данные в списке"
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
    СсылкаНаРодителя = Справочники.Контрагенты.НайтиПоНаименованию("Заказчики");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        | Контрагенты.Наименование КАК Наименование
        |ИЗ
        | Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        | Контрагенты.Родитель = &Родитель";
 
    Запрос.УстановитьПараметр("Родитель", СсылкаНаРодителя);
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаКонтрагентов = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаКонтрагентов.Следующий() Цикл
        Сообщить (ВыборкаКонтрагентов.Наименование);
    КонецЦикла;
 
КонецПроцедуры

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
ОтобратьЗаказчика();
КонецПроцедуры

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

Последний раз редактировалось: Кот_Леопольд; 11 Фев 2019, 07:55


Оффлайн bsn-chita

  • **
  • Сообщений: 75
  • РЕПУТАЦИЯ: 21
  • КПД: 28%
  • Регистрация: 2017-03-06
  • Сайт: 
  • Профессия: Ученик 1С
Из первого варианта:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.ПроизвольныйЗапрос = Истина;
Список.ТекстЗапроса = "ВЫБРАТЬ
                      | Контрагенты.Наименование КАК Наименование
                      |ИЗ
                      | Справочник.Контрагенты КАК Контрагенты
                      |ГДЕ
                      | Контрагенты.Родитель = &Родитель";
Список.Параметры.УстановитьЗначениеПараметра("Родитель", Справочники.Контрагенты.НайтиПоНаименованию("Заказчики"));
КонецПроцедуры
Из второго варианта:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УстановитьОтборПоРодителю();
КонецПроцедуры

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

&НаСервере
Функция ПолучитьРодителя()
Возврат Справочники.Контрагенты.НайтиПоНаименованию("Покупатели");
КонецФункции

Оффлайн Кот_Леопольд

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-08-20
  • Сайт: 
  • Профессия: Ученик 1С
Большое спасибо!!! Второй вариант отлично работает!!! А вот с первым ошибка есть при запуске программы выдает сообщение "Внутренняя ошибка динамического списка. Не найдена информация связанной таблицы" Не подскажите что нужно сделать?

Из первого варианта:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.ПроизвольныйЗапрос = Истина;
Список.ТекстЗапроса = "ВЫБРАТЬ
                      | Контрагенты.Наименование КАК Наименование
                      |ИЗ
                      | Справочник.Контрагенты КАК Контрагенты
                      |ГДЕ
                      | Контрагенты.Родитель = &Родитель";
Список.Параметры.УстановитьЗначениеПараметра("Родитель", Справочники.Контрагенты.НайтиПоНаименованию("Заказчики"));
КонецПроцедуры
[code] 
[/quote]


Теги:
 

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

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

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

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

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

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

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

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

Ответов: 5
Просмотров: 3061
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение дополнительных реквизитов справочника при помощи обработки "Групповое изменение реквизито"

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

Ответов: 6
Просмотров: 639
Последний ответ 22 Дек 2018, 10:48
от alex0402

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
88 Сообщений
AIFrame AIFrame
64 Сообщений
alexandr_ll
42 Сообщений
alex0402
31 Сообщений
wise wise
23 Сообщений
LexaK
18 Сообщений
BuhRust
15 Сообщений
byte777
14 Сообщений
pavl_vs
14 Сообщений
Weidermail
13 Сообщений

* Кто онлайн

  • Точка Гостей: 113
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal