Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения, примеры, вопросы (число прочтений - 363880 )
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #90 - 26. Августа 2009 :: 22:58
Печать  
Вот не спится, юзаю...
Вопрос-пожелание:

- При печати таблицы данных через ВывестиСписок() в Табличный документ, можно задавать атрибутом или методом - Расшифровку, тобиш при двойном клике например открывается Форма элемента, Форма документа и т.д.
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #91 - 26. Августа 2009 :: 23:43
Печать  
А где в документации глава "Разработка расширений к табличному полю»."?
Начал разбираться с коллекциями и тут трабл - все дороги ведут на несуществующую главу  Плачущий
Да и в демо конфигурации тоже ничего не нашел о "ПоставщикиДанных.Сервис"  Плачущий
Можно дополнить демоверсию работой с "ПоставщикиДанных.Сервис"  и большая просьба задействовать в демонстрации все методы "ПоставщикиДанных.Сервис"   Плачущий
Не получается разобраться...
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #92 - 27. Августа 2009 :: 02:53
Печать  
Zealot писал(а) 26. Августа 2009 :: 22:58:
Вот не спится, юзаю...
Вопрос-пожелание:

- При печати таблицы данных через ВывестиСписок() в Табличный документ, можно задавать атрибутом или методом - Расшифровку, тобиш при двойном клике например открывается Форма элемента, Форма документа и т.д.

Сделать можно... и в принципе наверное реализуемо вполне. Посмотрим, жизнь покажет.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #93 - 27. Августа 2009 :: 02:57
Печать  
Zealot писал(а) 26. Августа 2009 :: 23:43:
А где в документации глава "Разработка расширений к табличному полю»."?
Начал разбираться с коллекциями и тут трабл - все дороги ведут на несуществующую главу  Плачущий
Да и в демо конфигурации тоже ничего не нашел о "ПоставщикиДанных.Сервис"  Плачущий
Можно дополнить демоверсию работой с "ПоставщикиДанных.Сервис"  и большая просьба задействовать в демонстрации все методы "ПоставщикиДанных.Сервис"   Плачущий
Не получается разобраться...

Данный раздел документации нужен тем кто будет писать свои "ПоставщикДанных.ХХХ", например вдруг кому захочется написать "ПоставщикДанных.ПрямойЗапрос" и увязать их между собой (два данных класса), тогда соответственно ему необходимо будет знать то что будет написано в данной главе (передача параметров, обязательные ожидаемые экспортные методы и атрибуты, работа с классом Сервис и т.д.), а в реальной жизни класс "Сервис" по большому счету нужен в очень и очень ограниченном масштабе. Поэтому наверное данный раздел документации появится самым последним, если вдруг я не решу уронить знамя разработки и его не решит поднять кто другой, в таком случае я напишу данный раздел вне очередей и последовательностей.  Класс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #94 - 27. Августа 2009 :: 06:28
Печать  
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.

Кстати нашел у тебя в классе (ПоставщикиДанных.Журнал) закоментированный такой код в строке 672
Код
Выбрать все
.РеквизитЗапроса),МетаГрафа.Идентификатор);
 



