Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения, примеры, вопросы (число прочтений - 400471 )
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #45 - 20. Августа 2009 :: 10:56
Печать  
Berck писал(а) 20. Августа 2009 :: 06:03:
повторю вопрос, т.к. актуально. Нерешительный

В справочнике реквизит имеет вид "Справочник.Товар".
Как добавить возможность выбора группы при редактировании в форме, т.е. в табличном поле? Озадачен


Дома посмотрю что можно для тебя сделать, скорее всего добавлю параметр в коллекцию Реквизиты.ХХХХ.ВыборГруппы.  Подмигивание
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #46 - 20. Августа 2009 :: 11:08
Печать  
vandalsvq писал(а) 20. Августа 2009 :: 10:55:
Ведь не столь горящее желание Улыбка наверное...  Подмигивание

Да конечно не горящее. Это я по мере работы с классом всякие заковырки нахожу. А в целом создается ОООчень хорошее впечатление! Видно, что работы сделано немеряно.
  
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #47 - 26. Августа 2009 :: 00:09
Печать  
vandalsvq писал(а) 30. Июля 2009 :: 08:18:
2. 1sqlite (версии не ниже 1.0.2.0 5-й багофикс)
Реализация опять таки не зависит от формата БД.


Что такое 5-й багофикс, если официальный 3-й
http://code.google.com/p/sqlite1c/

Вопросик еще, а то чете ночью лень документацию читать  Подмигивание если база SQL, зачем тогда 1sqlite!
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #48 - 26. Августа 2009 :: 02:45
Печать  
Ну пятый багофикс где то тут
http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/587#587

А если формат БД - SQL то SQLite ни к чему. Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #49 - 26. Августа 2009 :: 12:49
Печать  
Начну со слов благодарности и твоего терпения, СУПЕР!

А теперь по сути дела.

Вопрос по контейнеру командная панель,
1)  можно ли ее каким то макаром задать размещение кнопок не по горизонтали а по вертикали (ups вроде получилось, ща допроверю..., неа не фурычит нормально, смотри след. тему)
2) а и еще неплохо бы создать коллекцию "коммандная панель", наслучай если командных панелей будет более одной на форме, если такое конечно возможно, правда тогда клас прийдется переписать  Подмигивание
3) Как обстоят дела с закладками, сделать типа класс ПоставщикДанных.Закладки? Собственно туда же и закладки отборов

продолжаю изучать, появляются новые хотелки  Подмигивание

4) Класс для работы с деревом, наследник класса ActiveX, например "MSComctlLib.TreeCtrl", что-то типа ПоставщикДанных.Дерево

5) Разъясни по работе с модальными окнами проблемы какие-то есть или все пучком, а у меня во многих документах открываются модальные окна тех же справочников для выбора, пока не начал менять все на твой класс, решил спросить.

6)  "ПоставщикДанных.Справочник" - Для контекстного меню и в командную панель надо бы добавить "Историю реквизита", как в обычной 1С, также "Подчиненный справочник", "Справочник-Владелец", "Просмотр"... а чего не хватает смотрю  Улыбка

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

Может чете много после 10 часов изучения документации навоял  Очень довольный
« Последняя редакция: 26. Августа 2009 :: 17:10 - Zealot »  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #50 - 26. Августа 2009 :: 14:08
Печать  
Не корректно работает вертикальное расположение командной панели, идет физическое перемещение по горизонтали при изменении размера окна, конешно можно через привязки формы както решить, но надо бы артибутик в класс добавить, типа РасположениеКнопок = "Вертикально|Горизонтально"
  

___1_001.JPG ( 154 KB | Загрузки )
___1_001.JPG

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


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

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

___2.JPG ( 175 KB | Загрузки )
___2.JPG

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


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

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

vandalsvq писал(а) 30. Июля 2009 :: 08:19:
Ну и скриншот реализованной формы списка при помощи данного КОП. Взятый с реально работающей конфигурации.

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #53 - 26. Августа 2009 :: 17:15
Печать  
2 Zealot
Как много всего то Улыбка... спасибо как говорится.

Цитата:
1)  можно ли ее каким то макаром задать размещение кнопок не по горизонтали а по вертикали (ups вроде получилось, ща допроверю..., неа не фурычит нормально, смотри след. тему)

Я по кнопкам посмотрю. Потому как в конфигурации у меня есть и вертикальные командные панели.

Цитата:
2) а и еще неплохо бы создать коллекцию "коммандная панель", наслучай если командных панелей будет более одной на форме, если такое конечно возможно, правда тогда клас прийдется переписать

Вот тут я не совсем понял что ты хочешь. По сути ведь командная панель привязана к табличному полю с конкретным видом поставщика данных. Откуда несколько командных панелей может появиться? Или я что-то не знаю в своем КОПе?  Подмигивание

Цитата:
3) Как обстоят дела с закладками, сделать типа класс ПоставщикДанных.Закладки? Собственно туда же и закладки отборов

Поясни. Я что-то про закладки совсем нифига не понял...  Смущённый

Цитата:
4) Класс для работы с деревом, наследник класса ActiveX, например "MSComctlLib.TreeCtrl", что-то типа ПоставщикДанных.Дерево

Вполне возможно что когда нибудь он и появится, но пока времени и сил не хватает. Но у самого есть такая необходимость.

Цитата:
5) Разъясни по работе с модальными окнами проблемы какие-то есть или все пучком, а у меня во многих документах открываются модальные окна тех же справочников для выбора, пока не начал менять все на твой класс, решил спросить.

У меня в конфе используется и в модальном режиме. Косяков не было. По крайней мере пока не было.

Цитата:
6)  "ПоставщикДанных.Справочник" - Для контекстного меню и в командную панель надо бы добавить "Историю реквизита", как в обычной 1С, также "Подчиненный справочник", "Справочник-Владелец", "Просмотр"... а чего не хватает смотрю

