Переключение на Главную Страницу Страницы: 1 ... 57 58 [59] 60 61 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения, примеры, вопросы (число прочтений - 361595 )
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #870 - 21. Июня 2010 :: 07:08
Печать  
Ошибка при использовании общего реквизита в Журнале
ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Поле Создал не найдено
ПоставщикДанных.НеУдалятьПоля(ПостоянныеПоляЗапроса);
{D:\Candy1201\Классы1С++\ПоставщикДанных\ПоставщикДанных.Журнал.ert(958) }
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #871 - 21. Июня 2010 :: 07:45
Печать  
Ошибка известная Печаль. Постараюсь подготовить сборку сегодня к вечеру.

Пы.сы. у меня там ряд изменений которые неописаны, и руки не доходят описать.  Смущённый
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #872 - 24. Июня 2010 :: 10:43
Печать  
в журнале документов устанавливаю фиксированный отбор по списку контрагентов (запрещаю его менять) + устанавливаю видимость 0

на экранной форме ни одного фильтра получеется не выбрано (как кажется пользователю), но кнопка установки отбора "вдавлена", те пользователь видит что какой отбор установлен.

сообщем предлагаю сделать так:

Код
Выбрать все
Функция КоличествоОтборов()
	Количество = 0;
	Для НомерЗначенияОтбора = 0 По СвойствоОтбор.Количество()-1 Цикл
		НастройкаОтбора = СвойствоОтбор.Получить(НомерЗначенияОтбора);
		Количество = Количество + ?(((НастройкаОтбора.Использование = 1) и (НастройкаОтбора.Видимость = 1)),1,0);
	КонецЦикла;
	Возврат Количество;
КонецФункции 



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


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #873 - 24. Июня 2010 :: 10:52
Печать  
Совершенно случайно наткнулся на то, что в дбф базе ПоследнееЗначение в прямом запросе не учитывает, что длина строкового периодического реквизита может быть больше 23. Во всяком случае в коде ПоставщикДанных.ПрямойЗапрос я такого не нашел. (Может плохо искал?)

А наткнулся по мотивам http://forums.kuban.ru/forum/viewtopic_new.php?t=2676470&all=all

Там же, в постах 19-20 попытался найти решение.
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #874 - 24. Июня 2010 :: 15:47
Печать  
HeiHeShang писал(а) 17. Июня 2010 :: 23:59:
vandalsvq писал(а) 17. Июня 2010 :: 14:21:
Поле удаляется из запроса если колонка невидима.

А если мне это поле нужно ?


Для SQL это реализуется так:
Код
Выбрать все
Источник.Поля.Добавить("Поле1").АвтоУдаление = 0;  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #875 - 24. Июня 2010 :: 15:52
Печать  
При переустановке поставщика данных (фактически при вызове Обновить) данная правка будет сброшена. Я реализовал отдельный метод, просто пока никак не зарелизю это.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #876 - 24. Июня 2010 :: 15:59
Печать  
Anatol писал(а) 24. Июня 2010 :: 10:43:
в журнале документов устанавливаю фиксированный отбор по списку контрагентов (запрещаю его менять) + устанавливаю видимость 0

Данное поведение я менять не хочу по той простой причине, что отбор есть. И пользователь должен понимать что видит не всю выборку. Для обхода данной кнопки можно модифицировать запрос в ПриПолученииДанных и также видимость = 0 поставить для настройки. тогда и кнопка не "сыграет" и пользователь не узнает.
А это интерактивное поведение... имхо.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #877 - 24. Июня 2010 :: 16:00
Печать  
Bill писал(а) 24. Июня 2010 :: 10:52:
Совершенно случайно наткнулся на то, что в дбф базе ПоследнееЗначение в прямом запросе не учитывает, что длина строкового периодического реквизита может быть больше 23. Во всяком случае в коде ПоставщикДанных.ПрямойЗапрос я такого не нашел. (Может плохо искал?)

Проблема идентифицирована. Она конечно относится к 1sqlite. Автор ВК оповещен. Будем ждать реакции.
  

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


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #878 - 24. Июня 2010 :: 16:06
Печать  
Ну я пока заплатку поставил:

Код
Выбрать все
Функция ПреобразоватьЗначение(МетаРеквизит,ПерваяЧасть)
. . .
ИначеЕсли ЭтоSQL = 0 Тогда
			//Изменения Bill
			//Было:
			//Реквизит = "SUBSTR("+ПерваяЧасть+".VALUE,1,"+МетаРеквизит.Длина+")";
			//Стало:
			КолЧастей = (МетаРеквизит.Длина-1)/23;
			Реквизит = "SUBSTR(COALESCE("+ПерваяЧасть+".VALUE,'')";
			Для сч = 1 По КолЧастей Цикл
				Реквизит = Реквизит+"||COALESCE("+ПерваяЧасть+сч+".VALUE,'')";
			КонецЦикла;
			Реквизит = Реквизит+",1,"+ МетаРеквизит.Длина+")";
			//Конец изменений
