Переключение на Главную Страницу Страницы: 1 ... 51 52 [53] 54 55 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 399213 )
ANik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 66
Зарегистрирован: 03. Мая 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #780 - 18. Мая 2012 :: 07:32
Печать  
Создал пустую тестовую базу с 3 видами справочников и доков - заработало. Видать перегрелось то место, где должны мозги находиться. Спасибо за помощь!
  
Наверх
 
IP записан
 
Kurya
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #781 - 18. Мая 2012 :: 08:56
Печать  
Подмогните с соединением.
Сделал журнал Т_РасходныхНакладных, все работает нормально.
Захотелось что бы в журнале показывалась задолженность понакладной.
делаю соединение
Код
Выбрать все
ТекстСоединения = "left join
|	$РегистрОстатки.ВзаиморасчетыПокупателей(,,(КредДокумент),(Долг),) as vt_rg_total
|		on $ТекущийОбъект.ТекущийДокумент = vt_rg_total.КредДокумент
|";
Данные.ДобавитьСоединениеДанных("ДолгНакл",ТекстСоединения);
Данные.ДобавитьКолонкуДанных("ДолгНакл","Долг Накл.","ISNULL(vt_rg_total.ДолгОстаток,0)","Число",15,2,1);
Данные.НоваяКолонка("ДолгНакл");
 



Ошибок нет, но везде 0.00
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #782 - 18. Мая 2012 :: 09:12
Печать  
Kurya писал(а) 18. Мая 2012 :: 08:56:
Ошибок нет, но везде 0.00

У тебя наверняка тип измерения документ неопределенного вида.
Соединяй по $ТекущийОбъект.ВидДокумента||$ТекущийОбъект.ТекущийДокумент
  
Наверх
GTalkICQ  
IP записан
 
Kurya
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #783 - 18. Мая 2012 :: 09:23
Печать  
Kalen писал(а) 18. Мая 2012 :: 09:12:
Kurya писал(а) 18. Мая 2012 :: 08:56:
Ошибок нет, но везде 0.00

У тебя наверняка тип измерения документ неопределенного вида.
Соединяй по $ТекущийОбъект.ВидДокумента||$ТекущийОбъект.ТекущийДокумент

Ошибка
Conversion failed when converting the varchar value '   0     0   ' to data type int.
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #784 - 18. Мая 2012 :: 09:31
Печать  
Kurya писал(а) 18. Мая 2012 :: 08:56:
Подмогните с соединением.
Захотелось что бы в журнале показывалась задолженность понакладной.
делаю соединение
...

Возможно, соединение с регистром будет довольно сильно тормозить. Я у себя пробовал - переделал на подзапрос. Правда тогда нельзя отбор делать по этой колонке.
Если бы можно было использовать соединение только когда колонка долга используется, можно было бы и через соединение сделать. К сожалению, существует только оптимизация полей запроса. Оптимизации соединений нету как ни странно Печаль
  
Наверх
GTalkICQ  
IP записан
 
mirvel
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 28. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #785 - 18. Мая 2012 :: 09:40
Печать  
есть ли Onmouseover в поставщике данных табличного поля ВК 1cpp??? ребят может вы в курсе, если метод  наведение мыши над строчкой табличного поля в поставщикеданных????

Задача такая, чтобы при наведении мышкой на строчку табличного поля появлялась картинка. А щас у меня картинка вызывается по кнопке на форме... неудобно
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #786 - 18. Мая 2012 :: 10:06
Печать  
mirvel писал(а) 18. Мая 2012 :: 09:40:
Задача такая, чтобы при наведении мышкой на строчку табличного поля появлялась картинка

Насчет Onmouseover не знаю. Но мне кажется можно приспособить ПриВыводеПодсказки.
  
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #787 - 18. Мая 2012 :: 10:52
Печать  
Kurya писал(а) 18. Мая 2012 :: 09:23:
converting to data type int.

Не въезжаю откуда у тебя взялось преобразование типов  Озадачен
Цитата:
varchar value '   0     0   '

У тебя действительно встречается пустой КредДокумент в итогах? Может это ошибка из другой оперы?
Текст сформированного запроса покажи.
  
Наверх
GTalkICQ  
IP записан
 
Kurya
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #788 - 18. Мая 2012 :: 11:27
Печать  
Откуда берется преобразование типов и я не пойму. Пустой документ действительно есть. (Смотрел в SQL Management Studio).
Но кажись дело не в нем. Пробовал поменять регистр на другой (у меня два регистра взаиморасчетов) в котором КредДокумент является документом определенного вида, причем вид документа тот же что и в журнале. Пофиг, или нули или ошибка преобразования типов (но не пустого документа, во втором регистре пустых нет).
  
Наверх
 
IP записан
 
Kurya
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #789 - 18. Мая 2012 :: 11:43
Печать  
Кажется разобрался.
По второму регистру заработало (там где КредДокумент определенного вида). А по первому и не должно работать. т.к. там долги по накладным не ведутся.
  
Наверх
 
IP записан
 
