Переключение на Главную Страницу Страницы: 1 ... 59 60 [61] 62 63 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 392207 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #900 - 06. Июня 2013 :: 07:59
Печать  
Для получения текущей выборки см.
Цитата:
Выбрать
Синтаксис: Выбрать(ВекторКолонок)
Параметры:
•      ВекторКолонок – коллекция «СтруктураДанных», или «АссоциативныйВектор» с значениями и ключами равными идентификаторам колонок, или пустое значение, по описанию которой будет произведена выборка из базы данных и возвращена индексированная таблица данных упорядоченная в процессе выборки по значению «РеквизитСортировки».
Возвращаемое значение: объект «ИндексированнаяТаблица» заполненная по результатам выборки.
Описание: Метод производит выборку из базы данных по текущему состоянию табличного поля. Т.о. если на текущий момент существует отбор или же отображены элементы какого либо родителя, то выборка вернет значения, упорядоченные в соответствующем табличному полю порядку, с отбором по значениям и/или родителям (владельцам).


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

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #901 - 06. Июня 2013 :: 08:24
Печать  
vandalsvq писал(а) 06. Июня 2013 :: 07:59:
Для получения текущей выборки см.
[quote]Выбрать
Синтаксис: Выбрать(ВекторКолонок)

От жеж! все проще гораздо Улыбка
  
Наверх
ICQ  
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #902 - 11. Июня 2013 :: 03:25
Печать  
Как всегда туплю. Создал Поставщика с типом значений "Справочник.МойСправочник". Создал колонки в соответствии со структурой справочника. Хочу создать еще доп.колонки. Отображать их, по-видимому, в процедуре "ПриВыводеСтроки".
А создавать где?
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #903 - 11. Июня 2013 :: 04:08
Печать  
ANik писал(а) 11. Июня 2013 :: 03:25:
Как всегда туплю. Создал Поставщика с типом значений "Справочник.МойСправочник". Создал колонки в соответствии со структурой справочника. Хочу создать еще доп.колонки. Отображать их, по-видимому, в процедуре "ПриВыводеСтроки".
А создавать где?


Код
Выбрать все
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	...............
	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.Добавить("МояКолонка");
	Колонка.Заголовок = "Моя колонка";
	//Колонка.Данные = "Установлена";
	//Колонка.Ширина = 15;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	//Колонка.Видимость = 1;
 

  
Наверх
ICQ  
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #904 - 11. Июня 2013 :: 05:38
Печать  
Дурака учить - только портить. Колонка появилась, а заполнить при выводе опять туплю.
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #905 - 11. Июня 2013 :: 06:21
Печать  
ANik писал(а) 11. Июня 2013 :: 05:38:
Дурака учить - только портить. Колонка появилась, а заполнить при выводе опять туплю.

Да, а хотел же сразу вывод показать, но поленился  Улыбка

Код
Выбрать все
//======================================================================
Процедура КонтейнерТППриВыводеСтроки(ТП,ОформлениеСтроки, ДанныеСтроки, ТипРегиона)
	//ТекЭлем = ДанныеСтроки.Элемент; //Если Поставщик-Справочник, то ДанныеСтроки = ТекущийЭлемент()
	//Если ТипЗначенияСтр(ТекЭлем) <> "Справочник" Тогда
	//	Возврат;
	//КонецЕсли;
	ОформлениеСтроки.Ячейки.МояКолонка.УстановитьТекст("ТекстМоейКолонки");
КонецПроцедуры // КонтейнерТПЦеныПриВыводеСтроки
 


Но это медленный способ. Идеологически правильно - модифицировать запрос Поставщика и добавлять туда колонки, через соединения в запросе с табличками нужных данных. Где-то в начале топика есть пример от автора - Справочник.Номенклатура + Дерево + с колонкой "Остаток", значение которой - через соединение основного Запроса с табличкой остатков.
  
