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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #270 - 20. Ноября 2009 :: 11:26
Печать  
Единственный вариант который пока пришел в голову - это вызов метода ВводНового после создания документа и заполнения реквизитов. НО: т.о. получится что сначала вызовется ВводНового с параметрами ФлагКопирования = 0, Объект = "", а потом ФлагКопирования = 1, Объект = ДокИсточник. Что собственно нехорошо как-то получается.
  

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


I Love YaBB 2!

Сообщений: 145
Зарегистрирован: 19. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #271 - 20. Ноября 2009 :: 13:15
Печать  
vandalsvq писал(а) 20. Ноября 2009 :: 11:26:
Единственный вариант который пока пришел в голову - это вызов метода ВводНового после создания документа и заполнения реквизитов. НО: т.о. получится что сначала вызовется ВводНового с параметрами ФлагКопирования = 0, Объект = "", а потом ФлагКопирования = 1, Объект = ДокИсточник. Что собственно нехорошо как-то получается.


Вопрос только когда именно вызывать эту процедуру? Я пробовал после открытия, но эти реквизиты были еще не скопированы.
Можно пробовать после активации формы, но тогда нужно иметь переменную, которой присваивать значение при первом вызове ВводНового и потом повторно уже после активации.
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #272 - 27. Ноября 2009 :: 08:12
Печать  
Народ, а есть примерчик с журналом?
Простите лень мою... Киньте, плз..
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #273 - 27. Ноября 2009 :: 10:14
Печать  
Тут конфа тестовая где-то лежит. Возьми ее. Там обработка "ТестовыйОтчет" вроде называется. Зайди в код в процедуре "ПослеСозданияФормы" расскоментируй код поставщика данных Журнал, остальные закомменть. И все
  

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


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #274 - 27. Ноября 2009 :: 10:22
Печать  
vandalsvq писал(а) 27. Ноября 2009 :: 10:14:
Тут конфа тестовая где-то лежит. Возьми ее. Там обработка "ТестовыйОтчет" вроде называется. Зайди в код в процедуре "ПослеСозданияФормы" расскоментируй код поставщика данных Журнал, остальные закомменть. И все

Спасибо. НАШЕЛ.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #275 - 30. Ноября 2009 :: 18:32
Печать  
В данном посте http://www.1cpp.ru/forum/YaBB.pl?num=1246429625/349#349 я отписался по поводу использования ВК 1sqlite. Очень советую посмотреть и принять хотя бы к сведению.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #276 - 02. Декабря 2009 :: 06:23
Печать  
Выложена новая версия
3.03.004 от 02.12.09 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.001 от 02.12.09 г.

Пы.сы. Из топика убрана вся история версий кроме последней записи. Все смотреть в документации.
  

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


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #277 - 02. Декабря 2009 :: 08:46
Печать  
разрешите присоединится к дискуссии...

Во-первых огромное спасибо автору за такой класс, да еще с документацией! Просто не хватает слов благодарности...

Начал потихоньку разбираться с журналами и выявил несколько багов:
1. При формировании запроса используется стрЗаменить к тексту запроса, так вот при наличии в журнале двух документов с "похожими" видам (Например Счет и СчетВходящий) не происходит правильное изменение запроса. Получается что-то типа
Цитата:
...
COALESCE($dh1102.Клиент,$dh1102Входящий.Клиент) AS [Клиент $Справочник]
...

2. Нет возможности вывести общие реквизиты документа (те, которые без признака отбор), или я просто еще не разобрался.
3. Если в Обычном журнале удалить из состава один из видов документа, но не очистить ссылки (в реквизитах), то запрос строится с ошибками... Но это скорее моя ошибка, как "конфигураста".

Понимаю, что автор не обязан все бросить и исправлять ошибки, но надеюсь, что при очередном обновлении класса мои заметки пригодятся.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #278 - 02. Декабря 2009 :: 09:49
Печать  
2 Noy.
п.1 исправлю обязательно.
п.2 подумаю. не гарантирую.
Общие реквизиты без признака отбор не выводятся в целях оптимизации. т.е. если ты не "попросишь" поставщика выводить графы журнала то запрос будет строиться только к таблице journ, в противном случае будут leftjoin-ться еще и таблицы документов, т.о. при значительных объемах данных "листинг" будет малость (или совсем не малость) притормаживать.
п.3 а тут точно я могу как то повлиять на ситуацию... ну хочешь поругаю тебя  Смех
  

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


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #279 - 02. Декабря 2009 :: 10:18
Печать  
vandalsvq писал(а) 02. Декабря 2009 :: 09:49:
...
Общие реквизиты без признака отбор не выводятся в целях оптимизации. т.е. если ты не "попросишь" поставщика выводить графы журнала то запрос будет строиться только к таблице journ, в противном случае будут leftjoin-ться еще и таблицы документов, т.о. при значительных объемах данных "листинг" будет малость (или совсем не малость) притормаживать.
...