А если раскоментировать?
« Последняя редакция: 27. Августа 2009 :: 08:22 - Zealot »  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #95 - 27. Августа 2009 :: 07:28
Печать  
ОШИБКА
Разбираюсь с отборами, установил отбор по общему реквизиту документа, после чего пытаюсь сделать сортировку выдает вот такие ошибки, см. ниже код и скриншот.
Код
Выбрать все
Процедура УстановитьПоставщикаДанныхЖурналДокументов()
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаСписка";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаСпискаКоманднаяПанель";
	ПоставщикДанных.ТипЗначений = "Журнал.РасходныеСчета";

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
	ТабличноеПоле.СтильРамки = 1;

	Данные = ПоставщикДанных.Данные;
	Данные.РеквизитСортировки = "ДатаДокумента";
	Данные.НоваяКолонка("Контрагент");
	Данные.НоваяКолонка("СуммаОсновная");
	Данные.НоваяКолонка("ЮридическоеЛицо");
	Данные.РежимОтладки = 0;
	Данные.АвтоОбновление = 1;
	Данные.ПериодАвтоОбновления = 10;
	Данные.СоздатьКнопкиПоУмолчанию();


	//Сервис = СоздатьОбъект("ПоставщикДанных.Сервис");
	//Сервис.ПодключитьТаблицу("Документ", "РасходныйСчет", "РасходныйСчет");
	//Сервис.ВыполнитьНастройкуОтбора();

	//Список = СоздатьОбъект("СписокЗначений");
	//Список.ДобавитьЗначение(0);
	//Список.ДобавитьЗначение(2);
	Отбор = Данные.Отбор.Общий_ЮридическоеЛицо;
	Отбор.Использование = 1;
	Отбор.ВидСравнения = ВидыСравнения.Равно;
	Отбор.Значение = глЮридическоеЛицо;

	ТабличноеПоле.ВосстановитьПозициюКолонок();
	ПоставщикДанных.Обновить();
КонецПроцедуры
 



Скрины убрал по просьбе vandalsvq
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #96 - 27. Августа 2009 :: 08:16
Печать  
Не работает выбор?
Вот код справочника

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

	Данные = ПоставщикДанных.Данные;
	Данные.РежимОтладки = 0;
	Данные.ПериодАвтоОбновления = 10;
	Данные.АвтоОбновление = 1;
	Данные.ИерархическийПросмотр = 1;
	Данные.ИзменятьИерархическийПросмотр = 1;
	Данные.СпособРедактирования = 1;
	Данные.ИзменятьСпособРедактирования = 0;
	Данные.ИзменятьТекущегоРодителя = 1;
	Данные.РежимВыбора = Форма.РежимВыбора();
 



Кстати напрашивается попутно вопрос, если будет множественный выбор где Форма.РежимВыбора() = 2, по документации такое невозможно поскольку РежимВыбора 0|1, как быть?

Событие отрабатывает в том же справочнике:
Код
Выбрать все
Процедура тпФормаСпискаПриВыбореЗначения(вЗначение)
	Сообщить(вЗначение);
КонецПроцедуры
 



Причем если открывается для выбора форма списка обычного справочника (в стандартном исполнении) тогда все работает, именно не происходит выбор из табличного поля.


« Последняя редакция: 27. Августа 2009 :: 09:52 - Zealot »  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #97 - 27. Августа 2009 :: 08:23
Печать  
Zealot писал(а) 27. Августа 2009 :: 06:28:
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.


Отбор по реквизиту шапки документа возможен в виде поставщика "Документ". Поскольку в режиме работы с журналом это неэффективно.

Пы.сы. по ошибке я понял... убери скрины пожалуйста. Исправлю думаю сегодня.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #98 - 27. Августа 2009 :: 08:29
Печать  
Скрины убрал, Я по общим ревизитам уже делаю, еще вопрос о закомментированном коде, зачем в классе его закомментировал, смотри выше что по теме (Можно тоже разрешить по атрибуту).
А отбор надо бы разрешить через некий новый атрибут, типа РазрешитьОтборПоРеквизитамДокумента = 0|1, а программер сам пусть определяет что и где эффективно.

vandalsvq писал(а) 27. Августа 2009 :: 08:23:
Zealot писал(а) 27. Августа 2009 :: 06:28:
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.


Отбор по реквизиту шапки документа возможен в виде поставщика "Документ". Поскольку в режиме работы с журналом это неэффективно.