Наверх
ICQ  
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #906 - 11. Июня 2013 :: 06:32
Печать  
[quote author=Dolly_EV link=1285520767/900#905
Идеологически правильно - модифицировать запрос Поставщика . [/quote]
Это я хотел следующим вопросом  Подмигивание
В справочнике есть реквизит "Материал" (тип "Справочник.Материалы") и хотелось бы выводить в колонки его код и кое-какие реквизиты. Как зацепить?
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #907 - 11. Июня 2013 :: 06:42
Печать  
Смотри в доке методы ДобавитьКолонкуДанных и ДобавитьСоединениеДанных(ИмяСоединения,ТекстЗапроса)
  
Наверх
ICQ  
IP записан
 
Inteco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 10. Декабря 2008
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #908 - 13. Июня 2013 :: 09:41
Печать  
Подскажите НУБу как изменить доступность некоторых кнопок из стандарного набора?
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #909 - 14. Июня 2013 :: 00:20
Печать  
Inteco писал(а) 13. Июня 2013 :: 09:41:
Подскажите НУБу как изменить доступность некоторых кнопок из стандарного набора?


1. метод объекта «ПоставщикДанных.КоманднаяПанель»

Доступность
Синтаксис: Доступность(Идентификатор, Пометка)
Параметры:
•      Идентификатор – Идентификатор кнопки или ее номер.
•      Пометка – Число (1,0). Признак доступности кнопки.
Возвращаемое значение: отсутствует
Описание: Устанавливает значение «Доступность» у переданной кнопки. При этом изменение командной панели происходит автоматически.

2. методы объекта-наследника «ПоставщикДанных.ТабличноеПоле»

ИзменятьСоставСтрок
Синтаксис: ИзменятьСоставСтрок
Доступ: Чтение и запись
Тип: Число. 1 – разрешить, 0 – запретить.
Описание: Устанавливает и возвращает значение доступности изменения состава строк. Если значение = 0, то кнопки командной панели «Добавить», «Скопировать», «Удалить» недоступны, отсутствуют команды в контекстном меню, а также не происходит обработка событий клавиатуры.

ИзменятьПорядокСтрок
Синтаксис: ИзменятьПорядокСтрок
Доступ: Чтение и запись
Тип: Число. 1 – разрешить, 0 – запретить.
Описание: Устанавливает и возвращает значение доступности изменения порядка строк. Если значение = 0, то кнопки командной панели «СтрокуВверх»*, «СтрокуВниз»*, «ПоВозрастанию»*, «ПоУбыванию»* недоступны и отсутствуют команды в контекстном меню (* - данные кнопки присутствуют только у расширения «ИндексированнаяТаблица» и «СписокЗначений»).
  
Наверх
ICQ  
IP записан
 
Inteco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 10. Декабря 2008
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #910 - 14. Июня 2013 :: 06:22
Печать  
Если я правильно понял, это так?
     ПдКп=СоздатьОбъект("ПоставщикДанных.КоманднаяПанель");
     ПдКп.доступность("ОтключитьОтбор",0);
     ПдКп.обновить();
Не работатет, хотя ставил и в ПослеОткрытия()
и в УстановитьПоставщикаДанныхЖурналДокументов()
Не ругается, но и не работает  Печаль
Нужно: сделать недоступными (при определенных условиях) кнопки отборов: "НастроитьОтбор","отборПоКолонке",
"ОтключитьОтбор"
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #911 - 14. Июня 2013 :: 07:06
Печать  
Не, не так.
вот так:
Код
Выбрать все
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Справочник.МойСправочник";
	ПоставщикДанных.КонтейнерКоманднойПанели = "КонтейнерКП";
	ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП";
...........................
	  ПдКп = ПоставщикДанных.КоманднаяПанель;
	  ПдКп.Доступность("ОтключитьОтбор",0);
 

  
Наверх
ICQ  
IP записан
 
Inteco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 10. Декабря 2008
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #912 - 14. Июня 2013 :: 12:52
Печать  
Процедура УстановитьПоставщикаДанныхЖурналДокументов()
     ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
     ПоставщикДанных.КонтейнерТабличногоПоля = "ЖурналСписокДополнительныйЖурнал";
     ПоставщикДанных.КонтейнерКоманднойПанели = "ИДКоманднаяПанель";
     ПоставщикДанных.ТипЗначений = "Журнал.КадровыеДокументы";
     
     ПдКп=ПоставщикДанных.КоманднаяПанель;
     ПдКп.Доступность("ОтключитьОтбор",0);
ругается:

ПдКп=ПоставщикДанных.КоманднаяПанель;
{Отчет.ЖурналКадровыеДокументы.Форма.Модуль(18)}: Поле агрегатного объекта не обнаружено (КоманднаяПанель)
  
Наверх
 
IP записан
 
Inteco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 10. Декабря 2008
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #913 - 14. Июня 2013 :: 13:48
Печать  
Ура!!!! Нужно было вот так:
     КП = ПоставщикДанных.ТабличноеПоле.КоманднаяПанель;
     КП.Доступность("ОтключитьОтбор",0);
     КП.Доступность("ОтборПоКолонке",0);
     КП.Доступность("НастроитьОтбор",0);
Очень довольный
  
Наверх
 
IP записан
 
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #914 - 17. Июня 2013 :: 02:50
Печать  
Еще вопрос по поставщику данных (Справочник)
1. Можно ли сделать часть колонок недоступными для редактирования?
2. Одна колонка имеет вид "Справочник" неопределенного вида. Есть ли аналог метода "ВидыДляВыбора"?
В противном случае придется редактировать в диалоге. Тоже выход, но хотелось бы в списке.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 59 60 [61] 62 63 ... 81
ОтправитьПечать