Переключение на Главную Страницу Страницы: 1 ... 25 26 [27] 28 29 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 399490 )
novichek
Экс-Участник


Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #390 - 06. Июля 2011 :: 04:50
Печать  
хм, а у меня что-то в свое время не взлетел на SQL вариант когда в поставщике текст запроса с джойном со времянкой. Осталось впечатление что это одно из ограничений на текст запроса в поставщике... может и ошибаюсь.
  
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #391 - 06. Июля 2011 :: 05:02
Печать  
vandalsvq писал(а) 06. Июля 2011 :: 04:18:
1. Интересно, а почему ПД должен уступать штатному функционалу?
2. 7.7 почти не занимаюсь, так что не уверен что в скором времени добавлю в штатную форму
3. Про временную и виртуальную...
Код
Выбрать все
Процедура ОбновитьОстатки()
ПрямойЗапрос = ПоставщикДанных.ПрямойЗапрос;
ПрямойЗапрос.ВыполнитьЗапрос("ВЫБРАТЬ Номенклатура, КоличествоОстаток ВНУТРЬ #ТаблицаОстатки ИЗ $РегистрОстатки.ОстаткиТМЦ(:КонДата, (Фирма = :ТвояФирма), (Номенклатура), (Количество), ) КАК ОстатокТМЦ");
ПрямойЗапрос.ВыполнитьЗапрос("create index idx_Номенклатура on #ТаблицаОстатки(Номенклатура)");
ВремяОстатков = ТекущееВремя();
КонецПроцедуры 


Ну и соединение данных делаешь с #ТаблицаОстатки.
А на форме пользователю показываешь время остатков на которые они были собраны. При желании пускай обновляет.

Но тогда остатки не будут актуальными. Верно? А пользователи должны работать с актуальными данными.
Пока из предложенных вариантов не вижу ничего, что бы ускорило получение сводных данных хотя бы до штатной формы подбора.
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #392 - 06. Июля 2011 :: 07:11
Печать  
al_zzz писал(а) 06. Июля 2011 :: 05:02:
Но тогда остатки не будут актуальными. Верно? А пользователи должны работать с актуальными данными.


если так судить то в стандартном подборе вообще не может быть актуальных данных.
  
Наверх
wwwICQ  
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #393 - 11. Июля 2011 :: 14:29
Печать  
Не могу создать ПоставщикДанных с индексированной таблицей в качестве типа значения.

При открытии формы выдает сообщение:
Цитата:
ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
анель.ert(350) }


Причем делаю все это так же как делал прошлый раз, на том же компьюетере. Причем делал 3 месяца назад все работало, нарадоваться не мог. Сейчас делаю вообще элементарное:

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

	Данные = ПоставщикДанных.Данные;

	Данные.НоваяКолонка("Статья");
	Данные.НоваяКолонка("Значение");


КонецПроцедуры // ПослеСозданияФормы
 


И Главное ОФИС стоит!!! 2010
И обидно что они такой же и раньше стоял.

Единственно что сделал с того момента (единственное в том смысле что на него можно грешить)....
Это установил SQLEXRESS2005 и консоль управления к нему.

Всякие там regsvr32 - запускал... не помогает. Улыбка

В чем может быть причина?!

Может ли этому делу воспрепятствовать TuneUp Utilites (возможно где-то подчистился реестр?)


КОроче говоря - ОЧЕНЬ СРОЧНО НУЖНА ПОМОЩЬ!!!
  
Наверх
ICQ  
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #394 - 11. Июля 2011 :: 15:49
Печать  
Некоторое искажение информации у меня в предыдщуем посте.
Офис стоит у меня 2007 и все время стоял...

Перерыл всю (рыл через ПОИСК поэтому возможно что-то и упустил) тему на предмет лечения сего глюка. Пробовал ставить апдейты, регистрировал компоненты. Не помогло ничего.

Помогло - переустановить Офис. Вернее даже не переустановить - а запустить инсталляху и сказать "Восстановить",
После восстановления и перезагрузки все заработало.