mirvel
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 28. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #790 - 18. Мая 2012 :: 11:43
Печать  
Kalen писал(а) 18. Мая 2012 :: 10:06:
mirvel писал(а) 18. Мая 2012 :: 09:40:
Задача такая, чтобы при наведении мышкой на строчку табличного поля появлялась картинка

Насчет Onmouseover не знаю. Но мне кажется можно приспособить ПриВыводеПодсказки.

ПРивет... что то я того метода ни в модуле табличноеполе, ни в модуле табличнойчасти не нашел....
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #791 - 18. Мая 2012 :: 11:52
Печать  
mirvel писал(а) 18. Мая 2012 :: 11:43:
что то я того метода ни в модуле табличноеполе, ни в модуле табличнойчасти не нашел....

Это событие базового класса http://www.1cpp.ru/docum/icpp/html/TableField.html#onshowhint
  
Наверх
GTalkICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #792 - 21. Мая 2012 :: 06:27
Печать  
Туплю:
Код
Выбрать все
//************************************************
Процедура КТПередОкончаниемРедактирования(ТП, Колонка, ТипРегиона, Значение, ФСО)
	Если ТипРегиона.Имя = "Фирма" Тогда
		СпрДог = СоздатьОбъект("Справочник.Договоры");
		Договор = ДоговорПоФирме(ТП.ТекущиеДанные.Фирма);
		Если ДоговорПоФирме(ТП.ТекущиеДанные.Фирма) <> 0 Тогда
			ПоставщикДанных.Данные.ТекущиеДанные.Наименование = "Дополнительное соглашение №"+СпрДог.Код+" по договору "+Договор.Наименование;
			//ТП.ТекущиеДанные.Наименование =
			//СпрДог.НайтиЭлемент(ТП.ТекущиеДанные.ТекущийЭлемент);
			//СпрДог.Наименование = "Дополнительное соглашение №"+СпрДог.Код+" по договору "+Договор.Наименование;
			//СпрДог.Договор	= Договор;
			//СпрДог.Записать();
		КонецЕсли;
		ПоставщикДанных.Обновить();
	КонецЕсли;
КонецПроцедуры 


Как изменить значение колонке ПД.Справочник "Наименование" при окончании редактирования значения в колонке "Фирма"?
  

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


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #793 - 23. Мая 2012 :: 03:20
Печать  
Как в ПоставщикДанных.Справочник  запретить интерактивный отбор пользователям? То есть, чтоб всегда был установлен программно заданный отбор.
Как изменить реквизит справочника в событии "ПередУдалением"?
« Последняя редакция: 23. Мая 2012 :: 04:55 - al_zzz »  

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


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #794 - 24. Мая 2012 :: 13:29
Печать  
На последнем релизе ПД вот такая штука случилась:

Есть ФормаЭлемента Спр.Номенклатура в ней вывод Цен:

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




Код
Выбрать все
Процедура КонтейнерТПЦеныПриВыводеСтроки(ТабличноеПоле,ОформлениеСтроки, ДанныеСтроки, ТипРегиона)

	Если ДанныеСтроки.ТипЦен.Рассчитывается = 1 Тогда
		ЦенаЦены=0;

		ОформлениеСтроки.Ячейки.Цена.УстановитьТекст(СокрЛП(Формат(ЦенаЦены,"Ч-15.3, ")));
	Иначе
		ЦенаЦены=ДанныеСтроки.Цена;
	КонецЕсли;

	Если ДанныеСтроки.ТипЦен = Константа.ОсновнаяЦенаПриобретения Тогда
		лЦенаСС = ДанныеСтроки.Цена;
		ОформлениеСтроки.ЦветФона = глПД_ПалитраЦветов.БледноБирюзовый;
		ОформлениеСтроки.Ячейки.Наценка.УстановитьТекст("ЦЕНА С/С");
	КонецЕсли;

	лПериодическийЦена.ИспользоватьОбъект("Цена",ДанныеСтроки.ТекущийЭлемент);
	Если лПериодическийЦена.НайтиЗначение(ИспользоватьДату(),-1) = 1 Тогда
		таЗнач));
	КонецЕсли;


	Если (лЦенаСС>0) и (ДанныеСтроки.ТипЦен <> Константа.ОсновнаяЦенаПриобретения) Тогда
		//посчитаем % наценки
		ПроцНаценки = ЦенаЦены/лЦенаСС*100-100;
		ОформлениеСтроки.Ячейки.Наценка.УстановитьТекст(Формат(ПроцНаценки,"Ч-6.2. ")+" %");
	КонецЕсли;

КонецПроцедуры // КонтейнерТПЦеныПриВыводеСтроки 



Так вот после обновления при открытии формы вываливается ошибка:
Код
Выбрать все
ЦенаЦены=ДанныеСтроки.Цена;
{Справочник.Номенклатура.Форма.Модуль(911)}: Поле агрегатного объекта не обнаружено (Цена)
 



Посмотрел в отладчике - При первом срабатывании Процедура КонтейнерТПЦеныПриВыводеСтроки(...) у ДанныеСтроки нет реквизитов справочника ("Цена" и т.д.), хотя в дальнейшем все Ок. Где засада?

P.S. меняю ПД на предыдущую версию - все становится Ок
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 51 52 [53] 54 55 ... 81
ОтправитьПечать