Пы.сы. по ошибке я понял... убери скрины пожалуйста. Исправлю думаю сегодня.  Подмигивание

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #99 - 27. Августа 2009 :: 09:34
Печать  
Разрешено вносить изменения в классы, если да то изменил класс "Поставщики.Журнал", файл приложил, просьба добавить если не критично в последующие обновления.

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

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
	ТабличноеПоле.СтильРамки = 1;

	Данные = ПоставщикДанных.Данные;
	Данные.РеквизитСортировки = "ДатаДокумента";
	Данные.НоваяКолонка("Контрагент");
	Данные.НоваяКолонка("СуммаОсновная");
	Данные.НоваяКолонка("ЮридическоеЛицо");
	Данные.РежимОтладки = 0;
	Данные.АвтоОбновление = 1;
	Данные.ПериодАвтоОбновления = 10;
	Данные.ОтборПоГрафамЖурнала = 1; //!Новое!
	Данные.СоздатьКнопкиПоУмолчанию();
 


  

______________________.ert ( 72 KB | Загрузки )

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #100 - 27. Августа 2009 :: 09:37
Печать  
На счет выбора...
Цитата:
если будет множественный выбор где Форма.РежимВыбора() = 2

Это ведь по сути подбор. Что такое подбор? Выбор нескольких элементов без закрытия формы, верно? Вот как с ним работать см. далее...

Цитата:
но выбор как не идет так и не идет.

Вообще ту по порядку.... ПриВыбореЗначения как и все другие события первым параметром имеет табличное поле, поэтому оно у тебя и сообщается. Вторым же параметром будет выбранное значение. Отвечать за закрытие формы должен программист. РежимВыбора в ТП отвечает лишь за иную обработку события Выбор в табличном поле. Поэтому:
1. Хочешь сделать выбор, делай "Форма.ВыполнитьВыбор(....);" в процедуре ПриВыбореЗначения
2. Хочешь делать подбор, не закрывай форму, а хочешь одинарный ввыбор дык закрой и все ее.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #101 - 27. Августа 2009 :: 09:40
Печать  
Zealot писал(а) 27. Августа 2009 :: 09:34:
Разрешено вносить изменения в классы, если да

Вносить разрешено, но если я не соглашусь с интерфейсом решения или его наполнением я могу не вставлять соответствующий код в обновлении.
Так что пока все изменения внесенные другими - это вклад, за который отдельное спасибо. Но я оставляю право за собой решать использовать его или нет Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #102 - 27. Августа 2009 :: 09:50
Печать  
Вечно забываю за первый объязательный параметр в событиях, а так все работает, сенкс, за множественный подбор тоже согласен.
Спасибо.

vandalsvq писал(а) 27. Августа 2009 :: 09:37:
На счет выбора...
Цитата:
если будет множественный выбор где Форма.РежимВыбора() = 2

Это ведь по сути подбор. Что такое подбор? Выбор нескольких элементов без закрытия формы, верно? Вот как с ним работать см. далее...

Цитата:
но выбор как не идет так и не идет.

Вообще ту по порядку.... ПриВыбореЗначения как и все другие события первым параметром имеет табличное поле, поэтому оно у тебя и сообщается. Вторым же параметром будет выбранное значение. Отвечать за закрытие формы должен программист. РежимВыбора в ТП отвечает лишь за иную обработку события Выбор в табличном поле. Поэтому:
1. Хочешь сделать выбор, делай "Форма.ВыполнитьВыбор(....);" в процедуре ПриВыбореЗначения
2. Хочешь делать подбор, не закрывай форму, а хочешь одинарный ввыбор дык закрой и все ее.  Подмигивание

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #103 - 27. Августа 2009 :: 09:54
Печать  
Блин как нужна история отборов  Плачущий
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #104 - 27. Августа 2009 :: 10:18
Печать  
Также внес исправления в документацию.

vandalsvq писал(а) 27. Августа 2009 :: 09:40:
Zealot писал(а) 27. Августа 2009 :: 09:34:
Разрешено вносить изменения в классы, если да

Вносить разрешено, но если я не соглашусь с интерфейсом решения или его наполнением я могу не вставлять соответствующий код в обновлении.
Так что пока все изменения внесенные другими - это вклад, за который отдельное спасибо. Но я оставляю право за собой решать использовать его или нет Подмигивание

  

____________________________________.doc ( 912 KB | Загрузки )

Старание и труд все перетрут.
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 79
ОтправитьПечать