Одно только - как быть у клиента, на каждую машину заново офис ставить (тьфу-тьфу-тьфу) если вдруг не взлетит на них ПоставщикДанных?

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


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #395 - 11. Июля 2011 :: 18:49
Печать  
скорей всего слетела регистрация библиотек
comctl32.ocx
MSCOMCTL.OCX

и cmd от имени админа запусти  Подмигивание

regsvr32 comctl32.ocx
regsvr32 MSCOMCTL.OCX

и незабудим

ps после этого взлетело на без офиса на Linux
  
Наверх
wwwICQ  
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #396 - 11. Июля 2011 :: 21:40
Печать  
Создал ПоставщикДанных на основе Индексированной таблицы.
Указал в составе таблицы две нетипизированных колонки.

Теперь мне надо что бы при редактировании строки, при нажатии на кнопку выбора значений (или F4) выводился список. Делаю это отлавливая событием "ПриНачалеИзмененияЗначения", и вывожу список любым удобным мне способом.

Но не могу записать значение в Индексированную таблицу так что бы его было видно в Поставщике данных. Хотя отладчиком вижу что значение занесено - но оно не отображается ни в режиме редактирования строки ни после.

ПоставщикДанных.ОБновить() - делал

ПоставщикДанных.ТабличноеПоле.ОбновлитьСтроки() - делал..


Плюнул уже думаю - сделаю колонки типизированными - но как только присвоил колонке тип "Строка" - исчезла кнопка выбора значения по которой я открываю список.

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

Или скажите что я делаю не так.
  
Наверх
ICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #397 - 12. Июля 2011 :: 05:13
Печать  
рабочий кусок кода заполнение ИТЗ из списка

Код
Выбрать все
Процедура ТПДокументыПередНачаломИзменения(ТП,ФСО)
	Если ПоставщикДок.Данные.ТекущаяКолонка.Имя = "Документ" Тогда
		ФСО = 0;
		ОткрытьФорму(ПоставщикДок.Данные.ТекущиеДанные.Документ,,);
	ИначеЕсли ПоставщикДок.Данные.ТекущаяКолонка.Имя = "ПечатнаяФорма" Тогда
		ФСО = 0;
		//Создаем список форм
		СписокФорм = СоздатьОбъект("СписокЗначений");
		Ключ = ПоставщикДок.Данные.ТекущиеДанные.Документ.Вид();
		ТаблицаФорм.УстановитьФильтр(Ключ, Ключ, "ФильтрСписка", , );
		ТаблицаФорм.Выгрузить(СписокФорм,"ФильтрСписка", "Название", );
		ТаблицаФорм.ВыключитьФильтр("ФильтрСписка");

		ЗН = ПоставщикДок.Данные.ТекущиеДанные.ПечатнаяФормаНомер;

		Если СписокФорм.ВыбратьЗначение(ЗН,,,,2) = 1 Тогда
			ИТ = ПоставщикДок.Данные.ИндексированнаяТаблица;
			ИТ.ПечатнаяФормаНомер = СписокФорм.НайтиЗначение(ЗН);
			ИТ.ПечатнаяФорма = ЗН;
			ПоставщикДок.ТабличноеПоле.ОбновитьСтроки();
		КонецЕсли;
	КонецЕсли;

КонецПроцедуры // ТПДокументыПередНачаломИзменения 

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #398 - 12. Июля 2011 :: 05:17
Печать  
Типизация колонок поставщика ИТЗ возможно через через доп. объект "ПоставщикДанных.ОписаниеТипов" (если точно помню название). Там даже свой список значений можно задать.
В общем посмотри доку.
  

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


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #399 - 12. Июля 2011 :: 09:45
Печать  
Доку я посмотрел.
С помощью доки разобрался как можно красиво сделать редактирование колонки в которой может хранится несколько разнотиповых данных.

Я даже смог засунуть в ячейку список значений и отредактировать его используя атрибут "ИспользоватьСписок".
Но то что мне нужно - я не понял как сделать.