. . .
КонецФункции

Функция ПарсингВТПоследнееЗначение(ТекстДляОбработки)
. . .
ИначеЕсли ЭтоSQL = 0 Тогда
			//Изменения Bill
			//Было:
			//ТекстПодстановки = "(SELECT " + ИдентификаторКолонки + "
			//|FROM __1S_CONST const_vt
			//|WHERE const_vt.ID = " + ЗначениеИстории + "
			//|AND const_vt.OBJID = " + Элемент + "
			//|AND " + СтрУсловия + "
			//|ORDER BY idx_ID_OBJID_DATE_TIME_DOCID_PARTNO DESC LIMIT 1)";
			//
			//Стало:

			ТекстПодстановки = "(SELECT " + ИдентификаторКолонки + "
			|FROM __1S_CONST const_vt";
			Если МетаРеквизит.Тип = "Строка" Тогда
				КолЧастей = (МетаРеквизит.Длина-1)/23;
				Для сч=1 По КолЧастей Цикл
					ТекстПодстановки = ТекстПодстановки + "
					|LEFT JOIN __1S_CONST const_vt" + сч + " ON
					|	 const_vt" + сч + ".OBJID = const_vt.OBJID
					|AND const_vt" + сч + ".ID = " + ЗначениеИстории + "
					|AND const_vt" + сч + ".DATE = const_vt.DATE
					|AND const_vt" + сч + ".TIME = const_vt.TIME
					|AND const_vt" + сч + ".DOCID = const_vt.DOCID
					|AND const_vt" + сч + ".PARTNO = " + сч;
				КонецЦикла;
			КонецЕсли;
			ТекстПодстановки = ТекстПодстановки + "
			|WHERE const_vt.ID = " + ЗначениеИстории + "
			|AND const_vt.OBJID = " + Элемент + "
			|AND " + СтрУсловия;
			Если МетаРеквизит.Тип = "Строка" Тогда
				ТекстПодстановки = ТекстПодстановки + "
				|AND const_vt.PARTNO = 0";
			КонецЕсли;
			ТекстПодстановки = ТекстПодстановки + "
			|ORDER BY const_vt.idx_ID_OBJID_DATE_TIME_DOCID_PARTNO DESC LIMIT 1)";

			//Конец изменений
. . .
КонецФункции
 

« Последняя редакция: 25. Июня 2010 :: 02:06 - Bill »  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #879 - 24. Июня 2010 :: 16:08
Печать  
Хотя это надо было постить в ветку ПрямойЗапрос.
Я там поменял.
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #880 - 24. Июня 2010 :: 18:07
Печать  
Есть ли пример использоания журнала документов и журнала операций? Буду благодарен за примеры.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #881 - 25. Июня 2010 :: 04:14
Печать  
Я выкладывал тут тестовую конфигурацию в ней пример журнала был.
А вообще в мыслях сделать хороший пример реализации все расширений с настройкой. Так и тестировать будет проще и вход в разработку станет "дешевле". Но было бы время. У кого-то я помню были идеи по реализации учебника, ну или примера Улыбка. Автор идеи отзовись !!!
  

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


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #882 - 25. Июня 2010 :: 06:02
Печать  
Использую последнию версию класса, ПоставщикДанных.Регистр

ошибка при попытки присоединения колонки:
           Поле агрегатного объекта не обнаружено
           ВложеннаяСтруктура.Неотрицательный = 0;
Посмотрел код, в процедуре ПолучитьВложеннуюСтруктуру() наверное пропущено
стр 317
           ВложеннаяСтруктура.Добавить(0,"Неотрицательный");

Добавил, тут все ОК(пока), но присоединяю я справочник, смотрю сформированный запрос
Код
Выбрать все
SELECT
	1 AS [КлючПорядка]
	,1 AS [ТекущаяСтрока]
	,SUM(спр.Descr) AS [Инвалид] -- Вот тут странно SUM( )  Ведь присоединяю справочник
from Регистр.СоциальноДемографический as ТекущийОбъект $nolock
	left join ЖурналДокументов as journ $nolock
		on journ.IDDOC = ТекущийОбъект.IDDOC

   Left join [Справочник.КатегорииИнвалидовЛьготников] спр ON спр.ID = $ТекущийОбъект.Инвалид

where
	$ТекущийОбъект.ФизЛицо = :pf_ФизЛицо, Число БезПодготовки=0) : unrecognized token: "]"


 


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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #883 - 25. Июня 2010 :: 06:20
Печать  
Короче чувствую не отверчусь и прийдется на выходных занятся багофиксом  Улыбка
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #884 - 25. Июня 2010 :: 06:22
Печать  
nicolas писал(а) 25. Июня 2010 :: 06:02:
-- Вот тут странно SUM( )  Ведь присоединяю справочник


Скорее всего в параметре при добавлении колонки ты поставил флаг итога по колонке Улыбка. Посмотри внимательно. Но я проверю на всякий случай.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 57 58 [59] 60 61 ... 79
ОтправитьПечать