Так они вроде и так "джойнятся" в 99% случаев??? Или я не так понял?
  
Наверх
 
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #280 - 02. Декабря 2009 :: 10:43
Печать  
И еще один нюанс...
стандартные 1с-кие журналы позволяют в одну графу выводить данные разных типов (у меня есть один журнал, где в графу "сумма" у одного из видов документа выводился документ - дабы не лепить еще одну колонку), а вот с данным классом такая штука не проходит.
Есть ли в планах реализовать подобный функционал?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #281 - 02. Декабря 2009 :: 11:47
Печать  
Noy писал(а) 02. Декабря 2009 :: 10:43:
И еще один нюанс...
стандартные 1с-кие журналы позволяют в одну графу выводить данные разных типов (у меня есть один журнал, где в графу "сумма" у одного из видов документа выводился документ - дабы не лепить еще одну колонку), а вот с данным классом такая штука не проходит.
Есть ли в планах реализовать подобный функционал?

В самих запросах типизация значений производится по принципу 1 колока = 1 тип, ну или же лови все во внутреннем формате. Есть вариант отказаться от типизации в запросе, возложив это на процедуру "ПриВыводеСтроки". Но счас КОП к этому "не готов". А вот стоит ли так делать я даже не знаю. Потому как первая задача на что направлен данный класс - это оптимизация работы. А вот как такое изменение скажется на производительности я говорить не берусь. Не испытывал как то.
Как вариант если в колонке есть "сборные" типы я могу не типизировать в запросе, и тогда ответственность за это лежит на плечах программистов. Вы готовы к такому повороту событий?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #282 - 02. Декабря 2009 :: 11:50
Печать  
Noy писал(а) 02. Декабря 2009 :: 10:18:
Так они вроде и так "джойнятся" в 99% случаев??? Или я не так понял?

Есть два условия при которых таблицы не join-ятся.
1. Отсутствие в запросе колонок не являющихся колонками таблицы journ (т.е. не общие реквизиты с признаком отбор = 1)
2. Отсутствие в условиях аналогичных колонок.
Соответственно, поскольку по умолчанию отбор по ним запрещен, все ответственность лежит на плечах программеров.
  

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


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #283 - 02. Декабря 2009 :: 13:58
Печать  
vandalsvq писал(а) 02. Декабря 2009 :: 11:47:
В самих запросах типизация значений производится по принципу 1 колока = 1 тип, ну или же лови все во внутреннем формате. Есть вариант отказаться от типизации в запросе, возложив это на процедуру "ПриВыводеСтроки". Но счас КОП к этому "не готов". А вот стоит ли так делать я даже не знаю. Потому как первая задача на что направлен данный класс - это оптимизация работы. А вот как такое изменение скажется на производительности я говорить не берусь. Не испытывал как то.
Как вариант если в колонке есть "сборные" типы я могу не типизировать в запросе, и тогда ответственность за это лежит на плечах программистов. Вы готовы к такому повороту событий?


Думаю, что лучше всего сделать настройку для колонки что-то типа ПриводитьКСтроке=1. (хотя не уверен, что это легко делается)

Цитата:
Есть два условия при которых таблицы не join-ятся.
1. Отсутствие в запросе колонок не являющихся колонками таблицы journ (т.е. не общие реквизиты с признаком отбор = 1)
2. Отсутствие в условиях аналогичных колонок.
Соответственно, поскольку по умолчанию отбор по ним запрещен, все ответственность лежит на плечах программеров.


Ведь есть уже "РазрешитьОтборПоГрафам" - можно добавить новый параметр, или ориентироваться на этот.

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #284 - 02. Декабря 2009 :: 15:38
Печать  
Noy писал(а) 02. Декабря 2009 :: 13:58:
Думаю, что лучше всего сделать настройку для колонки что-то типа ПриводитьКСтроке=1. (хотя не уверен, что это легко делается)

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

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 17 18 [19] 20 21 ... 79
ОтправитьПечать