Еще раз повторю мне необходимо что бы в колонке хранилось значение, выбрать которое пользователь может из списка выбора (например который выпадает как раскрывающийся список при нажатии на кнопку выбора").
Т.е. например СписокЗначений содержит список городов - то при редактировании колонки должна появится кнопка, нажав на которую откроется выпадающий список с городами, выбрав из которого пользователь переходит к редактированию следующей колонки, а в ячейке сохраняется строковое значение города.

Как это сделать с помощью ПоставщикДанных.ОписаниеТипов - я не понял.

Остается попробовать способ предложенный Anatol
  
Наверх
ICQ  
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #400 - 12. Июля 2011 :: 09:54
Печать  
Метод предложенный Anatol работае пока лучше чем все мной испробованные ранее.
Но. Не так как хотелось бы.
Хотелось бы что бы по двойному щелчку мыши (или по Enter) табполе переходило в режим редактирования и в нужной мне колонке высвечивался бы элемент редактирования с кнопкой выбора. Нажав на которую выпадал бы список значений, по завершению выбора значение записывалось бы в строку ТП.

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

За неимением лучшего сойдет и такой - но как-то непонятно неужели никто ранее не желал подобного?
  
Наверх
ICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #401 - 12. Июля 2011 :: 11:49
Печать  
аля восьмерка?  Смех
вообше работа со списками стандартна в 1с.
возможно, но не было необходимости
« Последняя редакция: 12. Июля 2011 :: 13:28 - Anatol »  
Наверх
wwwICQ  
IP записан
 
ParaWiz_
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 9
Местоположение: Томск
Зарегистрирован: 19. Июля 2011
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #402 - 19. Июля 2011 :: 04:13
Печать  
Перелопатил весь форум, так и не нашел примера использования класса ПоставщикДанных.ТабличнаяЧасть
Задача - работа с МнЧ документа, пока застрял на глупом - не могу установить параметры колонки, помогите примером если нетрудно
  
Наверх
ICQ  
IP записан
 
Kateryne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Зарегистрирован: 30. Марта 2010
Пол: Женский
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #403 - 24. Июля 2011 :: 10:06
Печать  
День добрый!
Не получается решить проблему вылета при установки системной картинки в Поставщик.ИндексированнаяТаблица.
Картинка отображается, но при щелчке по ней 1С вылетает в дебаг.

Делаю так: в ИТЗ добавляю колонку Пиктограмма с индексом картинки.

Код
Выбрать все
омДанныеПерерасч.НоваяКолонка("Пиктограмма","Число",1,0,"Пиктограмма",,,0); 



Зачитываю индекс в нее в запросе.

Потом ПриВыводеСтроки пишу:
Код
Выбрать все
Процедура кнПерерасчетыПриВыводеСтроки(тп, ОформлениеСтроки, ДанныеСтроки, ТипРегиона)
	Если ТипРегиона = 3 Тогда
		ОформлениеЯчейки = ОформлениеСтроки.Ячейки.Получить("Пиктограмма");
		ОформлениеЯчейки.ИндексСистемнойКартинки = СокрЛП(ДанныеСтроки.Пиктограмма);
		ОформлениеЯчейки.ОтображатьСистемнуюКартинку = 1;
	КонецЕсли;
КонецПроцедуры  



Картинка корректная выводится, но стоит по ней щелкнуть, вылет

Код
Выбрать все
'1cv7s.exe': Loaded 'C:\WINDOWS\system32\MSCOMCTL.OCX', Cannot find or open a required DBG file.
'1cv7s.exe': Loaded 'C:\WINDOWS\system32\vbscript.dll', No symbols loaded.
Unhandled exception at 0x7c938235 in 1cv7s.exe: 0xC00000FD: Stack overflow.
 


Печаль(((
Может быть подскажет кто, что за ерунда?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #404 - 24. Июля 2011 :: 19:00
Печать  
может

Код
Выбрать все
ОформлениеЯчейки.ИндексСистемнойКартинки = Число(СокрЛП(ДанныеСтроки.Пиктограмма)); 

  
Наверх
wwwICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 25 26 [27] 28 29 ... 81
ОтправитьПечать