Будет реализовано в скором будущем... в планах есть.

Цитата:
7) Найден баг (по работе с группами) - "ПоставщикДанных.Справочник" - не копирует группу, а только элементы, да и я бы при копировании группы разворачивал дополнительный список, "Скопировать группу", "Скопировать группу с элементами" 
Да и по какой-то причине при переносе группы в группу пишет  "Перенос групп в группу не возможен " 
Нет возможности выбрать группу в форме выбора, а только элемент, читал уже выше по теме форума, так и не решено.

Вот тут по порядку.
То что он не копирует группу, ровно как и не переносит - это сознательный шаг. Хотя если с копированием вопрос решается, то вот с переносом есть проблемы. Если код Спр.НайтиЭлемент(), Спр.Родитель = ....; Спр.Записать() канает, то тоже самое с группой почему то помнится мне не получилось.
А выбор группы в при выборе значений я помню. И тоже решу.

Ну а теперь немного от себя.
Я доработаю КОП как только появится время. Но счас у меня висят важные задачи которые надо решить. Как время будет, в перерывах между писаниной в 8-ке я доделаю все что описано выше.  Подмигивание
  

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


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

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

1) Баг при пролистывании таблицы и разворачивании формы, смотри ниже скриншоты, вот код:

Код
Выбрать все
Перем ПоставщикДанных;
Перем ВидыСравнения;

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

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

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

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

Процедура ПослеСозданияФормы()
	УстановитьПоставщикаДанныхЖурналДокументов();
КонецПроцедуры

Процедура ПослеОткрытия()
	Форма.тпФормаСпискаКоманднаяПанель.Видимость(0);
	Форма.тпФормаСпискаКоманднаяПанель.Видимость(1);
КонецПроцедуры

Процедура ПриОткрытии()
	//
	мОбКомпонентаРаботыСФормойРасширениеФормы = СоздатьОбъект("РасширениеФормы");
	мОбКомпонентаРаботыСФормойРасширениеФормы.УстановитьФорму(Форма);
	мАтрибутМногострочнаяЧасть =
	мАтрибутМногострочнаяЧасть.Видимость = 0;
	//
	УправлениеФормой = СоздатьОбъект("УправлениеФормой");
	Привязка = УправлениеФормой.ПривязкаЭлементов;
	//Привязка//:УправлениеФормой.Привязка
	Параметры = Привязка.Добавить("тпФормаСписка");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";
	Параметры.Низ.Вид = Привязка.НижняяГраница;
	Параметры.Низ.Элемент = "Форма";

	Параметры = Привязка.Добавить("тпФормаСпискаКоманднаяПанель");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";

КонецПроцедуры

 

  

___4.JPG ( 167 KB | Загрузки )
___4.JPG

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


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

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

vandalsvq писал(а) 30. Июля 2009 :: 08:19:
Ну и скриншот реализованной формы списка при помощи данного КОП. Взятый с реально работающей конфигурации.



А там все просто.
Табличное поле с поставщиком ИТЗ.
Куча колонок на каждую из букв + Все + Общая
Соответственно при активизации для справочника задается код

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

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #56 - 26. Августа 2009 :: 17:22
Печать  
Цитата:
1) Баг при пролистывании таблицы и разворачивании формы, смотри ниже скриншоты, вот код:

Видимо у тебя формат базы данных - SQL да?

У тебя стоит РеквизитСортировки = "ВидДокумента".
На SQL при сортировке по виду документа некорректно работает сам поставщик данных ODBC. Поскольку IDDOCDEF в это десятеричное представление вида документа, а она (компонента 1С++) пытается подставить строковое значение реального вида документа. По сути это баг не поставщика и к сожалению я решить его не могу.* Так что сортировать можно только по дате, номеру и пр. реквизитам.**  Смущённый Хотя я могу сделать обход этого бага в классе. В принципе это реально.


* - ошибка возникает только тогда когда поле IDDOCDEF типизируется, и 1С++ тут не совсем виновата, виновата голова разработчика класса т.е. моя
** - ошибка исправлена начиная с версии 3.01.002
« Последняя редакция: 26. Августа 2009 :: 19:56 - vandalsvq »  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #57 - 26. Августа 2009 :: 17:23
Печать  
Zealot, а не помню когда я выкладывал класс УправлениеФормой?  Улыбка
Там ведь тоже есть множество обновлений.  Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #58 - 26. Августа 2009 :: 17:28
Печать  
Человеческое спасибо! Можеш когда будеш в Киеве звонить с меня ресторан (телефон дам в личну по мере надобности)

Теперь по порядку:
Цитата:
Вот тут я не совсем понял что ты хочешь. По сути ведь командная панель привязана к табличному полю с конкретным видом поставщика данных. Откуда несколько командных панелей может появиться? Или я что-то не знаю в своем КОПе?  Подмигивание


Суть вопроса в том что до создать более одной командной панели принадлежащие к одному табличному полю, вопрос потому и задавал о размещении вертикальных и горизонтальных панелей.

Цитата:
Поясни. Я что-то про закладки совсем нифига не понял...  Смущённый


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


И соответсвенно все что из этого выходит!

Цитата:
Вполне возможно что когда нибудь он и появится, но пока времени и сил не хватает. Но у самого есть такая необходимость.


2 ресторана!!!!

По остальному тоже за мной не заржавеет  Печаль
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #59 - 26. Августа 2009 :: 17:28
Печать  
Блин и зачем я вообще выложил эти классы (ПоставщикДанных и ПрямойЗапрос) теперь даже повыпиливать пассажи товарища John Petrucci (Dream Theater) на новенькой гитаре времени не хватает  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 79
ОтправитьПечать