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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
30. Июля 2009 :: 08:18
Печать  
Данная тема закрыта в целях обеспечения ее целостности и неразрушения.
Продолжение (часть 2): - тут
« Последняя редакция: 26. Сентября 2010 :: 17:07 - vandalsvq »  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #1 - 30. Июля 2009 :: 08:19
Печать  
Ну и скриншот реализованной формы списка при помощи данного КОП.

Пы.сы. пример качать тут
« Последняя редакция: 24. Марта 2010 :: 09:32 - vandalsvq »  

____________.JPG ( 41 KB | Загрузки )
____________.JPG

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #2 - 30. Июля 2009 :: 08:26
Печать  
Вот и пример как это дело работает
в модуле формы располагаем переменную с объектом класса (ПоставщикДанных). В процедуре ПослеСозданияФормы или ПослеОткрытия выполняем данный код
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
ВидыСравнений = СоздатьОбъект("ПоставщикДанных.ВидыСравнения");
ПоставщикДанных.ТипЗначений = "Справочник.Контрагенты";
ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП";
ПоставщикДанных.КонтейнерКоманднойПанели = "КонтейнерКП";

ДанныеСпр = ПоставщикДанных.Данные;
//ДанныеСпр//:ПоставщикДанных.Справочник

ДанныеСпр.НоваяКолонка("Код");
ДанныеСпр.НоваяКолонка("Наименование");
ДанныеСпр.НоваяКолонка("ПолнНаименование");
ДанныеСпр.НоваяКолонка("ИНН");
ДанныеСпр.АвтоОбновление = 1;
ДанныеСпр.ПериодАвтоОбновления = 10;

ОтборНаименование = ДанныеСпр.Отбор.Наименование;
ОтборНаименование.ИзменятьИспользование = 0;
ОтборНаименование.Использование = 1;
ОтборНаименование.ВидСравнения = ВидыСравнений.Содержит;
ОтборНаименование.Значение = "ооо";

ПоставщикДанных.Обновить(); 

  

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


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

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

Пы.сы. пример брать тут
« Последняя редакция: 24. Марта 2010 :: 09:33 - vandalsvq »  

________________.JPG ( 62 KB | Загрузки )
________________.JPG

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #4 - 30. Июля 2009 :: 08:47
Печать  
Еще небольшое дополнение.
Данный набор КОП я уже "подпольно" давал попробовать и посмотреть некоторым участникам данного форума, с просьбой не передавать никому.
Так вот, и к данному вопросу и к тому что мне тут в ЛС писали, на предмет того можно ли использовать в своих разработках. Можно. Используйте. Если поможет, то хорошо.
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #5 - 30. Июля 2009 :: 08:48
Печать  
вопрос слегка не в тему - на боевой базе юзаешь 1sqilte последней версии?
на эти грабли не вставал? http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/622#622
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #6 - 30. Июля 2009 :: 08:52
Печать  
CaBaT писал(а) 30. Июля 2009 :: 08:48:
вопрос слегка не в тему - на боевой базе юзаешь 1sqilte последней версии?
на эти грабли не вставал? http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/622#622

Честно признатся на данные грабли не вставал. Но если они есть, то конечно плохо.
А Саше Орефкову я писал письмо недавно по другой проблеме, он не ответил. Может отпуск, может занят, может прекратил поддержку. Кто знает  Нерешительный

А боевые базы в большинстве своем у меня SQL. Да и запросов подобных max(date) у меня нет вроде.
  

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


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #7 - 30. Июля 2009 :: 08:53
Печать  
честно говоря из-за этого я до сих пор использую 1.9, так как на мой взгляд баг довольно неприятный, неизвестно, где вылезет..
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #8 - 30. Июля 2009 :: 08:56
Печать  
CaBaT писал(а) 30. Июля 2009 :: 08:53:
честно говоря из-за этого я до сих пор использую 1.9, так как на мой взгляд баг довольно неприятный, неизвестно, где вылезет..

Но честно признатся проблем со сравнением <=, >= у меня не было. Не сталкивался.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Андрей
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 30. Октября 2008
Re: Класс "ПоставщикДанных"
Ответ #9 - 30. Июля 2009 :: 10:07
Печать  
У меня что то падает 1С-ка. Прописал минимум кода во внешнюю обработку, запускаю ее и как только касаюсь мышкой таблицы все падает.

Компоненты все последние версии
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #10 - 30. Июля 2009 :: 10:14
Печать  
переменная объекта должна быть переменной модуля. и существовать до самого момента уничтожения формы.
т.е. в сааааааамый верх впиши
Перем ПоставщикДанных;
и так на каждый экземпляр объекта
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #11 - 30. Июля 2009 :: 10:16
Печать  
об этом кстати в доке написано
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Андрей
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 30. Октября 2008
Re: Класс "ПоставщикДанных"
Ответ #12 - 30. Июля 2009 :: 10:46
Печать  
vandalsvq писал(а) 30. Июля 2009 :: 10:16:
об этом кстати в доке написано


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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #13 - 30. Июля 2009 :: 11:02
Печать  
Андрей писал(а) 30. Июля 2009 :: 10:46:
vandalsvq писал(а) 30. Июля 2009 :: 10:16:
об этом кстати в доке написано


Да, из за этого, спасибо. Я просто быстренько копипастом накидал тестовую обработку не читая пока доку  Улыбка

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

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #14 - 30. Июля 2009 :: 12:30
Печать  
Почему может не отображаться командная панель?
Все рекомендации из мануала выполнил, а именно:
версии библиотек или совпадают с требованиями или выше, офис установлен, после открытия делаю видимость 0 потом 1
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #15 - 30. Июля 2009 :: 12:40
Печать  
Цитата:
Собственно вот еще одно творение которое я решил отдать народу на самосуд

За что громадное спасибо! Очень довольный
Изучаю.
Дабы было проще можно попросить еще и некую демо-конфу выложить? Круглые глаза
А то изучать все 100 с лишним страниц мануала... это надолго. А так хоть будет на что опереться. Подмигивание
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #16 - 30. Июля 2009 :: 12:47
Печать  
Цитата:
Почему может не отображаться командная панель?
Все рекомендации из мануала выполнил, а именно:
версии библиотек или совпадают с требованиями или выше, офис установлен, после открытия делаю видимость 0 потом 1

А сами кнопки то как в документации описано добавлял?
Может в коде где нето?
  
Наверх
 
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #17 - 30. Июля 2009 :: 13:04
Печать  
Berck писал(а) 30. Июля 2009 :: 12:47:
Цитата:
Почему может не отображаться командная панель?
Все рекомендации из мануала выполнил, а именно:
версии библиотек или совпадают с требованиями или выше, офис установлен, после открытия делаю видимость 0 потом 1

А сами кнопки то как в документации описано добавлял?
Может в коде где нето?

Во блин  Круглые глаза
А я думал набор для стандартных типов источников тоже стандартный и создается автоматически
Таки нужна демка, полностью поддерживаю
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #18 - 30. Июля 2009 :: 16:51
Печать  
Ну вот вам конфа на которой я все тестирую.
Только в папку КаталогИБ() + SystemData\dll\ необходимо положить
1cpp, 1sqlite, dialmail, FormEx, HtmlUserHelp, Rwidjets, SpreadSheet, v7plus
Ну или отключите все кроме 1cpp, 1sqlite, FormEx
обработки сами посмотрите какие открыть. Там есть обработка там пример всех поставщиков.  Подмигивание
  

___________001.rar ( 462 KB | Загрузки )

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #19 - 18. Августа 2009 :: 11:39
Печать  
В очередной раз поразился глубиной проработки. Просто молодец.

Щас потихоньку на одном пользователе буду пробовать. Возникло пару вопросов:
Напримере на моей задаче. Есть спр-к "ОтгуленныеОтпускаСотрудников", один из реквизитов - "Сотрудник" типВид = "Справочник.Сотрудники" с включенной галкой "отбор". Этот список открывается в модуле формы конкретного элемента справочника "Сотрудники".
1. как программно установить отбор по этому сотруднику?
2. Как при вводе нового элемента спр-ка "ОтгуленныеОтпускаСотрудников" сразу устанавливать ему реквизит "Сотрудник" в нужное мне значение? пробовал так:
Код
Выбрать все
Процедура ПередНачаломДобавления(тп, Копирование, Родитель, ЭтоГруппа, ФСО)
НовыйЭлемент=тп.ТекущаяСтрока;
НовыйЭлемент.Сотрудник = НужноеМнеЗначение; 


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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #20 - 18. Августа 2009 :: 11:41
Печать  
И еще маленькое замечание.
В классе "ПоставщикДанных.КоманднаяПанель" в метод "Кнопка" добавить параметр "Подсказка", ведь у кнопки есть такое св-во.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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



Записать значения нового элемента с заполнением реквизитов....
Код
Выбрать все
Процедура ПередНачаломДобавления(ТабличноеПоле,ФлагКопирования,Родитель,ЭтоГруппа,ФСО)
ФСО = 0;
// а тут создаешь новый элемент либо через форму с заполнением значений через контекст, либо программным путем заполнив нужные реквизиты.
// ну и если программно создавал, то вызови Обновить и потом позиционирование на элементе
ТабличноеПоле.ТекущаяСтрока = НовыйЭлемент;
КонецПроцедуры 

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #22 - 18. Августа 2009 :: 18:28
Печать  
JohnyDeath писал(а) 18. Августа 2009 :: 11:41:
И еще маленькое замечание.
В классе "ПоставщикДанных.КоманднаяПанель" в метод "Кнопка" добавить параметр "Подсказка", ведь у кнопки есть такое св-во.


А хочешь я в тебя документацией покидаюсь?  Смех
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #23 - 18. Августа 2009 :: 18:42
Печать  
По поводу отборов...
1. Читай атрибут Отбор в соответствующем объекте расширении (Справочник, Документ, Журнал)
2. Далее читай раздел Коллекция «Отбор» дабы понять какие атрибуты есть в коллекции
3. Не забудь вызвать метод Обновить() для принятия изменений признаков отборов

По поводу кнопок и ее атрибутов
1. Читай метод Кнопка - он (и метод Получить) возвращает элемент коллекции Кнопки.
2. Читай раздел Коллекция «Кнопки» дабы устанавливать остальные параметры которые не учтены в методе Добавить.

Как работать с коллекцией...
Коллекция - это АссоциативныйВектор с вложенными векторами, ключи которых - идентификаторы (реквизитов, кнопок и т.п.).
Т.е. например Отбор содержит ключи с идентификаторами реквизитов справочников, документов, журналов и т.д. Кнопки соответственно содержит идентификатор добавленных кнопок командную панель.

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

Пы.сы. и вообще все это в плане интерфейса разработчика очень сильно слизано с товарища 1Сv8.  Подмигивание
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #24 - 18. Августа 2009 :: 19:04
Печать  
Документаци_ - оч хороша_. Просто с разбега не сразу вник во все тонкости. Теперь всё пон_тно, спасибо.
Про отбор: почему-то думал, что его надо ручками самому создавать. Полез в класс, посмотрел, что метод по созданию вектора-отбора не экспортный, пон_л, что где-то что-то упустил в доке. Решил перестраховатьс_ и спросить. (Кстати, в доке везде во фразе "Подробнее смотрите раздел Коллекция «Отбор»." ссылка ведет куда-то не туда)

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


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

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

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

Класс и документация в архиве в топике темы.  Подмигивание

КАЧАТЬ ОБЯЗАТЕЛЬНО  Класс
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #26 - 18. Августа 2009 :: 19:33
Печать  
JohnyDeath писал(а) 18. Августа 2009 :: 19:04:
Залез в класс, добавил еще один параметр и успокоилс_ Подмигивание


"Плохая девочка, плохая" (с) Доктор Кокс, сериал "Клиника" (Scrubs)  Смех (без обид, кто смотрит тот поймет Подмигивание)

Пы.сы может для популяции классов ПоставщикДанных и ПрямойЗапрос сделать какие нибудь суперкрасивые демки? Правда время лень на это тратить.
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #27 - 19. Августа 2009 :: 13:23
Печать  
Что-то у меня не срабатывает ни одно событие, связанное с Удалением: ПередУдалением, ПередУстановкойПометкиУдаления, ПослеУдаления
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #28 - 19. Августа 2009 :: 14:17
Печать  
При нажатии правой кнопкой мыши - отвечает.
Код
Выбрать все
ПоставщикДанных.Справочник::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля ТекущаяКолонка=, Справочник.УсловияПремии ТекущаяСтрока=	  13   ) : Индекс не входит в границы списка значений.
СписокСортировки.Пометка(СписокСортировки.НайтиЗначение(РеквизитСортировки),1);
{\ExtForms\Классы\ПоставщикДанных\ПоставщикДанных.Справочник.ert(2241) }

ПоставщикДанных.ТабличноеПоле::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля ТекущаяКолонка=, Справочник.УсловияПремии ТекущаяСтрока=	  13   ) : ПоставщикДанных.Справочник::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля ТекущаяКолонка=, Справочник.УсловияПремии ТекущаяСтрока=	  13   ) : Индекс не входит в границы списка значений.
СписокСортировки.Пометка(СписокСортировки.НайтиЗначение(РеквизитСортировки),1);
{\ExtForms\Классы\ПоставщикДанных\ПоставщикДанных.Справочник.ert(2241) }

вирт().ПриКонтекстномМеню(ТипРегиона,ТекущаяКолонка,ТекущаяСтрока);
{\ExtForms\Классы\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(296) }

ПоставщикДанных.ТабличноеПоле::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля ТекущаяКолонка=, Справочник.УсловияПремии ТекущаяСтрока=	  13   ) : ПоставщикДанных.Справочник::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля ТекущаяКолонка=, Справочник.УсловияПремии ТекущаяСтрока=	  13   ) : Индекс не входит в границы списка значений.
СписокСортировки.Пометка(СписокСортировки.НайтиЗначение(РеквизитСортировки),1);
{\ExtForms\Классы\ПоставщикДанных\ПоставщикДанных.Справочник.ert(2241) }

вирт().ПриКонтекстномМеню(ТипРегиона,ТекущаяКолонка,ТекущаяСтрока);
{\ExtForms\Классы\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(296) } 


что нетак? Ужас

И еще как добавить возможность выбора группы справочника при редактировании в списке?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Код покажете???
Можно в txt и прикрепить, я гляну что не так.
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #30 - 19. Августа 2009 :: 14:28
Печать  
Собственно вот.

В колонках "Магазин" и "Товар" хочу иметь возможность выбора групп. как этого добиться?
  

_____________________________.ert ( 36 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #31 - 19. Августа 2009 :: 14:34
Печать  
Перенеси
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных"); 


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

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #32 - 19. Августа 2009 :: 14:42
Печать  
Перенес - не помогло. Печаль

На всякий случай.
Версии
1С 7.70.027
FormEx 2.0.5.93 beta
1C++ 3.0.1.22
И класс  сегодня обновил.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #33 - 19. Августа 2009 :: 14:44
Печать  
Berck писал(а) 19. Августа 2009 :: 14:42:
Перенес - не помогло. Печаль

На всякий случай.
Версии
1С 7.70.027
FormEx 2.0.5.93 beta
1C++ 3.0.1.22
И класс  сегодня обновил.


С ВК вроде все в норме. А конфа большая? Можешь МД-шником поделится? vandalsvq[собака]rambler.ru
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #34 - 19. Августа 2009 :: 14:46
Печать  
Если отсортировать  по колонке, то потом отрабатывает нормально.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

А еще то что выдается если РежимОтладки = 1
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #36 - 19. Августа 2009 :: 15:00
Печать  
Длина кода = 0
Длина наименования = 0
Соответственно ОсновноеПредставление - вообще серое.

А РежимОтладки
Код
Выбрать все
select top 24
ТекущийСправочник.ID as ТекущийЭлемент,
CASE WHEN ТекущийСправочник.ISFOLDER = 1 THEN 1 ELSE 0 END as ЭтоГруппа,
CASE WHEN ТекущийСправочник.ISMARK = 1 THEN 1 ELSE 0 END as ПометкаУдаления,
(CASE WHEN ТекущийСправочник.ISFOLDER = 1 THEN 0 ELSE 2 END + CASE WHEN ТекущийСправочник.ISMARK = 1 THEN 1 ELSE 0 END) as Пиктограмма,
ТекущийСправочник.PARENTID as Родитель,
ТекущийСправочник.sp11240 as Магазин,
ТекущийСправочник.sp11190 as Год,
ТекущийСправочник.sp11189 as Товар,
ТекущийСправочник.sp11191 as Сумма,
ТекущийСправочник.sp11192 as Процент
from sc11188 AS ТекущийСправочник (NOLOCK)
where ТекущийСправочник.PARENTID = '     0   '
order by CASE WHEN ТекущийСправочник.ISFOLDER = 1 THEN 1 ELSE 0 END desc, ТекущийСправочник.ID 


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


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

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #38 - 19. Августа 2009 :: 15:50
Печать  
Вышло обновление класса.
Изменения в расширении "ПоставщикДанных.Справочник"
- Исправил ошибку построения контекстного меню если отсутствуют колонки Код или Наименование, но присутствует реквизит с признаком Сортировка = 1.
- Проведена работа по оптимизации построения строки сортировки для SQL формата БД.

Файл брать в топике. Жду результатов с полей боевых действий.  Подмигивание
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #39 - 20. Августа 2009 :: 06:02
Печать  
Спасибо большое! Очень довольный
Все заработало.
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #40 - 20. Августа 2009 :: 06:03
Печать  
повторю вопрос, т.к. актуально. Нерешительный

В справочнике реквизит имеет вид "Справочник.Товар".
Как добавить возможность выбора группы при редактировании в форме, т.е. в табличном поле? Озадачен
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #41 - 20. Августа 2009 :: 07:34
Печать  
JohnyDeath писал(а) 19. Августа 2009 :: 13:23:
Что-то у меня не срабатывает ни одно событие, связанное с Удалением: ПередУдалением, ПередУстановкойПометкиУдаления, ПослеУдаления

Уселся ваять конфу, чтобы показать, что события не работает. Оказалось - ложная тревога.
Они не отрабатывают, если были добавлены в модуль формы, который потом выгружался через TurboMD. В таком режиме никакие события не срабатывают. Штатно сохраняем конфу - всё работает.

И еще одно пожелание. Можно ли сделать более интеллектуальный отбор по коду в справочниках. Имею ввиду проблемку с числовыми кодами (вот тут я уже рассказывал). Править много не придется. Можно сделать например вот так: http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/510#512
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #42 - 20. Августа 2009 :: 10:38
Печать  
Саш, как смотришь еще на такое предложение.
В некоторые события по редактированию/удалению элементов/документов добавить входной параметр = ссылке на объект типа "Справочник/Документ.Вид"?
Например в событие поставщика.Справочник ПередОкончаниемРедактирования(СтрокаТП, Колонка, ТипРегиона, Значение, ФСО). Если я делаю ФСО=0, то мне каждый раз приходится делать:
Код
Выбрать все
спр=СоздатьОбъект("Справочник."+СтрокаТП.Вид());
Если спр.НайтиЭлемент(СтрокаТП)=0 тогда возврат; конецЕсли 


а ведь такой код уже есть в классе, нужно просто его "приподнять" и передать параметром.
Как думаешь?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #43 - 20. Августа 2009 :: 10:50
Печать  
JohnyDeath писал(а) 20. Августа 2009 :: 10:38:
Саш, как смотришь еще на такое предложение.
В некоторые события по редактированию/удалению элементов/документов добавить входной параметр = ссылке на объект типа "Справочник/Документ.Вид"?
Например в событие поставщика.Справочник ПередОкончаниемРедактирования(СтрокаТП, Колонка, ТипРегиона, Значение, ФСО). Если я делаю ФСО=0, то мне каждый раз приходится делать:
Код
Выбрать все
спр=СоздатьОбъект("Справочник."+СтрокаТП.Вид());
Если спр.НайтиЭлемент(СтрокаТП)=0 тогда возврат; конецЕсли 


а ведь такой код уже есть в классе, нужно просто его "приподнять" и передать параметром.
Как думаешь?


Добавить дополнительный параметр не удасться. Поскольку у меня прийдется половину конфигурации перелопатить чтобы исправить... если только добавить после всех, т.е. +1 параметр в конце... хм... я могу попробовать если у меня ничего не сломается, то добавлю Подмигивание, а ежели сломается, то не добавлю Подмигивание Вот как.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #44 - 20. Августа 2009 :: 10:55
Печать  
JohnyDeath писал(а) 20. Августа 2009 :: 07:34:
И еще одно пожелание. Можно ли сделать более интеллектуальный отбор по коду в справочниках. Имею ввиду проблемку с числовыми кодами (вот тут я уже рассказывал). Править много не придется. Можно сделать например вот так: http://www.1cpp.ru/forum/YaBB.pl?num=1214205575/510#512


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

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
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 записан
 
Zealot
1c++ donor
Отсутствует


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

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

vandalsvq писал(а) 26. Августа 2009 :: 17:18:
Zealot писал(а) 26. Августа 2009 :: 16:05:
А можно выложить код вот внизу закладок по алфавиту по конкретному справочнику  Нерешительный

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



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

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


  

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


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

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

vandalsvq писал(а) 26. Августа 2009 :: 17:22:
Цитата:
1) Баг при пролистывании таблицы и разворачивании формы, смотри ниже скриншоты, вот код:

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

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

  

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


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

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


Ну так делится надо  Очень довольный
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #63 - 26. Августа 2009 :: 17:37
Печать  
Там поле сортировки DATE_TIME_IDDOC
Т.е. выглядит оно как Дата(Строка 8)+Время(Строка 6)+ИДДок(Строка 9).
Вот собственно время = количество секунд с начала дня до позиции документа в 36-тиричном представлении. Т.о. это строковое выражение в (грубо говоря) алфавитном порядке.
  

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


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

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

Хотелось бы прояснить что там в этом самом ТП Закладки и будет отображаться то? Таблица которая видна когда кнопку "Отбор" нажимаешь?
  

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


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

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


Ну так бросай это занятие (всмысле 1С) и на подпевку в Александру Розенбауму  Очень довольный А вообще то правильно делаешь что отвлекаешься от суеты 1С!
  

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


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

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

Хотелось бы прояснить что там в этом самом ТП Закладки и будет отображаться то? Таблица которая видна когда кнопку "Отбор" нажимаешь?


И не только (если ты имееш ввиду аналогию со штатными "ЗакладкиОтбора()",  например вот еще зачем:

1) Таблица закладок "Подчиненные справочники", Товары: Цены, Единицы, и т.д.

2)  Закладки определенные в конфигураторе для формы

и т.д.

Кстати тогда незачем тебе будет писать отдельно алфавитку, а завел новый реквизит справочника (кстати у меня так в одной конфе так и есть) "ПерваяБуква", установил признак отбор, определил закладки по реквизиту "ПерваяБуква" и аля все готово!
  

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


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

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

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


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

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

Пы.сы при этом код никакой дополнительно не писал.  Подмигивание
  

TF_vert.JPG ( 68 KB | Загрузки )
TF_vert.JPG

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


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

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

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

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


  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #70 - 26. Августа 2009 :: 18:22
Печать  
Ну идея про дерево мне ясна, хотя я в таком случае использую двух поставщиков, один с отбором ЭтоГруппа = 0, а второй просто как список справочника. И синхронизирую их между собой.

Завтра (или сегодня ночью) я выложу новую версию. Там кое какие исправления будут по нашему обсуждению.
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #71 - 26. Августа 2009 :: 18:24
Печать  
Я так и делал и еще раз проверил, а теперь попробуй развернуть форму, поизменять размер, появится какято серая хрень, если зафиксировать через "УправлениеФормой" тогда все пучем,

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



но напрашивается атрибут "РасположениеКнопок: Вертикально|Горизонтальное"!

vandalsvq писал(а) 26. Августа 2009 :: 18:11:
Кстати на счет кнопок по вертикали, я счас сделал командную панель (достаточно узкую, чтобы не более одной кнопки помещалось) по вертикали и все встало как положено. Вот смотри...

Пы.сы при этом код никакой дополнительно не писал.  Подмигивание

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #72 - 26. Августа 2009 :: 18:27
Печать  
По форуму порыскал не нашел информации о классе "УправлениеФормой", может выложишь поновее что у тебя есть.

Zealot писал(а) 26. Августа 2009 :: 17:35:
vandalsvq писал(а) 26. Августа 2009 :: 17:23:
Zealot, а не помню когда я выкладывал класс УправлениеФормой?  Улыбка
Там ведь тоже есть множество обновлений.  Подмигивание


Ну так делится надо  Очень довольный

  

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


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

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

Да и еще нету для журналов:
- Просмотр
- Открыть операцию
- Проводки операции
- Перейти в журнал проводок/операций
- Изменить время документа
- Движения документа
- Подчиненные документы

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #74 - 26. Августа 2009 :: 18:34
Печать  
Для КОП "УправлениеФормой" отдельную тему создавать не буду. Просто кому надо вот тут (архив в сообщении) сами КОП и документация. Там я сплиттеры+гиперссылки добавил и некоторые баги исправил по мелочи.
  

FormManager.rar ( 42 KB | Загрузки )

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


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

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

Знаю...  Плачущий
Авось и до нее руки дойдут.  Смущённый
  

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


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

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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #77 - 26. Августа 2009 :: 18:39
Печать  
vandalsvq писал(а) 26. Августа 2009 :: 18:34:
Для КОП "УправлениеФормой" отдельную тему создавать не буду. Просто кому надо вот тут (архив в сообщении) сами КОП и документация. Там я сплиттеры+гиперссылки добавил и некоторые баги исправил по мелочи.


РЕСПЕКТ И УВАЖЕНИЕ!

а понаглеть можна еще получить новый с документацией класс "ЭлементыФормы", а?  Смущённый
  

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


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

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

vandalsvq писал(а) 26. Августа 2009 :: 18:36:
Кстати на счет 2-х ресторанов. Если честно не ожидал такой прямо "щедрости". Я просто не думал что мои классы на самом деле могут кому пригодиться.  Подмигивание
А в Киев наверное когда нибудь доеду. Я чаще в Мск, Питер, и по Башкирии мотаюсь.  Улыбка

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #79 - 26. Августа 2009 :: 18:49
Печать  
Zealot писал(а) 26. Августа 2009 :: 18:39:
vandalsvq писал(а) 26. Августа 2009 :: 18:34:
Для КОП "УправлениеФормой" отдельную тему создавать не буду. Просто кому надо вот тут (архив в сообщении) сами КОП и документация. Там я сплиттеры+гиперссылки добавил и некоторые баги исправил по мелочи.


РЕСПЕКТ И УВАЖЕНИЕ!

а понаглеть можна еще получить новый с документацией класс "ЭлементыФормы", а?  Смущённый

Там этих классов "ЭлементыФормы" вагон и мааааленькая тележка. Документации по ним нет пока в природе. Может руки дойдут Подмигивание
  

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


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

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

Сортировка табличного поля доступна только по НомерДокумента, ДатаДокумента и ВидДокумента, а также общим реквизитам документов с установленным флагом «Сортировка» (Отбор) на этапе конфигурирования.
Отбор доступен по всем реквизитам журнала, а также общим реквизитам с признаком «Отбор» независимо от того отображена колонка в табличном поле или нет.


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

vandalsvq писал(а) 26. Августа 2009 :: 18:34:
Zealot писал(а) 26. Августа 2009 :: 18:31:
Кстати сейчас поюзав отборы, знаеш чего не хватает, "истории отборов", как в обычной форме журнала или справочника 1С, и соответсвенно кнопочки и в контекстном меню.

Знаю...  Плачущий
Авось и до нее руки дойдут.  Смущённый

  

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


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

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

vandalsvq писал(а) 26. Августа 2009 :: 18:49:
Zealot писал(а) 26. Августа 2009 :: 18:39:
vandalsvq писал(а) 26. Августа 2009 :: 18:34:
Для КОП "УправлениеФормой" отдельную тему создавать не буду. Просто кому надо вот тут (архив в сообщении) сами КОП и документация. Там я сплиттеры+гиперссылки добавил и некоторые баги исправил по мелочи.


РЕСПЕКТ И УВАЖЕНИЕ!

а понаглеть можна еще получить новый с документацией класс "ЭлементыФормы", а?  Смущённый

Там этих классов "ЭлементыФормы" вагон и мааааленькая тележка. Документации по ним нет пока в природе. Может руки дойдут Подмигивание

  

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


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

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

Элементы формы, в большинстве своем отжившие классы которые могут быть заменены другими например:
ЭлементыФормы.Гиперссылка - лучше не использовать. А брать сразу "УправлениеФормой" и там атрибут "Гиперссылки".
ЭлементыФормы.ДеревоАктивИкс - это просто надстройка над активиксом от товарищей мелкософта. Я думаю понятно про какой активикс я говорю
ЭлементыФормы.ДеревоЗначений - вообще не знаю что он там делает. Условно бесполезный хлам. Можно выкинуть. Смысловой нагрузки там мало. Старье и рухлять с х.з. каких годов когда я только изучал 1С++.
ЭлементыФормы.Закладки - хороший класс для создания закладок на форме. Использую и по сей день и вполне удобен. По нему я думаю документация будет если надо.
ЭлементыФормы.ПанельЗадачXTreme - хлам и рухлять. Можно ее в топку выбрасывать.
ЭлементыФормы.ПанельУправления - Аналог "ПоставщикДанных.КоманднаяПанель" практически полный аналог.
ЭлементыФормы.ПолеHTMLДокумента - Хороший класс для создания подобия HTML поля аля 1Сv8. Документация думаю будет.
ЭлементыФормы.Привязка - Лучше использовать УправлениеФормой атрибут Привязка. Этот класс старый и не рекомендуется. Он уже отжил свое.
ЭлементыФормы.ПрогрессБар - Ничего особенного. Опять таки надстройка над АктивИкс. В принципе может и пригодится. Можно сделать документацию
ЭлементыФормы.ТабличныйДокумент - будет полностью переписан на Yoksel. Планируется подобие Excel в составе 1С. Но когда не знаю. А  текущем состоянии пока не развивается и не используется мною.
  

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


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

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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #84 - 26. Августа 2009 :: 19:29
Печать  
vandalsvq писал(а) 26. Августа 2009 :: 18:57:
На счет граф отбора, соединение с еще одной таблицей на пользу поставщику не пойдет (с точки зрения производительности). Поэтому наверное будет отдельный поставщик вроде "ОбщийЖурнал" который будет и графы содержать и отборы по реквизитам. НО: в нем не будет колонок от других документов. Дабы не нагружать дополнительными соединениями и т.д.


Лады.
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #85 - 26. Августа 2009 :: 19:29
Печать  
vandalsvq писал(а) 26. Августа 2009 :: 18:56:
Классы то мои, но документацию не писал  Подмигивание

Элементы формы, в большинстве своем отжившие классы которые могут быть заменены другими например:
ЭлементыФормы.Гиперссылка - лучше не использовать. А брать сразу "УправлениеФормой" и там атрибут "Гиперссылки".
ЭлементыФормы.ДеревоАктивИкс - это просто надстройка над активиксом от товарищей мелкософта. Я думаю понятно про какой активикс я говорю
ЭлементыФормы.ДеревоЗначений - вообще не знаю что он там делает. Условно бесполезный хлам. Можно выкинуть. Смысловой нагрузки там мало. Старье и рухлять с х.з. каких годов когда я только изучал 1С++.
ЭлементыФормы.Закладки - хороший класс для создания закладок на форме. Использую и по сей день и вполне удобен. По нему я думаю документация будет если надо.
ЭлементыФормы.ПанельЗадачXTreme - хлам и рухлять. Можно ее в топку выбрасывать.
ЭлементыФормы.ПанельУправления - Аналог "ПоставщикДанных.КоманднаяПанель" практически полный аналог.
ЭлементыФормы.ПолеHTMLДокумента - Хороший класс для создания подобия HTML поля аля 1Сv8. Документация думаю будет.
ЭлементыФормы.Привязка - Лучше использовать УправлениеФормой атрибут Привязка. Этот класс старый и не рекомендуется. Он уже отжил свое.
ЭлементыФормы.ПрогрессБар - Ничего особенного. Опять таки надстройка над АктивИкс. В принципе может и пригодится. Можно сделать документацию
ЭлементыФормы.ТабличныйДокумент - будет полностью переписан на Yoksel. Планируется подобие Excel в составе 1С. Но когда не знаю. А  текущем состоянии пока не развивается и не используется мною.


Заодно и сам почистиш  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #86 - 26. Августа 2009 :: 19:35
Печать  
Berck писал(а) 19. Августа 2009 :: 14:28:
Собственно вот.

В колонках "Магазин" и "Товар" хочу иметь возможность выбора групп. как этого добиться?

Бери новую версию и смотри в документации.


Для всех...
Чтобы работ отбор по родителям, видам для выбора, владельцам и выбор групп необходимо:
Для динамического изменения параметров:
1. Добавить обработку событий ПередНачаломИзменения в модуль формы где расположен поставщик
2. Установить значения атрибутов соответствующего элемента коллекции "Реквизиты".
Для постоянного значения параметров
1. После создания поставщика установить значения атрибутов соответствующего элемента коллекции "Реквизиты".

Например:
Код
Выбрать все
РеквизитОсновнойДоговор = ПоставщикДанных.Данные.Реквизиты.ОсновнойДоговор;
РеквизитОсновнойДоговор.Владелец = ПоставщикДанных.ТабличноеПоле.ТекущаяСтрока;
РеквизитОсновнойДоговор.ВыборГруппы = 1; 

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #87 - 26. Августа 2009 :: 19:38
Печать  
Вышла новая версия 3.01.002 от 27.08.09 г.
Файл брать в топике и прочитать вышеизложенное сообщение. Для всех Подмигивание
Исправлений не много.

В планах:
1. Добавить поставщика данных "ПериодическиеРеквизиты"
2. Добавить поставщика данных "ОбщийЖурнал"
3. Добавить возможность просмотра истории изменений периодических реквизитов из формы справочника
4. Добавить поставщика данных "Проводки"
Правда есть одно "но". Сроки внесения изменений неизвестны Подмигивание
« Последняя редакция: 10. Мая 2010 :: 20:13 - vandalsvq »  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #88 - 26. Августа 2009 :: 19:43
Печать  
vandalsvq писал(а) 26. Августа 2009 :: 19:38:
Вышла новая версия 3.01.002 от 27.08.09 г.
Файл брать в топике и прочитать вышеизложенное сообщение. Для всех Подмигивание
Исправлений не много.

В планах:
1. Добавить поставщика данных "ПериодическиеРеквизиты"
2. Добавить поставщика данных "ОбщийЖурнал"
3. Добавить возможность просмотра истории изменений периодических реквизитов из формы справочника
4. Добавить поставщика данных "Проводки"
Правда есть одно "но". Сроки внесения изменений неизвестны Подмигивание


ГИТАРА ЭТО СИЛА  Очень довольный
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #89 - 26. Августа 2009 :: 19:52
Печать  
Кстати начиная с версии 3.01.002 сортировка по реквизиту "ВидДокумента" в поставщике "Журнал" и "Документ" работает корректно и без ошибок.
Пользуйтесь на здоровье как говорится.  Подмигивание
  

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


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

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

- При печати таблицы данных через ВывестиСписок() в Табличный документ, можно задавать атрибутом или методом - Расшифровку, тобиш при двойном клике например открывается Форма элемента, Форма документа и т.д.
  

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


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

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #92 - 27. Августа 2009 :: 02:53
Печать  
Zealot писал(а) 26. Августа 2009 :: 22:58:
Вот не спится, юзаю...
Вопрос-пожелание:

- При печати таблицы данных через ВывестиСписок() в Табличный документ, можно задавать атрибутом или методом - Расшифровку, тобиш при двойном клике например открывается Форма элемента, Форма документа и т.д.

Сделать можно... и в принципе наверное реализуемо вполне. Посмотрим, жизнь покажет.  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #93 - 27. Августа 2009 :: 02:57
Печать  
Zealot писал(а) 26. Августа 2009 :: 23:43:
А где в документации глава "Разработка расширений к табличному полю»."?
Начал разбираться с коллекциями и тут трабл - все дороги ведут на несуществующую главу  Плачущий
Да и в демо конфигурации тоже ничего не нашел о "ПоставщикиДанных.Сервис"  Плачущий
Можно дополнить демоверсию работой с "ПоставщикиДанных.Сервис"  и большая просьба задействовать в демонстрации все методы "ПоставщикиДанных.Сервис"   Плачущий
Не получается разобраться...

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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #94 - 27. Августа 2009 :: 06:28
Печать  
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.

Кстати нашел у тебя в классе (ПоставщикиДанных.Журнал) закоментированный такой код в строке 672
Код
Выбрать все
.РеквизитЗапроса),МетаГрафа.Идентификатор);
 



А если раскоментировать?
« Последняя редакция: 27. Августа 2009 :: 08:22 - Zealot »  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #95 - 27. Августа 2009 :: 07:28
Печать  
ОШИБКА
Разбираюсь с отборами, установил отбор по общему реквизиту документа, после чего пытаюсь сделать сортировку выдает вот такие ошибки, см. ниже код и скриншот.
Код
Выбрать все
Процедура УстановитьПоставщикаДанныхЖурналДокументов()
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаСписка";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаСпискаКоманднаяПанель";
	ПоставщикДанных.ТипЗначений = "Журнал.РасходныеСчета";

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

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


	//Сервис = СоздатьОбъект("ПоставщикДанных.Сервис");
	//Сервис.ПодключитьТаблицу("Документ", "РасходныйСчет", "РасходныйСчет");
	//Сервис.ВыполнитьНастройкуОтбора();

	//Список = СоздатьОбъект("СписокЗначений");
	//Список.ДобавитьЗначение(0);
	//Список.ДобавитьЗначение(2);
	Отбор = Данные.Отбор.Общий_ЮридическоеЛицо;
	Отбор.Использование = 1;
	Отбор.ВидСравнения = ВидыСравнения.Равно;
	Отбор.Значение = глЮридическоеЛицо;

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



Скрины убрал по просьбе vandalsvq
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #96 - 27. Августа 2009 :: 08:16
Печать  
Не работает выбор?
Вот код справочника

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

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



Кстати напрашивается попутно вопрос, если будет множественный выбор где Форма.РежимВыбора() = 2, по документации такое невозможно поскольку РежимВыбора 0|1, как быть?

Событие отрабатывает в том же справочнике:
Код
Выбрать все
Процедура тпФормаСпискаПриВыбореЗначения(вЗначение)
	Сообщить(вЗначение);
КонецПроцедуры
 



Причем если открывается для выбора форма списка обычного справочника (в стандартном исполнении) тогда все работает, именно не происходит выбор из табличного поля.


« Последняя редакция: 27. Августа 2009 :: 09:52 - Zealot »  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #97 - 27. Августа 2009 :: 08:23
Печать  
Zealot писал(а) 27. Августа 2009 :: 06:28:
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.


Отбор по реквизиту шапки документа возможен в виде поставщика "Документ". Поскольку в режиме работы с журналом это неэффективно.

Пы.сы. по ошибке я понял... убери скрины пожалуйста. Исправлю думаю сегодня.  Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #98 - 27. Августа 2009 :: 08:29
Печать  
Скрины убрал, Я по общим ревизитам уже делаю, еще вопрос о закомментированном коде, зачем в классе его закомментировал, смотри выше что по теме (Можно тоже разрешить по атрибуту).
А отбор надо бы разрешить через некий новый атрибут, типа РазрешитьОтборПоРеквизитамДокумента = 0|1, а программер сам пусть определяет что и где эффективно.

vandalsvq писал(а) 27. Августа 2009 :: 08:23:
Zealot писал(а) 27. Августа 2009 :: 06:28:
Тогда вопрос:
Как построить отбор в ПоставщикиДанных.Журнал в табличном поле по произвольному реквизиту шапки документа с примером кода.


Отбор по реквизиту шапки документа возможен в виде поставщика "Документ". Поскольку в режиме работы с журналом это неэффективно.

Пы.сы. по ошибке я понял... убери скрины пожалуйста. Исправлю думаю сегодня.  Подмигивание

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #99 - 27. Августа 2009 :: 09:34
Печать  
Разрешено вносить изменения в классы, если да то изменил класс "Поставщики.Журнал", файл приложил, просьба добавить если не критично в последующие обновления.

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

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

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


  

______________________.ert ( 72 KB | Загрузки )

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #100 - 27. Августа 2009 :: 09:37
Печать  
На счет выбора...
Цитата:
если будет множественный выбор где Форма.РежимВыбора() = 2

Это ведь по сути подбор. Что такое подбор? Выбор нескольких элементов без закрытия формы, верно? Вот как с ним работать см. далее...

Цитата:
но выбор как не идет так и не идет.

Вообще ту по порядку.... ПриВыбореЗначения как и все другие события первым параметром имеет табличное поле, поэтому оно у тебя и сообщается. Вторым же параметром будет выбранное значение. Отвечать за закрытие формы должен программист. РежимВыбора в ТП отвечает лишь за иную обработку события Выбор в табличном поле. Поэтому:
1. Хочешь сделать выбор, делай "Форма.ВыполнитьВыбор(....);" в процедуре ПриВыбореЗначения
2. Хочешь делать подбор, не закрывай форму, а хочешь одинарный ввыбор дык закрой и все ее.  Подмигивание
  

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


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

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

Вносить разрешено, но если я не соглашусь с интерфейсом решения или его наполнением я могу не вставлять соответствующий код в обновлении.
Так что пока все изменения внесенные другими - это вклад, за который отдельное спасибо. Но я оставляю право за собой решать использовать его или нет Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #102 - 27. Августа 2009 :: 09:50
Печать  
Вечно забываю за первый объязательный параметр в событиях, а так все работает, сенкс, за множественный подбор тоже согласен.
Спасибо.

vandalsvq писал(а) 27. Августа 2009 :: 09:37:
На счет выбора...
Цитата:
если будет множественный выбор где Форма.РежимВыбора() = 2

Это ведь по сути подбор. Что такое подбор? Выбор нескольких элементов без закрытия формы, верно? Вот как с ним работать см. далее...

Цитата:
но выбор как не идет так и не идет.

Вообще ту по порядку.... ПриВыбореЗначения как и все другие события первым параметром имеет табличное поле, поэтому оно у тебя и сообщается. Вторым же параметром будет выбранное значение. Отвечать за закрытие формы должен программист. РежимВыбора в ТП отвечает лишь за иную обработку события Выбор в табличном поле. Поэтому:
1. Хочешь сделать выбор, делай "Форма.ВыполнитьВыбор(....);" в процедуре ПриВыбореЗначения
2. Хочешь делать подбор, не закрывай форму, а хочешь одинарный ввыбор дык закрой и все ее.  Подмигивание

  

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


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

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

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


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

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

vandalsvq писал(а) 27. Августа 2009 :: 09:40:
Zealot писал(а) 27. Августа 2009 :: 09:34:
Разрешено вносить изменения в классы, если да

Вносить разрешено, но если я не соглашусь с интерфейсом решения или его наполнением я могу не вставлять соответствующий код в обновлении.
Так что пока все изменения внесенные другими - это вклад, за который отдельное спасибо. Но я оставляю право за собой решать использовать его или нет Подмигивание

  

____________________________________.doc ( 912 KB | Загрузки )

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #105 - 27. Августа 2009 :: 12:15
Печать  
Вот решил написать новый ПоставщикДанных.Элемент, основная идея, работа с формой элемента посредством табличного поля, где табличное поле фиксированная таблица определенной структуры (например колонки: ИдентификаторРеквизита, СинонимРеквизита, ЗначениеРеквизита, ЗакладкаРеквизита и т.д.)
Код примерный:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Элемент.Контрагенты";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаГруппыКоманднаяПанель";
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаГруппы";
	ПоставщикДанных.КонтейнерЗакладок = "тпФормаГруппыЗакладки";
 



Очевидные выгоды:
- Отпадает необходимость рисовать формы элемента
- Программное управление реквизитами справочника
- Ну в общем еще всякая полезность от этого

Что vandalsvq и господа думают о этом!

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #106 - 27. Августа 2009 :: 12:40
Печать  
Zealot писал(а) 27. Августа 2009 :: 12:15:
Вот решил написать новый ПоставщикДанных.Элемент, основная идея, работа с формой элемента посредством табличного поля, где табличное поле фиксированная таблица определенной структуры (например колонки: ИдентификаторРеквизита, СинонимРеквизита, ЗначениеРеквизита, ЗакладкаРеквизита и т.д.)
Код примерный:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Элемент.Контрагенты";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаГруппыКоманднаяПанель";
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаГруппы";
	ПоставщикДанных.КонтейнерЗакладок = "тпФормаГруппыЗакладки";
 



Очевидные выгоды:
- Отпадает необходимость рисовать формы элемента
- Программное управление реквизитами справочника
- Ну в общем еще всякая полезность от этого

Что vandalsvq и господа думают о этом!



Писал подобный класс, но до универсальности дело не дошло.

Мне нужно было отображать реквизиты транспортного средства в форме заказ-наряда. Реквизитов - ну очень много, рисовать форму элемента и повторять ее в документе времени не было.
К тому же, структура справочника менялась по ходу разработки и внедрения, и данный подход время и нервы сберег. Ломать форму ради добавления реквизита порой очень не хочется.

Но вот насколько пользователям будет удобно работать с подобной формой элемента - вопрос неоднозначный...
  
Наверх
ICQ  
IP записан
 
Zealot
1c++ donor
Отсутствует


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

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

nvg писал(а) 27. Августа 2009 :: 12:40:
Zealot писал(а) 27. Августа 2009 :: 12:15:
Вот решил написать новый ПоставщикДанных.Элемент, основная идея, работа с формой элемента посредством табличного поля, где табличное поле фиксированная таблица определенной структуры (например колонки: ИдентификаторРеквизита, СинонимРеквизита, ЗначениеРеквизита, ЗакладкаРеквизита и т.д.)
Код примерный:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Элемент.Контрагенты";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаГруппыКоманднаяПанель";
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаГруппы";
	ПоставщикДанных.КонтейнерЗакладок = "тпФормаГруппыЗакладки";
 



Очевидные выгоды:
- Отпадает необходимость рисовать формы элемента
- Программное управление реквизитами справочника
- Ну в общем еще всякая полезность от этого

Что vandalsvq и господа думают о этом!



Писал подобный класс, но до универсальности дело не дошло.

Мне нужно было отображать реквизиты транспортного средства в форме заказ-наряда. Реквизитов - ну очень много, рисовать форму элемента и повторять ее в документе времени не было.
К тому же, структура справочника менялась по ходу разработки и внедрения, и данный подход время и нервы сберег. Ломать форму ради добавления реквизита порой очень не хочется.

Но вот насколько пользователям будет удобно работать с подобной формой элемента - вопрос неоднозначный...

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #108 - 27. Августа 2009 :: 14:50
Печать  
Что я думаю... думаю что так и до 8.2 дойдем, чтобы формы на ходу рисовать, задавая только описание формы.  Смех
А вообще мне интересно зачем называть его именно "ПоставщикДанных.Элемент"? Ну ты не подумай, я не то чтобы жадный (хотя и это есть маленько  Смех) я просто думаю что функционал данного класса - это скорее прикладное решение конкретной задачи, а в рамках класса я даже не представляю что ты конкретно будешь использовать? Командную панель? Форма печати? Форма настройки колонок?
Я к чему клоню, что у тебя самостоятельная разработка, очень самостоятельная, и решаться она по идее должна самостоятельно. А называть ее можно и поставщиком, только связана она с ним (как мне пока кажется) очень незначительно  Подмигивание
  

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


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

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

vandalsvq писал(а) 27. Августа 2009 :: 14:50:
Что я думаю... думаю что так и до 8.2 дойдем, чтобы формы на ходу рисовать, задавая только описание формы.  Смех
А вообще мне интересно зачем называть его именно "ПоставщикДанных.Элемент"? Ну ты не подумай, я не то чтобы жадный (хотя и это есть маленько  Смех) я просто думаю что функционал данного класса - это скорее прикладное решение конкретной задачи, а в рамках класса я даже не представляю что ты конкретно будешь использовать? Командную панель? Форма печати? Форма настройки колонок?
Я к чему клоню, что у тебя самостоятельная разработка, очень самостоятельная, и решаться она по идее должна самостоятельно. А называть ее можно и поставщиком, только связана она с ним (как мне пока кажется) очень незначительно  Подмигивание

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #110 - 28. Августа 2009 :: 07:45
Печать  
Zealot писал(а) 27. Августа 2009 :: 12:46:
А чем неудобства, скорее привычка  Подмигивание


Ну, не только привычка...
Ты много выдел программ, в которых элемент справочника был представлен в виде грида?
Панель свойств - более привычно.
Когда человек видит слишком много информации - восприятие ее затрудняется. Именно потому свойства элемента/документа группируются по смыслу/назначению и размещаются на разных закладках.
  
Наверх
ICQ  
IP записан
 
Zealot
1c++ donor
Отсутствует


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #111 - 28. Августа 2009 :: 08:53
Печать  
Поверь гридовые элементы много где используются
А по поводу нагрузки на восприятие согласен, но никто ж не говорит что все будет в одной таблице скопом, будут закладки, разделители и т.д.
Так что осталось дождаться, поюзать а потом уже говорить что плохо а что хорошо, лады.

nvg писал(а) 28. Августа 2009 :: 07:45:
Zealot писал(а) 27. Августа 2009 :: 12:46:
А чем неудобства, скорее привычка  Подмигивание


Ну, не только привычка...
Ты много выдел программ, в которых элемент справочника был представлен в виде грида?
Панель свойств - более привычно.
Когда человек видит слишком много информации - восприятие ее затрудняется. Именно потому свойства элемента/документа группируются по смыслу/назначению и размещаются на разных закладках.

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #112 - 28. Августа 2009 :: 15:03
Печать  
Появилась новая идея по управлению гридом для элемента "ПоставщикДанных.Элемент".
Опишу вкратце мысли:
1) Первичная настройка (первое открытие формы элемента определенного вида справочника) размещения реквизитов в общем табличном поле с существующей одной закладкой, например название  "Основной", где закладки это табличное поле по принципу построения например: ПоставщикДанных.КонтейнерЗакладок = "тпФормаГруппыЗакладки";
2) Для закладок доступно контекстное меню, где одним из пунктов "Добавить закладку"
3) При открытии формы вида справочника происходит проверка наличия файла, что-то типа "Элемент.Контрагенты.xml", где структура его определена по принципу например:
Код
Выбрать все
<Структура>
<ФормаНастроена>0</ФормаНастроена>
 <Закладка>
<ЗакладкаИдентификатор>Общая</   ЗакладкаИдентификатор>
<ЗакладкаНаименование>Общая</ЗакладкаНаименование>
<Реквизит>
<РеквизитИдентификатор>Телефоны</РеквизитИдентификатор>
</Реквизит>
 </Закладка>
 </Структура>
 



4) При добавлении новых реквизитов создается новая заклдака в xml файле, чтото типа
Код
Выбрать все
 <Закладка>
<ЗакладкаИдентификатор>НовыеРеквизиты</   ЗакладкаИдентификатор>
<ЗакладкаНаименование>*Новые реквизиты</ЗакладкаНаименование>
<Реквизит>
<РеквизитИдентификатор>Вебсайт</РеквизитИдентификатор>
</Реквизит>
 </Закладка>
 



5) Администратор путем переноса (drug-drop) переносит по закладкам и сортирует реквизиты формы, после чего  
<ФормаНастроена>1</ФормаНастроена>

6) При необходимости изменить расположение реквизитов по формам устанавливаем
<ФормаНастроена>0</ФормаНастроена>

7)Соответсвенно когда ФормаНастроена = 0, это доступность к изменению расположения реквизитов, и когда ФормаНастроена = 1, это обычный пользовательский режим

8)Для табличного поля в также предусмотрена закладка "Общие", где будут видны реквизиты в табличном поле в любой закладке, например тоже наименование элемента справочника

9)Доступные дополнительные возможности на разделение по группам реквизитов с отличием по визуальному отображению, через цвет фона и текста, а также доступны разделительные строки, что-то типа

Код
Выбрать все
<Реквизит>
<РеквизитГруппа>КонтактнаяИнформация
<РеквизитГруппаЦветФона>RGB</РеквизитГруппаЦветФона>
<РеквизитГруппаЦветТекста>RGB</РеквизитГруппаЦветТекста>
<РеквизитИдентификатор>Телефоны</РеквизитИдентификатор>
<РеквизитРазделитель>Разделитель</РеквизитРазделитель>
<РеквизитИдентификатор>Вебсайт</РеквизитИдентификатор>
</Реквизит>
</РеквизитГруппа>
 



Можно конечно хранить все не в xml файле а созданной новой таблице в SQL, или dbf файле, но тогда надо делать разные варианты обработки для SQL и ДБФ, а xml более универсальный на мое мнение.

Вот такая примерно схема!  Смех

vandalsvq писал(а) 27. Августа 2009 :: 14:50:
Что я думаю... думаю что так и до 8.2 дойдем, чтобы формы на ходу рисовать, задавая только описание формы.  Смех


Получиться покруче чем в 8.2  Очень довольный

Zealot писал(а) 27. Августа 2009 :: 12:15:
Вот решил написать новый ПоставщикДанных.Элемент, основная идея, работа с формой элемента посредством табличного поля, где табличное поле фиксированная таблица определенной структуры (например колонки: ИдентификаторРеквизита, СинонимРеквизита, ЗначениеРеквизита, ЗакладкаРеквизита и т.д.)
Код примерный:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Элемент.Контрагенты";
	ПоставщикДанных.КонтейнерКоманднойПанели = "тпФормаГруппыКоманднаяПанель";
	ПоставщикДанных.КонтейнерТабличногоПоля = "тпФормаГруппы";
	ПоставщикДанных.КонтейнерЗакладок = "тпФормаГруппыЗакладки";
 



Очевидные выгоды:
- Отпадает необходимость рисовать формы элемента
- Программное управление реквизитами справочника
- Ну в общем еще всякая полезность от этого

Что vandalsvq и господа думают о этом!


  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #113 - 28. Августа 2009 :: 19:15
Печать  
Круче чем в 8.2 наврядли получится, слишком много зависит от движка. Подмигивание
В общем доделаешь показывай, заценим Подмигивание
  

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


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

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

1) Позволю себе изменить ПоставщикДанных1С.ПУ.bmp и ПоставщикДанных1С.ТП.bmp
где продолжил набор кнопок:

// КартинкаТабличногоПоля
// 0 - группа
// 1 - группа + пометка удаления
// 2 - элемент
// 3 - элемент + пометка удаления
// 4 - открытая группа
// 5 - открытая группа + пометка удаления
// 6 - документ
// 7 - документ + пометка удаления //Исправил 29.08.2009 Автор Zealot
// 8 - документ + проведен //Исправил 29.08.2009 Автор Zealot
// 9 - регистр приход
// 10 - регистр расход
//{Добавил 29.08.2009 Автор Zealot
// 11 - операция
// 12 - операция отключена
// 13 - операция  + пометка удаления
//
// 14 - предопределенный реквизит
// 15 - пользовательский реквизит
// 16 - пользовательский реквизит + периодический
// 17 - предопределенный реквизит + только просмотр
// 18 - пользовательский реквизит + только просмотр
// 19 - пользовательский реквизит + периодический + только просмотр
// 20 - группа реквизитов
// 21 - разделитель
//}

// КартинкаКоманднойПанели
// 1 - добавить строку
// 2 - удалить строку
// 3 - копировать строку
// 4 - изменить строку
// 5 - настроить колонки
// 6 - обновить
// 7 - строку вверх
// 8 - строку вниз
// 9 - печать табличного поля
// 10 - сортировать по возрастанию
// 11 - сортировать по убыванию
//{Исправил 29.08.2009 Автор Zealot
// 12 - добавить новую группу
// 13 - изменить текущую строку
// 14 - включить/выключить иерархический просмотр
// 15 - перенести элемент в группу
// 16 - установить отбор по значениям
// 17 - отключить все отборы
// 18 - отбор по значению в текущей колонке
// 19 - установить интервал дат
// 20 - отметить все строки / значения
// 21 - снять отметки со всех строк / значений
// 22 - просмотр
//}
//{Добавил 29.08.2009 Автор Zealot
// 23 - записать
// 24 - записать и закрыть форму
// 25 - быстрый отбор по значению
// 26 - история отбора
// 27 - выбрать строку / значение
// 28 - история реквизита
// 29 - открыть подчиненный справочник
// 30 - открыть справочник-владелец
// 31 - описание / помощь
// 32 - ввести на основании
// 33 - записать + провести документ
// 34 - записать + провести документ + закрыть форму
// 35 - дополнительные действия в форме
// 36 - печатная форма справочника
// 37 - печатная форма элемента справочника
// 38 - печатная форма документа/журнала
// 39 - печатная форма журнала
// 40 - печатная форма отчета
// 41 - открыть настройку
// 42 - сохранить настройку
// 44 - открыть файл
// 45 - сохранить файл
// 46 - список файлов
// 47 - предварительный просмотр печатной формы
// 48 - параметры страницы печатной формы
// 49 - обновить печатную форму
// 50 - настройка печатной формы
// 51 - добавить закладку
// 52 - удалить закладку
// 53 - настроить закладку
// 54 - отменить последнее действие
// 55 - вернуть действие
// 56 - выполнить модуль / обработку
// 57 - закрыть форму
//}


2) Если есть возможность в ближайшее время просьба задокументировать классы + примеры в демоконфигурации:
ПоставщикДанных.СписокЗначений, ПоставщикДанных.Операции, ПоставщикДанных.Регистр

3) Почему не работает атрибут ТабличноеПоле.ФиксацияСлева = 4;

4) Написать пример работы с перекрестными выборками, когда в табличном поле, например ПоставщикДанных.Справочник, Где ВидСправочника = Товары, кроме колонок с реквизитами, добавлено 2 колонки: чтото типа - СКД(СчетТоваров, Субконто1, Субконто2...) - выборка остатка по запросу (ПоставщикДанных.Запрос) из бухгалтерских итогов, и вторая колонка чтото типа - КонОст(Количество) - выборка остатка по запросу (ПоставщикДанных.Запрос) из регистра ОстаткиТовара

5) Также по мере возможности решить вопрос сортировки по общим реквизитам в ПоставщикДанных.Журнал, если помниш выше по теме форума ошибку

СПАСИБО.  Круглые глаза
  

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


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

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

Цитата:
Позволю себе изменить ПоставщикДанных1С.ПУ.bmp и ПоставщикДанных1С.ТП.bmp

Пиктограммы 14-21 - это все исключительно для твоей надстройки надо да? Вот и делай рядом картинку ПоставщикДанных.Реквизиты.bmp клади ее в папку и добавляй в командную панель. См. метод ДобавитьПиктограммыВКоллекцию.
В общем отклонено. Почти однозначно и безапеляционно.
Пиктограммы 23-57 - для чего? пока данный функционал не реализован в поставщиках пиктограммы в коллекции можно добавлять описанным выше способом.

Цитата:
Если есть возможность в ближайшее время просьба задокументировать классы + примеры в демоконфигурации:
ПоставщикДанных.СписокЗначений, ПоставщикДанных.Операции, ПоставщикДанных.Регистр

Ближайшее время = через месяц. Тогда да. А счас времени совершенно нет. А через месяц отпуск, сюду и сделаю.  Подмигивание
Не лишайте меня отпуска, а если я работу не сделаю я сам себя в него не пущу.  Смех

Цитата:
Почему не работает атрибут ТабличноеПоле.ФиксацияСлева = 4

Х.з. А не работает? Точно? Проверю как будет не лень.

Цитата:
Написать пример работы с перекрестными выборками, когда в табличном поле, например ПоставщикДанных.Справочник, Где ВидСправочника = Товары, кроме колонок с реквизитами, добавлено 2 колонки: чтото типа - СКД(СчетТоваров, Субконто1, Субконто2...) - выборка остатка по запросу (ПоставщикДанных.Запрос) из бухгалтерских итогов, и вторая колонка чтото типа - КонОст(Количество) - выборка остатка по запросу (ПоставщикДанных.Запрос) из регистра ОстаткиТовара

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

Цитата:
Также по мере возможности решить вопрос сортировки по общим реквизитам в ПоставщикДанных.Журнал, если помниш выше по теме форума ошибку

Ошибку постраюсь посмотреть завтра. Как получится. Если что будь на связи в icq  если вопросы у меня возникнут.

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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #116 - 29. Августа 2009 :: 18:09
Печать  
Ладно вижу дела не будет  Улыбка
Пошел в свободное плавание  Плачущий
Еще раз повторюсь, твою логику класса не меняю,  а добавляю функционал или в отдельных классах или отдельными методами, атрибутами, так что совместимость полная, да и в случае твоих новых обновлений обновляю свои классы.  Злой
Как и говорил на аське пишу конфигурацию, долго думал какие гриды использовать, хотел поначалу devexpress.com прикрутить к конфигурации через АктивИкс, вот случайно надыбал твои классы, поюзал, вот и подумал что мол чтобы не создавать велосипед, вернусь к старому доброму 1срр + твой класс подход как раз. Лады.  Класс

vandalsvq писал(а) 29. Августа 2009 :: 17:20:
Ну.... давай по порядку, а то столько написано я аж читать устал.
И сразу прошу, не воспринимать меня ханжой...  Подмигивание

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #117 - 29. Августа 2009 :: 18:20
Печать  
Zealot писал(а) 29. Августа 2009 :: 18:09:
Ладно вижу дела не будет  Улыбка
Пошел в свободное плавание  Плачущий

Смотря что считать делом Подмигивание.
То что ты просишь и оно является существенным, выполнимым и не предполагает больших телодвижений, то это делается. Но если:
1. от меня требуются затраты значительного временного характера
2. существует возможность обхода данной "проблемы" (просьбы) путем допрограммирования без моего участия
3. я не вижу в этом смысла в рамках моего (пускай в голове) плана развития
конечно такое к сожалению делаться велика вероятность не будет.

Я надеюсь без обид.  Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #118 - 29. Августа 2009 :: 18:25
Печать  
Ты что девушка чтобы на тебя обижаться  Смех
Я же все изложил выше по теме, нет проблем!
Доделаю выложу параллельно, тогда и вернемся к разговору а пока удачи каждому и свежих мыслей в реализации своих задач.

vandalsvq писал(а) 29. Августа 2009 :: 18:20:
Zealot писал(а) 29. Августа 2009 :: 18:09:
Ладно вижу дела не будет  Улыбка
Пошел в свободное плавание  Плачущий

Смотря что считать делом Подмигивание.
То что ты просишь и оно является существенным, выполнимым и не предполагает больших телодвижений, то это делается. Но если:
1. от меня требуются затраты значительного временного характера
2. существует возможность обхода данной "проблемы" (просьбы) путем допрограммирования без моего участия
3. я не вижу в этом смысла в рамках моего (пускай в голове) плана развития
конечно такое к сожалению делаться велика вероятность не будет.

Я надеюсь без обид.  Подмигивание

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #119 - 29. Августа 2009 :: 18:34
Печать  
Грубишь однако...  Круглые глаза

Расскажу немного о своих планах по развитию чтобы потом не было мучительно "больно".
1. Исправление существующих ошибок критичных для использования класса
2. Исправление существующих ошибок не критичных для использования класса
3. Доработка документации и составление полного описания
4. Оптимизация и универсализация функционала класса.

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

НО: я думаю стоит понимать что все это может быть реализовано "не завтра", а то и вообще может кануть в лету.  Смущённый
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #120 - 29. Августа 2009 :: 18:42
Печать  
Если считаешь что грубо ответил, приношу свои извинения.

За ресторан все равно помню!!!!

Планы я понял! Удачи.

vandalsvq писал(а) 29. Августа 2009 :: 18:34:
Грубишь однако...  Круглые глаза

Расскажу немного о своих планах по развитию чтобы потом не было мучительно "больно".
1. Исправление существующих ошибок критичных для использования класса
2. Исправление существующих ошибок не критичных для использования класса
3. Доработка документации и составление полного описания
4. Оптимизация и универсализация функционала класса.

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

НО: я думаю стоит понимать что все это может быть реализовано "не завтра", а то и вообще может кануть в лету.  Смущённый

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #121 - 29. Августа 2009 :: 18:51
Печать  
Zealot писал(а) 29. Августа 2009 :: 18:42:
Если считаешь что грубо ответил, приношу свои извинения.

За ресторан все равно помню!!!!


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

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


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

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

1) Не работают такие атрибуты табличного поля как: ФиксацияСлева, ФиксацияСправа, ОтборажатьЗаголовки, ВертСкроллер, возможно и другие но пока протестил только эти что были мне необходимы

2) Не работает в табличном поле при установленном атрибуте РазрешитьПеретаскивание = 1, drug&drop, 1С просто тупо валится не отрабатыя даже событие НачалоПеретаскивания()

Печаль
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #123 - 31. Августа 2009 :: 16:07
Печать  
Zealot писал(а) 31. Августа 2009 :: 14:30:
Очередная порция  Смех

1) Не работают такие атрибуты табличного поля как: ФиксацияСлева, ФиксацияСправа, ОтборажатьЗаголовки, ВертСкроллер, возможно и другие но пока протестил только эти что были мне необходимы

2) Не работает в табличном поле при установленном атрибуте РазрешитьПеретаскивание = 1, drug&drop, 1С просто тупо валится не отрабатыя даже событие НачалоПеретаскивания()

Печаль

Ты не поверишь  Смех
ВСЕ РАБОТАЕТ  Очень довольный
Не подтверждаю. Куришь не то  Класс
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #124 - 31. Августа 2009 :: 18:10
Печать  
Цитата:
1) Не работают такие атрибуты табличного поля как: ФиксацияСлева, ФиксацияСправа, ОтборажатьЗаголовки, ВертСкроллер, возможно и другие но пока протестил только эти что были мне необходимы


Что тогда не так:

ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;      
     ТабличноеПоле.СтильЗаголовков = 1;
     ТабличноеПоле.СтильРамки = 1;      
     ТабличноеПоле.ФиксацияСлева = 4;      
     ТабличноеПоле.ВосстановитьПозициюКолонок();


А нифига не фиксирует!
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #125 - 31. Августа 2009 :: 18:14
Печать  
Zealot писал(а) 31. Августа 2009 :: 18:10:
Что тогда не так:

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #126 - 04. Сентября 2009 :: 06:49
Печать  
Обновление версии 3.01.003 от 04.09.09 г.
- Добавлена возможность отбора по графам журнала (внимание оч. влияет на производительность)
- Добавлена возможность запретить изменение отбора по графам журнала для пользователей
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #127 - 04. Сентября 2009 :: 08:41
Печать  
Я это....  Смущённый там был косячок.... кто брал обновитесь еще раз плиз.   Нерешительный
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #128 - 04. Сентября 2009 :: 09:31
Печать  
Мда, а что моя поправка не подошла, надо было изменить имя атрибута на РазрешитьОтборПоГраффамЖурнала  с ОтборПоГрафамЖурнала  Плачущий
Ладно перепешу у себя  Злой
Спасибо, что дело движется и класс Поставщик данных семимильными шагами шагает  Класс

vandalsvq писал(а) 04. Сентября 2009 :: 06:49:
Обновление версии 3.01.003 от 04.09.09 г.
- Добавлена возможность отбора по графам журнала (внимание оч. влияет на производительность)
- Добавлена возможность запретить изменение отбора по графам журнала для пользователей

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #129 - 05. Сентября 2009 :: 17:31
Печать  
Zealot писал(а) 04. Сентября 2009 :: 09:31:
Мда, а что моя поправка не подошла, надо было изменить имя атрибута на РазрешитьОтборПоГраффамЖурнала  с ОтборПоГрафамЖурнала  Плачущий
Ладно перепешу у себя  Злой
Спасибо, что дело движется и класс Поставщик данных семимильными шагами шагает  Класс

vandalsvq писал(а) 04. Сентября 2009 :: 06:49:
Обновление версии 3.01.003 от 04.09.09 г.
- Добавлена возможность отбора по графам журнала (внимание оч. влияет на производительность)
- Добавлена возможность запретить изменение отбора по графам журнала для пользователей



Я если честно не глянул в твою версию. Просто решил сделать поскольку и наши ребята разработчики попросили уже. Поэтому я сел, прикинул, написал свое видение данного решения. В принципе я думаю оно вполне оправдано Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #130 - 07. Сентября 2009 :: 09:08
Печать  
vandalsvq писал(а) 04. Сентября 2009 :: 06:49:
Обновление версии 3.01.003 от 04.09.09 г.
- Добавлена возможность отбора по графам журнала (внимание оч. влияет на производительность)
- Добавлена возможность запретить изменение отбора по графам журнала для пользователей


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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #131 - 07. Сентября 2009 :: 12:31
Печать  
Zealot писал(а) 07. Сентября 2009 :: 09:08:
vandalsvq писал(а) 04. Сентября 2009 :: 06:49:
Обновление версии 3.01.003 от 04.09.09 г.
- Добавлена возможность отбора по графам журнала (внимание оч. влияет на производительность)
- Добавлена возможность запретить изменение отбора по графам журнала для пользователей


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


Общий реквизит общему реквизиту рознь. Что касается сортировки по общим реквизитам с признаком отбор то они работают прекрасно (как на SQL так и на DBF), что же касается сортировки по реквизитам без признака отбор, то исходя из того как 1С хранит их (в таблицах шапок документов) решено не делать этого. Собственно как и по графам отбора сортировки тоже не будет. В общем то просто это неэффективно. А в DBF так и вовсе нереализуемо.
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #132 - 07. Сентября 2009 :: 15:47
Печать  
Еще раз спасибо за Класс и отдельное спасибо за
выбор групп
Цитата:
Бери новую версию и смотри в документации.

Все настроил  - работает.

Возник следующий вопрос.
Как настроить отборы когда поставщиком является ИндексированнаяТаблица?
Что - то у меня не получается  Озадачен
Может кто поделится рабочим кодом?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #133 - 07. Сентября 2009 :: 16:07
Печать  
Отборы в индексированной таблице только стандартным методом для ИТЗ. См. сюда - http://www.1cpp.ru/docum/icpp/html/IndexedTable.html#setfilter

Такой формы как для справочников, документов и т.д. не будет даже в будущем. Просто не представляю как реализовывать. Улыбка
Хотя есть вариант реализации поставщика с временной таблицей. Но как всегда только идея, и до реальности ей пока далековато.  Подмигивание
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #134 - 08. Сентября 2009 :: 07:29
Печать  
Про "ПоставщикДанных.Журнал"

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

Про "ПоставщикДанных.ТабличноеПоле"
Добавить отработку "ctrl+C" и "ctrl+Ins", для копирования в буфер текущего строкового представления ячейки.
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #135 - 08. Сентября 2009 :: 08:14
Печать  
vandalsvq писал(а) 07. Сентября 2009 :: 16:07:
Отборы в индексированной таблице только стандартным методом для ИТЗ. См. сюда - http://www.1cpp.ru/docum/icpp/html/IndexedTable.html#setfilter

Такой формы как для справочников, документов и т.д. не будет даже в будущем. Просто не представляю как реализовывать. Улыбка
Хотя есть вариант реализации поставщика с временной таблицей. Но как всегда только идея, и до реальности ей пока далековато.  Подмигивание

Еще раз спасибо и за это. Очень довольный

Но новый вопрос возможно ли на кнопку повесить вызов локальной процедуры?
« Последняя редакция: 08. Сентября 2009 :: 10:32 - Berck »  
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #136 - 08. Сентября 2009 :: 10:27
Печать  
Да и я писал про это + еще по справочнику

JohnyDeath писал(а) 08. Сентября 2009 :: 07:29:
Про "ПоставщикДанных.Журнал"

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

Про "ПоставщикДанных.ТабличноеПоле"
Добавить отработку "ctrl+C" и "ctrl+Ins", для копирования в буфер текущего строкового представления ячейки.

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #137 - 08. Сентября 2009 :: 10:32
Печать  
Чето я или туплю или не совсем догнал методику обращения в твоих классах к событиям, например ПриВыводеСтроки(?, Оформление, Данные, Тип) и тебя опущен первый параметр ? - табличное поле, и всеравно все работает, смотрю в документацию по табличному полю а там таки синтаксис с четырьма паметрами. Тогда напрашивается вопрос, если у меня на форме 2 и более табличных поля как быть?
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #138 - 08. Сентября 2009 :: 10:35
Печать  
Кнопка = дура", (Где она: я(), контекст...) );

У меня все работает, в доке все описано.  Подмигивание

Berck писал(а) 08. Сентября 2009 :: 08:14:
vandalsvq писал(а) 07. Сентября 2009 :: 16:07:
Отборы в индексированной таблице только стандартным методом для ИТЗ. См. сюда - http://www.1cpp.ru/docum/icpp/html/IndexedTable.html#setfilter

Такой формы как для справочников, документов и т.д. не будет даже в будущем. Просто не представляю как реализовывать. Улыбка
Хотя есть вариант реализации поставщика с временной таблицей. Но как всегда только идея, и до реальности ей пока далековато.  Подмигивание

Еще раз спасибо и за это. Очень довольный

Но новый вопрос возможно ли на кнопку повесить вызов локальной процедуры?

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #139 - 08. Сентября 2009 :: 10:41
Печать  
Улыбка Уже и сам разобрался. Полез стирать вопрос, а тут уже ответ.
Спасибо!
  
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #140 - 08. Сентября 2009 :: 10:43
Печать  
Оперативность  Смех, не то что у некоторых  Подмигивание

Berck писал(а) 08. Сентября 2009 :: 10:41:
Улыбка Уже и сам разобрался. Полез стирать вопрос, а тут уже ответ.
Спасибо!

  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #141 - 08. Сентября 2009 :: 11:37
Печать  
Zealot писал(а) 08. Сентября 2009 :: 10:32:
Чето я или туплю или не совсем догнал методику обращения в твоих классах к событиям, например ПриВыводеСтроки(?, Оформление, Данные, Тип) и тебя опущен первый параметр ? - табличное поле, и всеравно все работает, смотрю в документацию по табличному полю а там таки синтаксис с четырьма паметрами. Тогда напрашивается вопрос, если у меня на форме 2 и более табличных поля как быть?

Первый параметр (само ТП) нужен только в событиях, которые описаны у тебя в модуле формы. В событиях классов-наследников ТП этого параметра нет.
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #142 - 08. Сентября 2009 :: 11:54
Печать  
Обнаружил что из модального окна "Отбор" нельзя выбрать группу справочника, а только элементы.
Хотелось бы увидеть.
И еще хотелка - если можно хотелось бы в видах сравнения увидеть. типа "Входит в группу" Круглые глаза
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #143 - 08. Сентября 2009 :: 14:54
Печать  
Berck писал(а) 08. Сентября 2009 :: 11:54:
Обнаружил что из модального окна "Отбор" нельзя выбрать группу справочника, а только элементы.
Хотелось бы увидеть.


Можно реализовать в интерфейсе, вроде
Код
Выбрать все
ОтборОсновнойДоговор = Данные.Отбор.ОсновнойДоговор;
ОтборОсновнойДоговор.ВыборГруппы = 1; 


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

Berck писал(а) 08. Сентября 2009 :: 11:54:
И еще хотелка - если можно хотелось бы в видах сравнения увидеть. типа "Входит в группу" Круглые глаза

Планируется переписать принцип построение отбора, в таком случае бага который счас есть (отбор только в текущем родителе) не будет.
« Последняя редакция: 08. Сентября 2009 :: 20:00 - vandalsvq »  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #144 - 08. Сентября 2009 :: 14:54
Печать  
Zealot писал(а) 08. Сентября 2009 :: 10:43:
Оперативность  Смех, не то что у некоторых  Подмигивание

Berck писал(а) 08. Сентября 2009 :: 10:41:
Улыбка Уже и сам разобрался. Полез стирать вопрос, а тут уже ответ.
Спасибо!



Ну дык я сегодня весь день без интернета Подмигивание и завтра буду.  Очень довольный
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #145 - 08. Сентября 2009 :: 19:53
Печать  
JohnyDeath писал(а) 08. Сентября 2009 :: 07:29:
Про "ПоставщикДанных.Журнал"

1. Саш, а ты контекстное меню не собирался доводить до стандартного? В частности хотелось бы видеть пункты "Подчиненные документы", "Изменить время документа", "Открыть операцию", "Движения документа", "Запомнить".


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

JohnyDeath писал(а) 08. Сентября 2009 :: 07:29:
Про "ПоставщикДанных.Журнал"

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


Это я помню, опять таки попробую решить чуток позже.
Вот собственно и решил (версия 3.01.004). Только вот поведение ESC это не моя фича, а поведение 1С. Надо будет чуть позже подумать об обходе данной проблемы.

JohnyDeath писал(а) 08. Сентября 2009 :: 07:29:
Про "ПоставщикДанных.ТабличноеПоле"
Добавить отработку "ctrl+C" и "ctrl+Ins", для копирования в буфер текущего строкового представления ячейки.


Для этого надо реализовывать поддержку новой версии события ТП. Если честно я пока не совсем уверен что нигде не использовал данное событие. В виду этого пока не переходил на новую версию ВК. Хотя идея конечно хорошая, и порой самому ну очень надо.

Пы.сы. какая то счас занятость у меня "постоянная" Улыбка
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #146 - 08. Сентября 2009 :: 19:55
Печать  
Zealot писал(а) 08. Сентября 2009 :: 10:35:
Кнопка = дура", (Где она: я(), контекст...) );

У меня все работает, в доке все описано.  Подмигивание


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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #147 - 08. Сентября 2009 :: 20:19
Печать  
Вышла новая версия 3.01.004 от 09.09.09. В релизе незначительные изменения. См. топик.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #148 - 10. Сентября 2009 :: 17:02
Печать  
Сегодня попробовал перевести ПоставщикДанных.Справочник на класс прямой запрос, более того выставил наружу событие ПриПолученииЗапроса и возможность получить доступ к объекту "ПрямойЗапрос" с которым работает класс, т.о. появилась возможность как угодно издеваться над запросом поставщика. Например при открытии формы сделать расчет значений по остаткам, запихнуть все это во временную таблицу на сервере и изменить запрос сделав соединение с этой временной таблицей.
Например:
Код
Выбрать все
ПрямойЗапрос = Данные.ПрямойЗапрос;
ПрямойЗапрос.ВыполнитьЗапрос("СОЗДАТЬ ТАБЛИЦА #ОстаткиМатериалов(..........)");
ПрямойЗапрос.ВыполнитьЗапрос("ВСТАВИТЬ ВНУТРЬ #ОстаткиМатериалов
ВЫБРАТЬ ................
ИЗ $РегистрОстатки.ТМЦ() КАК ОстаткиТМЦ"); 



собственно меняем запрос

Код
Выбрать все
Процедура ТППриПолученииЗапроса(ТП,СтруктураЗапроса)
СтруктураЗапроса.Колонки = СтруктураЗапроса.Колонки + ",ОстаткиТМЦ.Количество КАК Количество
|,ОстаткиТМЦ.Сумма КАК Сумма
|";
СтруктураЗапроса.Источник = СтруктураЗапроса.Источник + "ЛЕВОЕ СОЕДИНЕНИЕ #ОстаткиМатериалов КАК ОстаткиТМЦ
|ПО ОстаткиТМЦ.Материал = $ТекущийОбъект.ТекущийЭлемент
|";
КонецПроцедуры 


Т.о. в новой колонке появятся и сумма и количество.
В настройке ТП они тоже будут, в печати тоже добавятся, но в отборе участвовать не будут. Если только я не поменяю интерфейс решения.

Как вам такая реализация?
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #149 - 10. Сентября 2009 :: 17:50
Печать  
Ну хуже-то точно не будет Подмигивание
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #150 - 10. Сентября 2009 :: 17:57
Печать  
JohnyDeath писал(а) 10. Сентября 2009 :: 17:50:
Ну хуже-то точно не будет Подмигивание


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

А вообще я счас рассматриваю вариант со структурой, которая выставляется наружу. Потому что, с одной стороны хочется чтобы и в отборе данные колонки тоже участвовали, НО с другой стороны, для этого надо и типизацию, и длину, и точность, и еще кое-что указывать. В общем то не проблема, но заморочка  Улыбка. Да и хочется чтобы в итоге органично смотрелось все.

Пы.сы. а мне даже связка ПоставщикДанных+ПрямойЗапрос больше нравится чем они по отдельности. Много очень можно чего хорошего наделать.

Жаль что 7-ка отошла на второй план
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #151 - 10. Сентября 2009 :: 18:19
Печать  
Цитата:
Жаль что 7-ка отошла на второй план


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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #152 - 10. Сентября 2009 :: 18:37
Печать  
Вопрос может не в ту ветку но по твоему классу Управление формой:
Чете недоганяю, форма сначала все нормально показывает, а потом не привязывает к форме элементы, что не так, вот кусок кода:
Код
Выбрать все
Процедура ПослеОткрытия()
	Форма.тпФормаГруппыКоманднаяПанель.Видимость(0);
	Форма.тпФормаГруппыКоманднаяПанель.Видимость(1);
	Привязка.ПослеОткрытия();
КонецПроцедуры

Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры

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

	УправлениеФормой = СоздатьОбъект("УправлениеФормой");
	Привязка = УправлениеФормой.ПривязкаЭлементов; //Привязка//:УправлениеФормой.Привязка

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

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

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


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



Да и еще что за просвечивается фон слева под кнопками, исчезает например при переключении виндовых окон программ


  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #153 - 10. Сентября 2009 :: 18:54
Печать  
После указания привязки любой необходимо вызвать метод Привязать(). Причем ОБЯЗАТЕЛЬНО. Ну и естественно в событии "ПриОткрытии".
А скриншоты убери плиз, я все понял, спасибо, но теперь они трафик кушать будут... ни к чему это  Подмигивание

Пы.сы кстати весьма симпотично у тебя получается твой поставшик реквизитов Подмигивание

Пы.пы.сы. а вот фон внизу кнопок, эт не ко мне, а к Биллу родимому, или может к Нуралиеву... х.з. в общем не я его рисую Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #154 - 10. Сентября 2009 :: 19:07
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 18:54:
После указания привязки любой необходимо вызвать метод Привязать(). Причем ОБЯЗАТЕЛЬНО. Ну и естественно в событии "ПриОткрытии".
А скриншоты убери плиз, я все понял, спасибо, но теперь они трафик кушать будут... ни к чему это  Подмигивание

Пы.сы кстати весьма симпотично у тебя получается твой поставшик реквизитов Подмигивание



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

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

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

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

	Привязка.Привязать();
 



Получается вообще фигня, четверть окна привязка элементов, что не так в моем коде!

И как ты боролся с фоном тем?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #155 - 10. Сентября 2009 :: 19:23
Печать  
У меня с привязкой все в норме. Х.з. может ты в тхт положишь код ПриОткрытии я гляну (чтобы тему не засорять) Подмигивание
А с фоном я никак не боролся, забил по-русски говоря.  Класс
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #156 - 10. Сентября 2009 :: 19:29
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 19:23:
У меня с привязкой все в норме. Х.з. может ты в тхт положишь код ПриОткрытии я гляну (чтобы тему не засорять) Подмигивание
А с фоном я никак не боролся, забил по-русски говоря.  Класс

Лови.
  

Temp.txt ( 2 KB | Загрузки )

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #157 - 10. Сентября 2009 :: 19:33
Печать  
Вот этот код
Код
Выбрать все
Привязка.ПослеСозданияФормы(); 


И вот этот вот код
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры 


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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #158 - 10. Сентября 2009 :: 19:37
Печать  
Вуаля, вот привычка от старого класса Форма.Привязка осталась, сори. Да и фон почемуто исчез.  Подмигивание

vandalsvq писал(а) 10. Сентября 2009 :: 19:33:
Вот этот код
Код
Выбрать все
Привязка.ПослеСозданияФормы(); 


И вот этот вот код
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры 


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

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #159 - 10. Сентября 2009 :: 19:39
Печать  
Ну рас ты тута, тогда вопрос я уже задавал в ветке, в предопределенной процедуре класса: Процедура ПриВыводеСтроки(ОформлениеСтроки,ДанныеСтроки,ТипРегиона) Экспорт, обрабатывается только одно табличное поле, основное для поставщика класса, а дополнительное табличное поле вообще невудел, как обработать все события для второго табличного поля на тойже форме в одном классе. Злой      
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #160 - 10. Сентября 2009 :: 19:48
Печать  
Допустим у поставщика табличное поле называется "ТППоставщика", а другое табличное поле "ТПДругое". Вот событие ПриВыводеСтроки будет у каждого свое, т.е. у тебя должно быть две процедуры: ТППоставщикаПриВыводеСтроки(ТП) и ТПДругоеПриВыводеСтроки(ТП). Соответственно ТП у каждого будет переданно именно то, чье событие обрабатывается. Т.е. у первой процедуре ВСЕГДА будет только ТП поставщика, а во второй процедуре ВСЕГДА будет только ТП другое.
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #161 - 10. Сентября 2009 :: 20:05
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 19:48:
Допустим у поставщика табличное поле называется "ТППоставщика", а другое табличное поле "ТПДругое". Вот событие ПриВыводеСтроки будет у каждого свое, т.е. у тебя должно быть две процедуры: ТППоставщикаПриВыводеСтроки(ТП) и ТПДругоеПриВыводеСтроки(ТП). Соответственно ТП у каждого будет переданно именно то, чье событие обрабатывается. Т.е. у первой процедуре ВСЕГДА будет только ТП поставщика, а во второй процедуре ВСЕГДА будет только ТП другое.


Это я понимаю что в локальном модуле я должен написать чтото такое:
Код
Выбрать все
Процедура тпФормаГруппыЗакладкиПриВыводеСтроки(вТабличноеПоле, вОформлениеСтроки, вДанныеСтроки, ВТипРегиона)
	Данные.ПриВыводеСтроки(вОформлениеСтроки, вДанныеСтроки, ВТипРегиона);
КонецПроцедуры

Процедура тпФормаГруппыПриВыводеСтроки(вТабличноеПоле, вОформлениеСтроки, вДанныеСтроки, ВТипРегиона)
	Данные.ПриВыводеСтроки(вОформлениеСтроки, вДанныеСтроки, ВТипРегиона);
КонецПроцедуры

 



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

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


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

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

Есть обязательные условия:
1. Один поставщик = одно табличное поле = одна командная панель = один тип значений
2. Объект расширение обязано на себя взять все события табличного поля + ряд других обязательных событий класса ПоставщикДанных.ТабличноеПоле.
3. Объект расширение наследуется от одного ТП поэтому работать с двумя физически не может.
Поэтому либо ты одно наследуешь (и оно полностью идет без дополнительных вызовов из формы (как сейчас у меня в расширениях)), либо ты реализуешь второе табличное поле с вызовом событий из формы, либо ты реализуешь второго связанного поставщика который сам собой управляет.
Как то так...

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

Пы.пы.сы. у меня сегодня ДР. можно я спать пойду?  Смех
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #163 - 10. Сентября 2009 :: 20:15
Печать  
Мои поздравления. Всегда чтобы тебе сопутствовало везение и легкость во всех твоих делах. Также как обычно ЗдоДенЩя!  Класс
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #164 - 10. Сентября 2009 :: 20:18
Печать  
Zealot писал(а) 10. Сентября 2009 :: 20:15:
Мои поздравления. Всегда чтобы тебе сопутствовало везение и легкость во всех твоих делах. Также как обычно ЗдоДенЩя!  Класс

Спс... ну все я ушел...  Язык
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #165 - 11. Сентября 2009 :: 05:39
Печать  
ПОЗДРАВЛЯЮ!!!!
  
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Событие ПередОкончаниемРедактирования
Ответ #166 - 11. Сентября 2009 :: 05:41
Печать  
2 vandalsvq - поздравления и наилучшие пожелания в связи с прошедшим ДР!!!

Ну и когда прийдёшь в себя может ответишь на вопорос ..... Улыбка

Как можно при изменении одного реквизита к примеру справочника (ПоставщикДанных.Справочник) изменить один или несколько других. Например я редактирую КраткНаименование и по окончании его редактирования если ПолнНаименование пустое - записать туда то-же самое. Я прицепился к событию ПередОкончаниемРедактирования
Код
Выбрать все
Процедура ТабличноеПолеНаценкиПередОкончаниемРедактирования(лТабличноеПоле, Элемент, Колонка, ТипРегиона, Значение, ФСО)
	Если Колонка.Данные = "КраткНаименование" Тогда
		Элемент.Наименование = СокрЛП(Значение);
	КонецЕсли;
КонецПроцедуры
 


и естественно ничего у меня не вышло .... хорошего по крайней мере Улыбка
Поковырявшись немного в коде ПоставщикДанных.Справочник вышел из положения следующим образом
Код
Выбрать все
	ТекущийЭлемент = СтруктураПараметров.Получить("ТекущаяСтрока");
	Для н = 1 По Метаданные.Справочник(ВидСправочника).Реквизит() Цикл
		катор, .Идентификатор));
	КонецЦикла;
	Спр.Наименование = ТекущийЭлемент.Наименование;
	Спр.Владелец = ТекущийЭлемент.Владелец;
	Спр.Родитель = ТекущийЭлемент.Родитель;
	Спр.Код = ТекущийЭлемент.Код;
 


Но во первых я не хочу править чужой класс, т.к. при обновлении все потеряется, во вторых - может я подошел к решению не с той стороны и есть способ попроще?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #167 - 11. Сентября 2009 :: 06:33
Печать  
Возьми событие ПриРедактированииЗначения (штатное). Дело в том что ПередОкончаниемРедактирования срабатывает ДО ЗАПИСИ ЭЛЕМЕНТА. А тебе же можно и после записи. А событие ПриРедактированииЗначения в форме вызовется ТОЛЬКО ПОСЛЕ обработки в классе. Т.о. в тот момент элемент (с изменениями) уже будет записан в базу. Если же ты не хочешь чтобы проходила запись, то в ПередОкончаниемРедактирования тебе надо ФСО = 0 поставить и полностью писать запись элемента с вызовом ПоставщикДанных.Данные.ОбновитьСтроки().
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #168 - 11. Сентября 2009 :: 08:34
Печать  
vandalsvq писал(а) 11. Сентября 2009 :: 06:33:
Возьми событие ПриРедактированииЗначения (штатное). Дело в том что ПередОкончаниемРедактирования срабатывает ДО ЗАПИСИ ЭЛЕМЕНТА. А тебе же можно и после записи. А событие ПриРедактированииЗначения в форме вызовется ТОЛЬКО ПОСЛЕ обработки в классе. Т.о. в тот момент элемент (с изменениями) уже будет записан в базу.

Ну будет он в базе или нет - это в общем-то не принципиально. Мне интересно как мне свои изменения производить. Куда их пихать в смысле? Если только через
Код
Выбрать все
Спр = СоздатьОбъект("Справочник."+ВидСправочника);
Спр.НайтиЭлемент(ТекущийЭлемент);
......Контроль блокировок.......
Спр.Записать() 


то это как-то некошерно получается Улыбка
Хотелось-бы как в штатной предопределенной процедуре ПриЗаписи() - поменял что надо, а оно само записало.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #169 - 11. Сентября 2009 :: 08:44
Печать  
Понятно что при записи было бы кошернее Улыбка но видимо не судьба
Я везде делал через
Код
Выбрать все
Спр = СоздатьОбъект("Справочник.ТвойВидСправочника");
Спр.НайтиЭлемент(ТП.ТекущаяСтрока);
Спр. (бла бла бла)
Спр.Записать(); 


А если редактирование через форму тут я думаю проблем никаких.
В общем пусть так и остается.
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #170 - 11. Сентября 2009 :: 09:56
Печать  
Это примерно из той же серии http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/30#42
  
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #171 - 11. Сентября 2009 :: 10:27
Печать  
JohnyDeath писал(а) 11. Сентября 2009 :: 09:56:
Это примерно из той же серии http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/30#42

Ну почти то-же ....... только я предложил не добавлять параметр а сделать все внутри метода "ПриРедактированииЗначения"
Т.е. в этом случае интерфейс не меняется и переписывать все места где используется класс не нужно. Меняется только реализация и при этом выносится в класс повторяемый код.... но Александр почему-то не хочет этого делать. Ну тут ничего не поделаешь - автору виднее  Улыбка
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #172 - 11. Сентября 2009 :: 12:07
Печать  
avgreen писал(а) 11. Сентября 2009 :: 10:27:
JohnyDeath писал(а) 11. Сентября 2009 :: 09:56:
Это примерно из той же серии http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/30#42

Ну почти то-же ....... только я предложил не добавлять параметр а сделать все внутри метода "ПриРедактированииЗначения"
Т.е. в этом случае интерфейс не меняется и переписывать все места где используется класс не нужно. Меняется только реализация и при этом выносится в класс повторяемый код.... но Александр почему-то не хочет этого делать. Ну тут ничего не поделаешь - автору виднее  Улыбка


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

Спасибо за идею. Реализую в следующей версии ближе к Вс.  Класс

Пы.сы. однако стоит учитывать что реквизит который отредактировал пользователь при ФСО = 1 будут записываться стандартно и будет меняться на то что передано в параметре Значение. Вот как.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Событие ПередОкончаниемРедактирования
Ответ #173 - 11. Сентября 2009 :: 12:09
Печать  
avgreen писал(а) 11. Сентября 2009 :: 05:41:
2 vandalsvq - поздравления и наилучшие пожелания в связи с прошедшим ДР!!!


Неееее..... др у меня как раз таки сегодня  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #174 - 11. Сентября 2009 :: 12:31
Печать  
Ну собственно я уже сделал, получилось достаточно удобно и хорошо. Теперь подумаю где еще может понадобиться объект, а не элемент справочника.

Есть только одно "но". Если у кого ранее в данном событии был код "Спр = Создать... Спр.НайтиЭлемент()... Спр.Записать()" он не будет больше работать поскольку объект заблокирован. Вот теперь думаю насколько, это критично... ведь пропадает обратная совместимость  Язык Смущённый
  

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



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #175 - 11. Сентября 2009 :: 12:32
Печать  
ПОЗДРАВЛЯЮ!!!!
Улыбка и жду новых версий
  
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


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

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

vandalsvq писал(а) 11. Сентября 2009 :: 12:07:
avgreen писал(а) 11. Сентября 2009 :: 10:27:
JohnyDeath писал(а) 11. Сентября 2009 :: 09:56:
Это примерно из той же серии http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/30#42

Ну почти то-же ....... только я предложил не добавлять параметр а сделать все внутри метода "ПриРедактированииЗначения"
Т.е. в этом случае интерфейс не меняется и переписывать все места где используется класс не нужно. Меняется только реализация и при этом выносится в класс повторяемый код.... но Александр почему-то не хочет этого делать. Ну тут ничего не поделаешь - автору виднее  Улыбка


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

Спасибо за идею. Реализую в следующей версии ближе к Вс.  Класс

Пы.сы. однако стоит учитывать что реквизит который отредактировал пользователь при ФСО = 1 будут записываться стандартно и будет меняться на то что передано в параметре Значение. Вот как.

  

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


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

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

По умолчанию будет передаваться объект с ИспользоватьДату(ДатаПериодическихРеквизитов). НО: поскольку только после вызова метода ПередОкончаниемРедактирования происходит дальнейшая работа (т.е. спрос у пользователя даты установки периодического реквизита и собственно запись элемента) тут надо проверить что будет если в событии установить значение, и в какую дату оно попадет после выбора пользователем.

В общем я еще погоняю и так и сяк данное решение, меня еще пара моментов смущает. Когда окончательно выработаю решение тогда и выдам в народ.  Подмигивание
  

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


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

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

Расширение "ПоставщикДаннвх.Справочник" добавлено:
- событие "ПередОкончаниемРедактирования" первым параметром теперь получает объект справочника, а не его ссылку. При этом установлен параметр ИспользоватьДату равный параметру ДатаПубличныхРеквизитов. Следует обратить внимание что событие вызывается до того как пользователь выбирает дату на которую необходимо установить значение периодического реквизита.
- отбор по справочнику строиться с учетом использования реквизитов в справочнике. Т.е. теперь при отборе по какому-либо реквизиту только для элемента не будет приводить к тому что исчезнут группы (при условии что количество уровней >1 и признак иерархический просмотр включен)

В общем попробуйте. У кого какие замечания.
Пы.сы. предупреждаю что на текущий момент я все еще рассматриваю возможность изменения интерфейса события ПриПолученииЗапроса, собственно как и отмену изменений в событии ПередОкончаниемРедактирования.

Пы.пы.сы. небольшое изменение. Изменил составление строки отбора.  Улыбка
  

1Cv7_ext_TF_003.rar ( 339 KB | Загрузки )

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


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

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

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #180 - 15. Сентября 2009 :: 05:43
Печать  
vandalsvq писал(а) 14. Сентября 2009 :: 10:21:
Внес небольшое изменение. Кто брал, возьмите заново Подмигивание

"Непоправимые улучшения и изменения...."  Смех
А вообще-то "попробовал - понравилось"! Именно то что хотелось.
Единственное НО - в ПоставщикДанных.Справочник раньше в строке 345 было
Код
Выбрать все
	ROW_ID AS НомерСтрокиСправочника 


сейчас 'as' исчезло и у меня ругается нецензурными матюками Печаль У кого-то еще ругается? Может у меня "гранаты не той системы" - SQL не так настроен? Вроди-бы слышал что такие подробности как AS можно опускать....
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #181 - 15. Сентября 2009 :: 05:52
Печать  
avgreen писал(а) 15. Сентября 2009 :: 05:43:
vandalsvq писал(а) 14. Сентября 2009 :: 10:21:
Внес небольшое изменение. Кто брал, возьмите заново Подмигивание

"Непоправимые улучшения и изменения...."  Смех
А вообще-то "попробовал - понравилось"! Именно то что хотелось.
Единственное НО - в ПоставщикДанных.Справочник раньше в строке 345 было
Код
Выбрать все
	ROW_ID AS НомерСтрокиСправочника 


сейчас 'as' исчезло и у меня ругается нецензурными матюками Печаль У кого-то еще ругается? Может у меня "гранаты не той системы" - SQL не так настроен? Вроди-бы слышал что такие подробности как AS можно опускать....


AS в запросе с поставщиком опускать нельзя Улыбка иначе как ты правильно подметил "ругается нецензурными матюками".... (а цензурные матюки бывают?). Вот собственно какая "кака". Я исправлюсь Улыбка.

Кстати что касается "интерфейса" решения, устраивает? (в отборе не участвует, в печати пока тоже). А?
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #182 - 15. Сентября 2009 :: 06:12
Печать  
vandalsvq писал(а) 15. Сентября 2009 :: 05:52:
[skip]

Кстати что касается "интерфейса" решения, устраивает?

Интерфейс класса ПоставщикДанных.Справочник? Пока устраивает Улыбка Т.е. пока не столкнулся с тем, чтобы мне чего-то не хватало - а это главное. "Не нужно много - нужно чтобы хватало"  Улыбка
Цитата:
(в отборе не участвует, в печати пока тоже). А?

Здесь не понял! Что именно "не участвует"?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #183 - 15. Сентября 2009 :: 08:12
Печать  
Если ты добавишь в ТП колонку (ТП.Колонки.Добавить()), а потом добавишь в событии текст запроса, то данная колонка только в настройке ТП будет. А в печати и отборе нет.
  

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


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

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

vandalsvq писал(а) 15. Сентября 2009 :: 05:52:
avgreen писал(а) 15. Сентября 2009 :: 05:43:
vandalsvq писал(а) 14. Сентября 2009 :: 10:21:
Внес небольшое изменение. Кто брал, возьмите заново Подмигивание

"Непоправимые улучшения и изменения...."  Смех
А вообще-то "попробовал - понравилось"! Именно то что хотелось.
Единственное НО - в ПоставщикДанных.Справочник раньше в строке 345 было
Код
Выбрать все
	ROW_ID AS НомерСтрокиСправочника 


сейчас 'as' исчезло и у меня ругается нецензурными матюками Печаль У кого-то еще ругается? Может у меня "гранаты не той системы" - SQL не так настроен? Вроди-бы слышал что такие подробности как AS можно опускать....


AS в запросе с поставщиком опускать нельзя Улыбка иначе как ты правильно подметил "ругается нецензурными матюками".... (а цензурные матюки бывают?). Вот собственно какая "кака". Я исправлюсь Улыбка.

Кстати что касается "интерфейса" решения, устраивает? (в отборе не участвует, в печати пока тоже). А?

  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #185 - 15. Сентября 2009 :: 10:46
Печать  
Можно поинтересоватся что это: ПоставщикДанных.ТекстовыйОбъект?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #186 - 15. Сентября 2009 :: 11:24
Печать  
AS отсутствует не начисто, а только в некоторых строках. Подправить я подправил, но не выложил еще... завтра будет.
Что касается "текстовыйобъект", наверное "тестовый" и даже если так все равно это "рабочий мусор".  Подмигивание

А счас извините мне некогда, я пошел готовиться к заседанию суда.  Класс
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #187 - 18. Сентября 2009 :: 11:21
Печать  
И тишина  Печаль
А где обещанные обновления, исправление ошибок описанных выше по форуму, в т.ч  AS по прямым запросам!  Озадачен
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #188 - 18. Сентября 2009 :: 15:38
Печать  
Zealot писал(а) 18. Сентября 2009 :: 11:21:
И тишина  Печаль
А где обещанные обновления, исправление ошибок описанных выше по форуму, в т.ч  AS по прямым запросам!  Озадачен

Я счас занят 8-кой. К понедельнику руки подойдут я думаю.  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #189 - 23. Сентября 2009 :: 07:04
Печать  
Новая версия

3.02.001 от 23.09.09 г.
- Значительные изменения в классах-расширениях табличного поля.
- Использование КОП "ПоставщикДанных.ПрямойЗапрос" (аналог "ПрямойЗапрос") при построении запросов
- Возможность изменять текст запросов классов-расширений
- Исправлены некоторые ошибки. (возможно добавлены новые)
- Проведена оптимизация построения строк сортировок

Файл брать в голове  Подмигивание
  

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


I Love YaBB 2!

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #191 - 25. Сентября 2009 :: 08:07
Печать  
Mikeware писал(а) 25. Сентября 2009 :: 08:00:
А тестовой обработки ни у кого нету - чтоб с нуля не ваять, а глянуть сразу - как это работает...


Где-то в этой теме я выкладывал конфигурацию , на первых паре-тройке страниц... посмотри
  

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


1C++ rocks!

Сообщений: 2
Зарегистрирован: 16. Мая 2009
Re: Класс "ПоставщикДанных"
Ответ #192 - 25. Сентября 2009 :: 16:18
Печать  
Очень впечатляет код. И слюни текут до полу.  Проблема в том, что не могу ознакомится с результатами работы классов. Чего-то не хватает.
База ТиС SQl2000 Выкусил из тестовой конфиги "ТестовыйОтчет", при запуске ругается типа :
Неудачная попытка создать объект  ПоставщикДанных.ПрямойЗапрос
Версия 1Cv7_ext_TF_002.rar  от 23 сентября.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #193 - 25. Сентября 2009 :: 17:08
Печать  
dav405 писал(а) 25. Сентября 2009 :: 16:18:
Очень впечатляет код. И слюни текут до полу.  Проблема в том, что не могу ознакомится с результатами работы классов. Чего-то не хватает.
База ТиС SQl2000 Выкусил из тестовой конфиги "ТестовыйОтчет", при запуске ругается типа :
Неудачная попытка создать объект  ПоставщикДанных.ПрямойЗапрос
Версия 1Cv7_ext_TF_002.rar  от 23 сентября.


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

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


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

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

Кстати кому интересно, вот тестовая обработка для типовой ТиС демострирующая справочник "Номенклатура" с поставщиком в ТП и отображением остатка количества номенклатуры. Очень хороший демонстрационный материал об использовании связки ПрямойЗапрос + ПоставщикДанных.
Хочется услышать мнение камрадов о производительности данного решения.

Пы.сы. 28/09.... перезалил пример, был незначительный косячокс.
« Последняя редакция: 28. Сентября 2009 :: 08:24 - vandalsvq »  

primer_001.rar ( 3 KB | Загрузки )

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


1C++ rocks!

Сообщений: 2
Зарегистрирован: 16. Мая 2009
Re: Класс "ПоставщикДанных"
Ответ #195 - 26. Сентября 2009 :: 05:34
Печать  
мой Предыдущий пост считать маразмом, я как-то умудрился криво подключить классы.
Пример съел, очень вкусный, копаю.
« Последняя редакция: 26. Сентября 2009 :: 08:03 - dav405 »  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #197 - 27. Сентября 2009 :: 11:21
Печать  
vandalsvq писал(а) 26. Сентября 2009 :: 10:27:
Вышла новая версия. Оч. советую обратить внимание на изменение параметров в методе НайтиЗначение в поставщике справочников. При этом исправлена работа метода. Теперь поиск выполняется с учетом сортировки и позиции пользователя.


Спасибо что работа всета больше движется чем стоит! Пока ошибок не обнаружено,

но блин не хватает этой приславутой Истории в справочниках, какбы подсуетится  Подмигивание

В догонку а чтотакое:ПоставщикДанных.ПроизвольныйЗапрос? И где сам файл класса?
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #198 - 27. Сентября 2009 :: 11:33
Печать  
пример по оперативному учету СПАСИБО, а можна и по бух.учету примерчик  Подмигивание Круглые глаза

vandalsvq писал(а) 25. Сентября 2009 :: 21:50:
Выложена новая версия. Брать вроде как обязательно. Исправлений достаточно много, тестировал и на DBF и на SQL. Проблем вроде не обнаружено.

Кстати кому интересно, вот тестовая обработка для типовой ТиС демострирующая справочник "Номенклатура" с поставщиком в ТП и отображением остатка количества номенклатуры. Очень хороший демонстрационный материал об использовании связки ПрямойЗапрос + ПоставщикДанных.
Хочется услышать мнение камрадов о производительности данного решения.

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #199 - 27. Сентября 2009 :: 18:52
Печать  
Zealot писал(а) 27. Сентября 2009 :: 11:21:
В догонку а чтотакое:ПоставщикДанных.ПроизвольныйЗапрос? И где сам файл класса?


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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #200 - 27. Сентября 2009 :: 18:54
Печать  
Zealot писал(а) 27. Сентября 2009 :: 11:33:
пример по оперативному учету СПАСИБО, а можна и по бух.учету примерчик  Подмигивание Круглые глаза


Будет опять часик времени свободного обязательно сделаю А счас в планах доделка постащиков в том числе реализация недостающих пунктов контекстного меню, переезд на новую версию ВК 1С++ с целью реализации более сложных механизмов обработки событий клавиатуры
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #201 - 27. Сентября 2009 :: 19:36
Печать  
так у тебя и так 3-я версия 1срр что еще новее а по воду новых недостающих пунктов как раз будет кстати   еще б историю vandalsvq писал(а) 27. Сентября 2009 :: 18:54:
Zealot писал(а) 27. Сентября 2009 :: 11:33:
пример по оперативному учету СПАСИБО, а можна и по бух.учету примерчик  Подмигивание Круглые глаза


Будет опять часик времени свободного обязательно сделаю А счас в планах доделка постащиков в том числе реализация недостающих пунктов контекстного меню, переезд на новую версию ВК 1С++ с целью реализации более сложных механизмов обработки событий клавиатуры

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #202 - 28. Сентября 2009 :: 07:43
Печать  
Что-то примерчик не работает на типовой, и вот так ругается:

ПоставщикДанных.ПрямойЗапрос::ВыполнитьЗапрос(Строка ТекстЗапроса=delete from #ОстаткиНоменклатуры, Число БезПодготовки=1) : near "#ОстаткиНоменклатуры": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ПодготовленныйТекстЗапроса);
{E:\WWWTemp\Temp\ПоставщикДанных\ПоставщикДанных.ПрямойЗапрос.ert(10446) }

ПрямойЗапрос.ВыполнитьЗапрос("delete from #ОстаткиНоменклатуры",1);
{E:\WWWTEMP\TEMP\СПРАВОЧНИК НОМЕНКЛАТУРА.ERT(19)}: ПоставщикДанных.ПрямойЗапрос::ВыполнитьЗапрос(Строка ТекстЗапроса=delete from #ОстаткиНоменклатуры, Число БезПодготовки=1) : near "#ОстаткиНоменклатуры": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ПодготовленныйТекстЗапроса);
{E:\WWWTemp\Temp\ПоставщикДанных\ПоставщикДанных.ПрямойЗапрос.ert(10446) }


Пришлось строку 19 взять в попытку
Код
Выбрать все
Попытка
	ПрямойЗапрос.ВыполнитьЗапрос("delete from #ОстаткиНоменклатуры",1);
Исключение
КонецПопытки;
 


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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #203 - 28. Сентября 2009 :: 08:12
Печать  
Uncle писал(а) 28. Сентября 2009 :: 07:43:
Что-то примерчик не работает на типовой, и вот так ругается

Я сча поправлю. На скуле ведь верно? На DBF...
Интересно интересно. Сча посмотрю почему может так получаться.

Пы.сы...... я косяк.... взял поставил флаг "БезПодготовки = 1", т.е. в том методе ВыполнитьЗапрос(...) надо просто второй параметр или удалить, или обнулить.  Подмигивание
  

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


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

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

primer.rar ( 3 KB | Загрузки )

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #205 - 28. Сентября 2009 :: 09:06
Печать  
Спасибо за пример, все стало гораздо прозрачнее. Вообще может у меня неправильный подход, но я всегда предпочитаю документации реальный пример, поэтому прилагаю адаптированный пример автора под Украинскую ТиС. Вот бы большой комплексный пример в виде отдельной конфы  Круглые глаза
И еще. Появилась хотелка: у меня в справочнике код имеет числовое значение длиной 6 символов. Так вот если хочется воспользоваться быстрым поиском, то приходится сначала набрать n пробелов и потом значение кода, где n=6-(длина кода искомого элемента). 8-ка ищет без ввода начальных пробелов, но там надо прежде упорядочить по нужному полю и только потом искать что тоже не очень удобно.
  
Наверх
 
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #206 - 28. Сентября 2009 :: 09:09
Печать  
О, еще заметил: копирование не работает для групп справочника, только для элементов
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #207 - 28. Сентября 2009 :: 09:13
Печать  
Uncle писал(а) 28. Сентября 2009 :: 09:09:
О, еще заметил: копирование не работает для групп справочника, только для элементов

Копирование и перенос в группу для групп не работает... это да Печаль. И наверное не будет работать. Посмотрим в будущем.

Что касается кода в справочнике, будет решено в будущем. Когда "быстрый" поиск руки менять дойдут.
  

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #208 - 28. Сентября 2009 :: 09:27
Печать  
vandalsvq писал(а) 28. Сентября 2009 :: 09:13:
Копирование и перенос в группу для групп не работает... это да Печаль. И наверное не будет работать. Посмотрим в будущем.


Интересно в чем затык, ведь кроме контроля уровней никакой разницы нет...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #209 - 28. Сентября 2009 :: 09:39
Печать  
Uncle писал(а) 28. Сентября 2009 :: 09:27:
vandalsvq писал(а) 28. Сентября 2009 :: 09:13:
Копирование и перенос в группу для групп не работает... это да Печаль. И наверное не будет работать. Посмотрим в будущем.


Интересно в чем затык, ведь кроме контроля уровней никакой разницы нет...


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

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #210 - 28. Сентября 2009 :: 09:45
Печать  
понятно, из области "это не баг, это фича"  Смех
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #211 - 28. Сентября 2009 :: 09:56
Печать  
Uncle писал(а) 28. Сентября 2009 :: 09:45:
понятно, из области "это не баг, это фича"  Смех

ну да... а еще из области "я типовые механимы не знаю, с ними не интересно"  Очень довольный
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #212 - 30. Сентября 2009 :: 11:12
Печать  
Вышла новая версия. Множество изменений в работе классов расширений Справочник и Журнал.
В т.ч. добавлены некоторые "долгожданные" пункты контекстных меню. Переработан метод "НайтиЗначение".
Исправлены ошибки в работе класса "ПоставщикДанных.ПрямойЗапрос" в соответствии с изменениями в КОП "ПрямойЗапрос" (см. релиз 1.04.004).

В общем на мой взгляд обязательное обновление всем.  Подмигивание
  

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


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

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #213 - 01. Октября 2009 :: 06:37
Печать  
Новые пункты в журналах это хорошо, но вот сразу ошибочка:
Код
Выбрать все
ТипВидВалюта = Метаданные.Валюта.Тип + ?(ПустоеЗначение(Метаданные.Валюта.Вид) = 1,"",".") + Метаданные.Валюта.Вид;
SES\ПОСТАВЩИКДАННЫХ\ПОСТАВЩИКДАННЫХ.ДВИЖЕНИЯДОКУМЕНТА.ERT(195)}: Поле агрегатного объекта не обнаружено (Тип)
 

 Печаль

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #214 - 01. Октября 2009 :: 08:14
Печать  
Zealot писал(а) 01. Октября 2009 :: 06:37:
Историю реквизитов в справочниках надо бы на табличном поле, а то как то коряво уже смотрится стандартная форма  Подмигивание

Ошибку я исправлю. Надо проверку там поставить. Улыбка
А вот на счет истории на ТП... хм... сделать можно, но не нужно, пока не нужно. Вот когда уже все будет сделано, тогда будем бантик доделывать Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #215 - 02. Октября 2009 :: 05:54
Печать  
Выложена новая версия. Исправлены некоторые ошибки. Доработана документация.
Брать обязательно, поскольку есть критичные исправления.  Подмигивание
  

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #216 - 03. Октября 2009 :: 15:41
Печать  
Помоги пожалуйста разобраться с привязками, я тут набросал примерчик, см. аттач. Не могу никак привязать реквизиты находящиеся между 2-мя таблицами с горизонтальным сплиттером между ними к нижней границе верхней таблицы... О_о во сказанул, надеюсь ты понял.
Спасибо огромное!
  

test_014.rar ( 7 KB | Загрузки )
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #217 - 07. Октября 2009 :: 07:39
Печать  
А произвольный запрос в качестве поставщика можно засунуть?
Пусть это будет и не динамическое обновление, а тупое выполнение, переброска в ТЗ/ИТЗ и отображение уже ТЗ/ИТЗ.
Или всё-таки надо получить результат запроса в ТЗ чем-нибудь, а уж потом делать создавать поставщикаДанных.ТаблицаЗначений?
  
Наверх
 
IP записан
 
Захар Малиновский
Junior Member
**
Отсутствует


1C++ active user

Сообщений: 53
Местоположение: г. Харьков
Зарегистрирован: 26. Февраля 2009
Re: Класс "ПоставщикДанных"
Ответ #218 - 07. Октября 2009 :: 07:48
Печать  
А почему собственно на первой странице ветки написано что :
"...Документация внутри архива собственно как и КОП.
Требования:
1. MS Office (для тулбара)
2. 1sqlite (1.0.2.1)
3. 1С++ 3.х (не поддерживается 3.0.1.23)
4. FormEx какой то последний (93)...."

А с какой версие 1cpp поддерживаеться ?
  
Наверх
IP записан
 
Boris_1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 129
Зарегистрирован: 29. Января 2007
Re: Класс "ПоставщикДанных"
Ответ #219 - 07. Октября 2009 :: 08:02
Печать  
Захар Малиновский писал(а) 07. Октября 2009 :: 07:48:
А почему собственно на первой странице ветки написано что :
"...Документация внутри архива собственно как и КОП.
3. 1С++ 3.х (не поддерживается 3.0.1.23)
А с какой версие 1cpp поддерживаеться ?


Ответ вроде в вопросе Улыбка
  
Наверх
 
IP записан
 
Boris_1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 129
Зарегистрирован: 29. Января 2007
Re: Класс "ПоставщикДанных"
Ответ #220 - 07. Октября 2009 :: 08:05
Печать  
Народ подскажите а как вы обходитесь без визуального поиска в таблицах поставщика (верхний который), или это я только без него работать не могу?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #221 - 07. Октября 2009 :: 08:10
Печать  
Boris_1c писал(а) 07. Октября 2009 :: 08:05:
Народ подскажите а как вы обходитесь без визуального поиска в таблицах поставщика (верхний который), или это я только без него работать не могу?


Не знаю... я реализовал похожий аналог через метод НайтиЗначение. Благо что для справочника и Журнала я его доработал и он в порядке, а для остальных поставщиков тоже будет со временем (кроме ИТЗ и СЗ, там пользуйтесь быстрым поиском). А аналогично 1С-вскому мне даже не нравится. Почему то Улыбка
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #222 - 07. Октября 2009 :: 08:11
Печать  
JohnyDeath писал(а) 07. Октября 2009 :: 07:39:
А произвольный запрос в качестве поставщика можно засунуть?
Пусть это будет и не динамическое обновление, а тупое выполнение, переброска в ТЗ/ИТЗ и отображение уже ТЗ/ИТЗ.
Или всё-таки надо получить результат запроса в ТЗ чем-нибудь, а уж потом делать создавать поставщикаДанных.ТаблицаЗначений?


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

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



Сообщений: 56
Местоположение: Ростов-на-Дону
Зарегистрирован: 25. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #223 - 07. Октября 2009 :: 10:55
Печать  
Прочитал всю ветку. Я так понимаю, что предложенный пример (СправочникНоменклатура.ert) не работает только у меня:
ОформлениеЯчейки.УстановитьТекст(СокрЛП(Формат(ДанныеСтроки.Количество,"Ч19.2, ")));
{C:\TEMP\СПРАВОЧНИК НОМЕНКЛАТУРА.ERT(91)}: Поле агрегатного объекта не обнаружено (Количество)?
1с++ - 3.0.1.22
formex - 2.0.5.92
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #224 - 07. Октября 2009 :: 11:14
Печать  
Утюг писал(а) 07. Октября 2009 :: 10:55:
Прочитал всю ветку. Я так понимаю, что предложенный пример (СправочникНоменклатура.ert) не работает только у меня:
ОформлениеЯчейки.УстановитьТекст(СокрЛП(Формат(ДанныеСтроки.Количество,"Ч19.2, ")));
{C:\TEMP\СПРАВОЧНИК НОМЕНКЛАТУРА.ERT(91)}: Поле агрегатного объекта не обнаружено (Количество)?
1с++ - 3.0.1.22
formex - 2.0.5.92

У тебя SQL, DBF? 1sqlite какой?
Попробуй закомментировать данное выражение...
  

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



Сообщений: 56
Местоположение: Ростов-на-Дону
Зарегистрирован: 25. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #225 - 07. Октября 2009 :: 11:38
Печать  
dbf
1sqlite - 1.0.2.0
Если комментировать, то, естественно, работает. При двойном клике остатки по складам показывает. Так же не работает кнопка "вкл/выкл иерархию" (всегда утоплена).

В sql другая беда:
ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : Значение не представляет агрегатный объект
Поле.ТипБыстрогоПоиска = 1;
t(1008) }
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #226 - 07. Октября 2009 :: 11:56
Печать  
Слушай а классы у тебя точно последние?
А иерархический просмотр принудительно отключен.
  

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



Сообщений: 56
Местоположение: Ростов-на-Дону
Зарегистрирован: 25. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #227 - 07. Октября 2009 :: 12:07
Печать  
Классы брал из первого поста вчера, т.е. 06.10.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #228 - 07. Октября 2009 :: 17:53
Печать  
Утюг писал(а) 07. Октября 2009 :: 12:07:
Классы брал из первого поста вчера, т.е. 06.10.

До выходных вынужден отложить разбирательства по данному вопросу. Работы оч. много.  Круглые глаза
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Класс "ПоставщикДанных" - изменять текст запросов классов-расширений
Ответ #229 - 08. Октября 2009 :: 14:27
Печать  
vandalsvq писал(а) 23. Сентября 2009 :: 07:04:
Новая версия

3.02.001 от 23.09.09 г.
- Значительные изменения в классах-расширениях табличного поля.
- Использование КОП "ПоставщикДанных.ПрямойЗапрос" (аналог "ПрямойЗапрос") при построении запросов
- Возможность изменять текст запросов классов-расширений


Или я чего-то не понял или где это? (последний пункт)

Я тут уже раскатал губу прикрутить к ТабличнойЧасти фильтр и вовсю юзать множественные ТЧ - ан нет! "Не выходит чаша каменная"  Печаль

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #230 - 09. Октября 2009 :: 02:55
Печать  
Тут есть пример на типовой ТИС сделан. Справочник номенклатура + колонка остатков... посмотри может поможет.

А в кратце, добавилось событие ПриПолученииЗапроса, где в параметрах передается разложенный текст запроса, т.о. можно его дописывать и вот этот запрос и будет уходить на сервер... т.о. тебе как программисту думать на сортировкой и ключами не надо, а достаточно просто дописать сбор колонок, источники и условия.
В общем смотри пример, смотри документацию.
  

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #231 - 09. Октября 2009 :: 05:40
Печать  
vandalsvq писал(а) 09. Октября 2009 :: 02:55:
Тут есть пример на типовой ТИС сделан. Справочник номенклатура + колонка остатков... посмотри может поможет.

Спасибо, помогло! Минут за 10 адаптировал к своей не типовой ..... потому как все написано просто и красиво. Сейчас буду смотреть ПриПолученииЗапроса на предмет прикручивания к своим нуждам Улыбка

PS Единственное чего ему не хватило      
Код
Выбрать все
УправлениеФормой = СоздатьОбъект("УправлениеФормой"); 



Цитата:
А в кратце, добавилось событие ПриПолученииЗапроса, где в параметрах передается разложенный текст запроса, т.о. можно его дописывать и вот этот запрос и будет уходить на сервер... т.о. тебе как программисту думать на сортировкой и ключами не надо, а достаточно просто дописать сбор колонок, источники и условия.
В общем смотри пример, смотри документацию.

Еще раз спасибо! Сдвинулся с мертвой точки.....
  
Наверх
ICQ  
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #232 - 09. Октября 2009 :: 05:58
Печать  
ОПА! НЕ сбылась мечта идиота! Улыбка Печаль
У тебя ТЧ не на запросах построена а на ИТЗ и ВыбратьСтроки() ПолучитьСтроку()    Ничего не получится, по крайней мере с помощью ПриПолученииЗапроса ....  Плачущий
Может на фильтрах ИТЗ попробовать? Они вообще как-то влияют на отображение ИТЗ в ТП?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #234 - 09. Октября 2009 :: 11:44
Печать  
vandalsvq писал(а) 09. Октября 2009 :: 08:29:
УправлениеФормой тут тоже где-то есть в теме, лежит. Поищи...
Что касается поставщика ТЧ документа, там да, используется ИТЗ.
Переделывать его не буду, поскольку сами строки документа не записываются пока док. не запишется.
Прямые запросы используются в Справочник, Журнал, Документ, Регистр, Операции.


Да я и не прошу прямые запросы использовать. Тем более что это может быть небезопасно - лезть в ТЧ документа напрямую, минуя форму.

Но может быть удастся прикрутить какой-то фильтр к ИТЗ+ТП, чтобы можно было отображать часть строк ИТЗ? И этот фильтр на ходу переключать. Хотя я пока и сам не вижу как это сделать Печаль
  
Наверх
ICQ  
IP записан
 
elkpro
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 145
Зарегистрирован: 19. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #235 - 09. Октября 2009 :: 12:47
Печать  
vandalsvq писал(а) 28. Сентября 2009 :: 08:25:
Пример перезалил... и тут на всяк тоже приложу


Попробовал данный пример на своем компе - все нормально.
Решил запустить пример на тестовом компьютере - чистом, только 1С установлен и MS компоненты.
Выдает такую вот ошибку.

ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : Значение не представляет агрегатный объект
Поле.ТипБыстрогоПоиска = 1;
{\\fstore\Dll\Classes\ПоставщикДанных\ПоставщикДанных.Справочник.ert(1008) }

ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : Значение не представляет агрегатный объект
Поле.ТипБыстрогоПоиска = 1;
{\\fstore\Dll\Classes\ПоставщикДанных\ПоставщикДанных.Справочник.ert(1008) }

Причем если комментирую      
//Колонки = ТабличноеПоле.Колонки;
     //Колонка = Колонки.Добавить("Количество");
     //Колонка.Имя = "Количество";
     //Колонка.Данные = "Количество";
     //Колонка.Заголовок = "Количество остаток";
     //Колонка.ГоризонтальноеВыравнивание = 2;

Все работает без ошибок - как только это включить - тогда и появляется вышеуказанная ошибка.

  
Наверх
 
IP записан
 
elkpro
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 145
Зарегистрирован: 19. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #236 - 09. Октября 2009 :: 13:27
Печать  
Вдогонку - проверил на пользователе с правами администратора.
В этом случае проблем нет.

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #237 - 09. Октября 2009 :: 15:56
Печать  
Есть что-то в администраторе такое, от чего ничего не работает  Смех
Интересно что... будем искать, думать, гадать Улыбка
  

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #238 - 17. Октября 2009 :: 15:32
Печать  
А как насчет того чтобы все ert-шки упаковать в одну? Дело в том что классы я предпочитаю встраивать в конфу, чтобы ничего "сбоку не висело", а тут придется добавить аж 22 обработки!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #239 - 17. Октября 2009 :: 15:52
Печать  
Uncle писал(а) 17. Октября 2009 :: 15:32:
А как насчет того чтобы все ert-шки упаковать в одну? Дело в том что классы я предпочитаю встраивать в конфу, чтобы ничего "сбоку не висело", а тут придется добавить аж 22 обработки!

Ух.. может ты сам? Дело в том что мне такая архитектура больше по душе. Если в одном КОП беда то другой работает хотя бы.
  

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #240 - 17. Октября 2009 :: 16:02
Печать  
Ок, а как вообще насчет хотелок, есть смысл озвучивать или ввиду отсутствия времени "спасение утопающих дело самих утопающих"?  Подмигивание
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #241 - 18. Октября 2009 :: 10:46
Печать  
Я думаю что хотелки могут быть и будут реализованы. Главное их озвучить, объяснить и подождать какое то время Улыбка
Счас периодически время находится доделывать... так что можно попасть в волну Подмигивание
  

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


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #242 - 19. Октября 2009 :: 05:49
Печать  
Ага, ну тогда озвучу и буду ждать...
1. Хотелось бы иметь таки дерево для справочников ну или хотябы чтоб табличное поле было в виде "Дерево+Таблица"
2. Хотелось бы чтоб работали кнопки Ctrl+PgDn, Ctrl+PgUp для навигации по справочнику
3. Хотелось бы чтоб быстрый поиск для числовых полей работал без ввода лидирующих пробелов
4. Хотелось бы чтоб работал перенос для групп

вроде пока все   Круглые глаза
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #243 - 19. Октября 2009 :: 19:30
Печать  
Только одно "но". В среду у меня коррекция зрения. Потом неделя редкостной работы за компом. И вот после я наверное найду и силы и время сделать то что запрошено выше. Ранее ждать не имеет смысла.
И еще одно "но". Дерево + Таблица в виде именно дерева будет отложено на самый последний план.
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #244 - 29. Октября 2009 :: 13:35
Печать  
Событие "ПередНачаломИзменения". Описание: Возникает перед началом интерактивного изменения  строки табличного поля. При установке ФСО стандартный вызов редактирования не происходит.
Я правильно понимаю, что установка ФСО запрещает редактирование? Если да, то у меня почему-то ничего подобного не происходит.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #245 - 29. Октября 2009 :: 13:39
Печать  
Покажи полностью код в части той строки где
Процедура ТППередНачаломИзменения(...), а в частности все параметры.
И уточни в каком типе поставщика затык.

Пы.сы. (как и в теме про прямые запросы) Я вернулся. Подмигивание
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #246 - 29. Октября 2009 :: 14:05
Печать  
Затык в "ПоставщикДанных.ИндексированнаяТаблица"...
тпДолгиПередНачаломИзменения(тп,фл=0)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #248 - 29. Октября 2009 :: 15:09
Печать  
респектище за класс
есть хотелка, а точнее просьба если можно пример по работе с Гиперссылками.
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
Uncle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 93
Зарегистрирован: 26. Июля 2006
Re: Класс "ПоставщикДанных"
Ответ #249 - 29. Октября 2009 :: 15:13
Печать  
vandalsvq писал(а) 29. Октября 2009 :: 13:39:
Пы.сы. (как и в теме про прямые запросы) Я вернулся. Подмигивание


Зергут! Значит пойдут апдейты ,))
  
Наверх
 
IP записан
 
OstapBender
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #250 - 29. Октября 2009 :: 15:43
Печать  
vandalsvq писал(а) 29. Октября 2009 :: 14:10:
Надо в самой процедуре задать ФСО = 0, тогда все должно быть. Код там во всех поставщиках однотипный и просто так неработать не может Улыбка.
Ты же я так понял присваиваешь в строке Процедура ....(...,ФСО = 0). Это бесполезно... вроде.
Жаль счас нет ни одной конфы на данном компе. Позже проверю. Как найду что-нить.

Ты знаешь, пробовал и в процедуре, эффекта это не возымело.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #251 - 29. Октября 2009 :: 16:04
Печать  
Botanik8888 писал(а) 29. Октября 2009 :: 15:09:
респектище за класс
есть хотелка, а точнее просьба если можно пример по работе с Гиперссылками.

Выложу как нить в выходные.

Uncle писал(а) 29. Октября 2009 :: 15:13:
Зергут! Значит пойдут апдейты ,))

Наверняка. Как только текучка разгребется.

OstapBender писал(а) 29. Октября 2009 :: 15:43:
Ты знаешь, пробовал и в процедуре, эффекта это не возымело.

Завтра обещаю разобраться.
  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #252 - 29. Октября 2009 :: 16:11
Печать  
Botanik8888 писал(а) 29. Октября 2009 :: 15:09:
респектище за класс
есть хотелка, а точнее просьба если можно пример по работе с Гиперссылками.

вопрос снят, все проще чем можно было ожидать  Улыбка
и как можно отблагодарить автора?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #253 - 29. Октября 2009 :: 16:33
Печать  
Вот уж не знаю... пить мне еще месяц нельзя.  Смех
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #254 - 30. Октября 2009 :: 08:37
Печать  
OstapBender писал(а) 29. Октября 2009 :: 15:43:
vandalsvq писал(а) 29. Октября 2009 :: 14:10:
Надо в самой процедуре задать ФСО = 0, тогда все должно быть. Код там во всех поставщиках однотипный и просто так неработать не может Улыбка.
Ты же я так понял присваиваешь в строке Процедура ....(...,ФСО = 0). Это бесполезно... вроде.
Жаль счас нет ни одной конфы на данном компе. Позже проверю. Как найду что-нить.

Ты знаешь, пробовал и в процедуре, эффекта это не возымело.

По моему вопросу ничего не прояснилось?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #255 - 30. Октября 2009 :: 10:32
Печать  
OstapBender писал(а) 30. Октября 2009 :: 08:37:
По моему вопросу ничего не прояснилось?

Проверил... даже если в вызове процедуры поставить ФСО = 0 все работает так как ожидается. Т.е. редактирование не наступает.
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #256 - 30. Октября 2009 :: 12:52
Печать  
vandalsvq писал(а) 30. Октября 2009 :: 10:32:
OstapBender писал(а) 30. Октября 2009 :: 08:37:
По моему вопросу ничего не прояснилось?

Проверил... даже если в вызове процедуры поставить ФСО = 0 все работает так как ожидается. Т.е. редактирование не наступает.

Странно... все это происходило (не работало) под одной из учетных записей (права - админ, терминал, dbf). Там же не работают привязки (использую класс "Управление формой"). Под остальными все нормально. Что это может быть? Вообще, ты конечно монстр (в лучшем смысле) Улыбка. Такого нагородить и еще задокументировать. Спасибо огромное за труд.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #258 - 30. Октября 2009 :: 16:33
Печать  
vandalsvq писал(а) 30. Октября 2009 :: 15:26:
Скорее всего под этой самой учетной записью не включился EnableTurboBL. Проверь на всякий случай.

УлыбкаТак оно и было. Спасибо огромное.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Вот нарыл тут недалеко...
Uncle писал(а) 19. Октября 2009 :: 05:49:
1. Хотелось бы иметь таки дерево для справочников ну или хотябы чтоб табличное поле было в виде "Дерево+Таблица"
2. Хотелось бы чтоб работали кнопки Ctrl+PgDn, Ctrl+PgUp для навигации по справочнику
3. Хотелось бы чтоб быстрый поиск для числовых полей работал без ввода лидирующих пробелов
4. Хотелось бы чтоб работал перенос для групп

п.2 точно будет, над п.3 думаю поработаю.
по п.1 дилема делать через ТЗ (FormEx) или через ActiveX. Если честно ни то ни другое особо пока не устраивает. Печаль
п.4 х.з. наверное будет Улыбка

еще что поищу чуть позже...
  

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


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Класс "ПоставщикДанных"
Ответ #260 - 05. Ноября 2009 :: 06:46
Печать  
Ждем с нетерпением.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #261 - 13. Ноября 2009 :: 09:34
Печать  
Новая версия выложена в топе.
3.02.007 от 13.11.09 г.
- Добавлена возможность редактирования ячейки в форме списка.
- Новый публичные атрибут «ИспользоватьСписок» в классе «ПоставщикДанных.ОписаниеТипов».

Пы.сы. были еще изменения не зафиксированные в документации, они связаны с исправлением некоторых найденных багов, и устранении неоднозначности поведения. В общем не суть Улыбка

Из "хотелок" ничего не сделано, зато сделано другое не менее важное. Теперь можно редактировать ячейки в форме списка значений. Т.е. если установить в отбор список то пользователь сможет его просмотреть и при желании отредактировать.

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

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #262 - 13. Ноября 2009 :: 11:34
Печать  
vandalsvq писал(а) 13. Ноября 2009 :: 09:34:
Новая версия выложена в топе.
3.02.007 от 13.11.09 г.
- Добавлена возможность редактирования ячейки в форме списка.
- Новый публичные атрибут «ИспользоватьСписок» в классе «ПоставщикДанных.ОписаниеТипов».

Пы.сы. были еще изменения не зафиксированные в документации, они связаны с исправлением некоторых найденных багов, и устранении неоднозначности поведения. В общем не суть Улыбка

Из "хотелок" ничего не сделано, зато сделано другое не менее важное. Теперь можно редактировать ячейки в форме списка значений. Т.е. если установить в отбор список то пользователь сможет его просмотреть и при желании отредактировать.

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


а можно небольшой пример?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #263 - 13. Ноября 2009 :: 14:12
Печать  
Выложен небольшой "багофикс". Была одна ошибочка в классе ПоставщикДанных.СписокЗначений.
+ В архив добавлен пример для работы с редактированием ячейки посредством списка значений.

  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #264 - 13. Ноября 2009 :: 15:28
Печать  
Спасиб огромное
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #265 - 19. Ноября 2009 :: 12:29
Печать  
Автору - РЕСПЕКТ! присоединяюсь к Zealot'у - будешь в Чите - с меня ресторан))

"1. Хотелось бы иметь таки дерево для справочников ну или хотябы чтоб табличное поле было в виде "Дерево+Таблица"" - сильно хочется - как там, есть подвижки?

И вопрос: Как наиболее красиво реализовать (ну хотя бы в том примере из ТиС) динамическое обновление остатков в ТП?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #266 - 19. Ноября 2009 :: 13:30
Печать  
Я бы наверное добавил кнопку для обновления временной таблицы. И информационное поле для пользователей чтобы видели последнее время обновления остатков. После нажатия кнопки пересчета просто вызывал ОбновитьСтроки.

А по дереву счас подвижек никаких. Некогда.
  

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


I Love YaBB 2!

Сообщений: 145
Зарегистрирован: 19. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #267 - 20. Ноября 2009 :: 08:10
Печать  
Пользовался классом Расш_Журнал. Были некоторые проблемы из которых основной является копирование документов.
В случае с копирование не срабатывает процедура ВводНового - вернее она срабатывает, но после нее копируются все реквизиты документы из док. основания.

Решил попробовать ПоставщикДанных.Журнал - обнаружилась та же проблема. Есть ли пути ее решения? Возможно обходные пути решения?

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


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

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

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


I Love YaBB 2!

Сообщений: 145
Зарегистрирован: 19. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #269 - 20. Ноября 2009 :: 10:46
Печать  
Вот в процедуре документ
Процедура ВводНового(Копирование) //предопределенная
     глЗаполнитьШапку(Контекст);
     УстановитьНовыйНомер("PNA-");
     Пока СтрДлина(СокрЛП(НомерДок)) > 10 Цикл
           НомерДок=Лев(НомерДок,4)+Сред(НомерДок,6);
     КонецЦикла;
     Если Выбран()=0 Тогда
           Подтверждено=0;
           Договор="";
           НомерОригинальный="";      
     КонецЕсли;
     Если Копирование = 1 Тогда
           Возврат;
     КонецЕсли;

  // Дальшее идут  присвоение реквизитов для нового документа не скопированного
КонецПроцедуры

В случае когда документ копируется через ПоставщикДанных.Журнал - данные реквизиты не обнуляются
Подтверждено=0;
Договор="";
НомерОригинальный="";      
  
Наверх
 
IP записан
 
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 записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #285 - 09. Декабря 2009 :: 07:51
Печать  
Здравствуйте.
Имеется журнал, тип: обычный. В состав входят 2 документа (Возврат и АктПриема).

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



Появляются ошибки, вот первая:
ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Meta name parser: неизвестное метаимя или алиас "$ДокАктПриема"

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #286 - 09. Декабря 2009 :: 08:10
Печать  
Pavel.V писал(а) 09. Декабря 2009 :: 07:51:
Сейчас сам пока разбираюсь. С журналами где в составе один документ -- все тип-топ, но с 2 и более -- ошибки.

Как вариант предлагаю поставить РежимОтладки = 1 и все что получиться когда ты его запустишь прикрепить в txt файле.

Пы.сы. у меня не только 2, но и 5 документов работают вполне нормально Улыбка
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #287 - 09. Декабря 2009 :: 08:46
Печать  
Спасибо за быстрый ответ!
Скорее косяк в журнале.
ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Meta name parser: неизвестное метаимя или алиас "$ДокАктПриема"
Не нравится ПоставщикуДанных ДокАктПриема.

Подключил аналогичный журнал с большим составом документов -- все работает.
  
Наверх
GTalkICQ  
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #288 - 09. Декабря 2009 :: 09:23
Печать  
Pavel.V писал(а) 09. Декабря 2009 :: 08:46:
Спасибо за быстрый ответ!
Скорее косяк в журнале.
ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Meta name parser: неизвестное метаимя или алиас "$ДокАктПриема"
Не нравится ПоставщикуДанных ДокАктПриема.

Подключил аналогичный журнал с большим составом документов -- все работает.


Скорее всего нет ни одной графы журнала, которая бы содержала ссылку на реквизит этого документа.
  
Наверх
 
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #289 - 09. Декабря 2009 :: 09:46
Печать  
Цитата:
Скорее всего нет ни одной графы журнала, которая бы содержала ссылку на реквизит этого документа.


Все графы отбора определены. Создал аналогичный журнал, с теми же графами отбора. Блин -- все работает.   Злой
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #290 - 09. Декабря 2009 :: 10:12
Печать  
Pavel.V писал(а) 09. Декабря 2009 :: 09:46:
Все графы отбора определены. Создал аналогичный журнал, с теми же графами отбора. Блин -- все работает.   Злой

Подозрение в чем может быть причина у меня есть. Попробую подтвердить и исправить по мере возможности (до выходных).
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #291 - 13. Декабря 2009 :: 10:54
Печать  
Выложена новая версия:
3.03.005 от 12.12.09 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.002 от 07.12.09 г.
- Исправлена ошибка при получении списка значений поставщика данных «СписокЗначений». Не правильно проставлялись пометки в списке.
- Исправлена ошибка при подготовке запроса объекта «ПоставщикДанных.Журнал» при условии что в него входят документ у которых идентификатор входит в идентификатор другого документа данного журнала. Например: Счет, СчетФактураВыданный.
- Исправлена ошибка при построении строки сортировки у объекта «ПоставщикДанных.Регистр»
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #292 - 16. Декабря 2009 :: 15:19
Печать  
Мысли про связку "Запрос"-"Результат"-"ТП". Всё-таки мне твоя схема не очень нравиться.
1) для поставщика ИндексированнаяТаблица и ТаблицаЗначений можно было сделать метод "АвтоСозданиеКолонок", чтоб не перебирать каждый раз все колонки ИТЗ для создания аналогичных в ТП
2) Ты почему-то делаешь
Код
Выбрать все
Данные.ИндексированнаяТаблица.Объединить(Источник) 

, хотя логичнее было бы так:
Код
Выбрать все
Данные.ИндексированнаяТаблица = Источник 

или так
Код
Выбрать все
Данные.УстановитьИТЗ(Источник) 


3) Если имеем "Данные.УстановитьИТЗ(Источник)", то там же можно автоматом делать и п.1 (авто создание колонок)
4) {поток мыслей} Можно сделать метод "ЗагрузитьИзЗапроса", куда передавать текст Прямого запроса. Этот метод выполняет запрос в ИТЗ и далее п.2.
представь, как может сократиться клиентский код. А задач, где надо отобразить данные, полученные запросом немеряно (по крайней мере у меня).

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #293 - 16. Декабря 2009 :: 15:24
Печать  
JohnyDeath писал(а) 16. Декабря 2009 :: 14:22:
1) для поставщика ИндексированнаяТаблица и ТаблицаЗначений можно было сделать метод "АвтоСозданиеКолонок", чтоб не перебирать каждый раз все колонки ИТЗ для создания аналогичных в ТП

Хорошее предложение по поводу автосоздания колонок. Только вот АвтоСозданиеКолонок как признак мне не очень нравится.

А вот такой вариант:
JohnyDeath писал(а) 16. Декабря 2009 :: 14:22:
4) {поток мыслей} Можно сделать метод "ЗагрузитьИзЗапроса", куда передавать текст Прямого запроса. Этот метод выполняет запрос в ИТЗ и далее п.2.
представь, как может сократиться клиентский код. А задач, где надо отобразить данные, полученные запросом немеряно (по крайней мере у меня).

пне нравится даже больше. Более того я бы сказал что это очень заманчивый вариант. Поскольку открываются большие горизонты по перекладыванию пользовательского кода на классы. Например:
реализация параметра ПрямойЗапрос, в поставщике ИТЗ который может принимать объект ПрямойЗапрос, с которым работает программист. И соответственно создание таблицы по тому результату что дает данный класс. Типизацию колонок поставщика и их создание можно переложить на класс. Т.о. можно избавиться вообще от всех проблем разом, которые ты описал в том сообщении.
Например:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
ПоставщикДанных.ТипЗначений = "ИндексированнаяТаблица";
и т.д.
Данные = ПоставщикДанных.Данные;
ПрямойЗапрос = СоздатьОбъект("ПрямойЗапрос");
ПрямойЗапрос.Текст = "select * from Справочник.Контрагенты";
Данные.ПрямойЗапрос = ПрямойЗапрос;
Данные.ЗаполнитьИзЗапроса(); 


При этом если сам КОП найдет соответствие ИДКолонки - Типизация то он типизирует колонки, если нет, то их тип = Неопределенный.

Вот эта идея мне нравится. Подмигивание
Кстати если начало 10-го года будет реализация пользователи 1С 7.7 еще останутся?  Подмигивание

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

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #294 - 16. Декабря 2009 :: 15:29
Печать  
vandalsvq писал(а) 16. Декабря 2009 :: 15:24:
...Поскольку открываются большие горизонты по перекладыванию пользовательского кода на классы. Например:
реализация параметра ПрямойЗапрос, в поставщике ИТЗ который может принимать объект ПрямойЗапрос, с которым работает программист.

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


только тут возникает маленькая проблема - зависимость класса "ПоставщикДанных" от класса "ПрямойЗапрос"

Про типизацию немного не понял. Какие там могут быть проблемы, если всё типизировано в тексте запроса?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #295 - 16. Декабря 2009 :: 15:32
Печать  
vandalsvq писал(а) 16. Декабря 2009 :: 15:24:
Кстати если начало 10-го года будет реализация пользователи 1С 7.7 еще останутся?  Подмигивание

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #296 - 16. Декабря 2009 :: 15:37
Печать  
vandalsvq писал(а) 16. Декабря 2009 :: 15:24:
Пы.сы. ПрямойЗапрос как атрибут можно не реализовывать, а сделать просто его параметром метода. Причем параметром можно сделать как объект Запрос (1С) так и ПрямойЗапрос (КОП).

А лучше вообще этот параметр сделать строковым и передавать именно строку вида "Запрос1С", "ODBCRecordSet", "Запрос1sqlite", "ПрямойЗапрос" (как-то так).
Тогда решается:
Цитата:
только тут возникает маленькая проблема - зависимость класса "ПоставщикДанных" от класса "ПрямойЗапрос"
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #297 - 16. Декабря 2009 :: 15:47
Печать  
JohnyDeath писал(а) 16. Декабря 2009 :: 15:29:
только тут возникает маленькая проблема - зависимость класса "ПоставщикДанных" от класса "ПрямойЗапрос"

Про типизацию немного не понял. Какие там могут быть проблемы, если всё типизировано в тексте запроса?

1. Я буду 3-мя руками и 5-ю ногами против зависимости поставщика от прямого запроса Улыбка. Модульность должна быть. Избежать на 100% этого не получиться. Но как я писал, если сделать объект-источник - параметром метода, то зависимость уменьшается в разы. А при желании можно допилить до получения объекта ODBC, 1sqlite, Запрос и ПрямойЗапрос.
2. Про проблемы с типизацией - это я про параметры метода НоваяКолонка, там ведь есть ТипВид, Длина, Точность, и эти параметры отвечают за редактирование табличного поля. И про проблему типизации, я говорил именно эту. А не типизацию результата запроса Улыбка
3. А про 10-й год, в смысле на дворе НГ. Вот в каникулы и намечен релиз %). Если все сложится... держим пальцы крестиком Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #298 - 16. Декабря 2009 :: 15:48
Печать  
Мы с тобой говорим почти об одном и том же Подмигивание.
Только мне видится передача не текстов запросов, и видов этих объектов, а самих объектов. Чтобы КОП забирал результат, выводил его и работал с ним как с "собственноручно созданным". Подмигивание
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #299 - 16. Декабря 2009 :: 15:56
Печать  
В твоем случае пользовательского кода на 2 строчки больше  Смех
Но твой вариант более универсальный и не надо нести большую ответственность в твоем классе за разные типы ПрямыхЗапросов (да и потяжелее это будет)
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #300 - 16. Декабря 2009 :: 15:57
Печать  
vandalsvq писал(а) 16. Декабря 2009 :: 15:47:
3. А про 10-й год, в смысле на дворе НГ. Вот в каникулы и намечен релиз %). Если все сложится... держим пальцы крестиком Подмигивание

Все на новый год печень сажают, а ты глаза и пальцы? Непорядок!  Очень довольный
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #301 - 16. Декабря 2009 :: 16:03
Печать  
Пока ты тут и пока я жду ЗП, напишу еще хотелку в порядке бреда.
Может в класс поставщикДанных добавить метод инициализации первичных параметров, чтоб не размазывать одно и тоже в разных модулях на несколько строк, входными параметрами которого являлись бы "КонтейнерТП", "КонтейнерПанельки", "ТипЗначения" ну и т.п.
Что-то типа:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
Данные = анели"...); 


?
Или это уже слишком?  Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #302 - 16. Декабря 2009 :: 16:32
Печать  
JohnyDeath писал(а) 16. Декабря 2009 :: 16:03:
Или это уже слишком?  Улыбка

Не то чтобы слишком, но я прикинусь что не читал этого Подмигивание

В порядке заманухи скажу что у меня родилась идея реализации механизма УсловноеОформление. Если знаком с 8.2 то поймешь, если нет, то глянь в 8.2. Конечно это нагрузит немного запросы для ТП, но думаю что использование сделаю "опциональным".
  

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


1C++ rocks!

Сообщений: 3
Зарегистрирован: 16. Декабря 2009
Re: Класс "ПоставщикДанных"
Ответ #303 - 17. Декабря 2009 :: 11:33
Печать  
Всем добрый день!
Давно уже перешел на 8-ку (точнее на 8.2), но появилась подработка и там стоит 7.7 ТиС переписанная. Очень мне захотелось подцепить 1с++, так как в свое время я пропустил этот кусок + хочется все таки не отходить от 8-ки Улыбка 1с++ использую первый раз! Поэтому после подцепления классов и запуски обработки "ИндексированнаяТаблица" выдает вот такую ошибку -
КонтекстФормы = я() <<?>>.ПолучитьКонтекстОкружения(). Функция я() не известна. Ткните пожалуйста что надо подключить и/или добавить в конфу чтобы этот класс заработал? Так же интересует класс "Прямые запросы". Так что если там тоже просто так его не подключить скажите что надо доделать.
Спасибо заранее!
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #304 - 17. Декабря 2009 :: 14:01
Печать  
Какая версия 1С++?
  
Наверх
 
IP записан
 
Skazy
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 16. Декабря 2009
Re: Класс "ПоставщикДанных"
Ответ #305 - 17. Декабря 2009 :: 14:11
Печать  
Версия dll 2.0.3.7
Блина! Когда написал понял свою ошибку!!!!
Хм... а где можно скачать последние версии 1с++ и formex?
На оффе, откуда я качал, стоит та же версия что и у меня.
Полазил по данному форуму, и честно, не нашел откуда скачать последнюю версию 1cpp.dll Подскажите пожайлста!
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #306 - 17. Декабря 2009 :: 14:35
Печать  
www.1cpp.ru - icpp:latest
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #307 - 17. Декабря 2009 :: 14:36
Печать  
На главной странице есть ссылка на страничку загрузки (текущая последняя версия 3.0.1.23)
FormEx здесь
  
Наверх
 
IP записан
 
Skazy
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 16. Декабря 2009
Re: Класс "ПоставщикДанных"
Ответ #308 - 17. Декабря 2009 :: 15:27
Печать  
Спасибо большое! Скачал поставил - заработало!!! Обалдеть! Выглядит как 8-ка!! А учитывая возможности OpenConf + раскраска текста + 1с++ + formex!!! Удобнее 8 -ки получается. (Только одно минус - 8.2 и тонкий клиент ;( )
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #309 - 17. Декабря 2009 :: 15:45
Печать  
Небольшая поправка. Поддержка версии 3.0.1.23 не реализована. Все забываю про это, и лень маленько. Но обязательно исправлюсь чтобы добавить события с использованием Ctrl, Alt, Shift и прочее.
Так что моя рекомендация 3.0.1.22. Когда будет поддержка 3.0.1.23 сообщу обязательно.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #310 - 17. Декабря 2009 :: 15:47
Печать  
И еще, ссылки на внешние компоненты добавил в топ.
Спасибо JohnyDeath и Salimbek за ответы в теме. Я днем если честно как правило по самые помидоры занят.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #311 - 17. Декабря 2009 :: 20:24
Печать  
В связи с некоторыми весьма критичными исправлениями в классе ПрямойЗапрос выпустил слегка внеплановый релиз:
3.03.006 от 18.12.09 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.005 от 18.12.09 г.
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #312 - 30. Декабря 2009 :: 12:04
Печать  
На базе SQL. При выполнении команды "Движения документа"

Сообщения об ошибке в  ПОСТАВЩИКДАННЫХ.ДВИЖЕНИЯДОКУМЕНТА  на:

1)
Код
Выбрать все
order by planid, number 

"Invalid column name 'planid'."
строка №214. Ошибка убирается путем удаления planid

2)
Код
Выбрать все
СчетДт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетДт); 

"Ошибка в типе передаваемого параметра метода (2)"
строка №238 Ошибка убирается путем удаления:
Код
Выбрать все
 СчетДт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетДт);
СчетКт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетКт);
 



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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #313 - 30. Декабря 2009 :: 12:32
Печать  
По первой согласен. По второй проверю.
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #314 - 04. Января 2010 :: 12:51
Печать  
Не могу понять как работают события: ПередПроведением, ПередОтменойПроведения и т.п. В ветке выше нашел пост похожий, модуль формы грузится не из TurboMD.
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #315 - 04. Января 2010 :: 17:01
Печать  
А в чем непонятки? Эти два события созданы для отражения пользовательских действий. И они вызываются как и все события ТП. Т.е. ИдентификаторКонтейнераИмяСобытия().
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #316 - 05. Января 2010 :: 10:56
Печать  
Элемент управления на форме для ТП: "КонтейнерТП".

Пытаюсь перехватить событие "ПередОтменойПроведения"

Делаю так:
Код
Выбрать все
Процедура КонтейнерТППередОтменойПроведения(Объект,ФСО)
 Если Вопрос("Отменить проведение документа?",4,30)<>6 Тогда
   ФСО = 0;
 КонецЕсли;
КонецПроцедуры
 



почему не выполняется метод я понял:
Код
Выбрать все
Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда 



в списке методов информатор не имеет метода "КонтейнерТППередОтменойПроведения"

ТурбоБЛ влключен.
« Последняя редакция: 05. Января 2010 :: 12:26 - Pavel.V »  
Наверх
GTalkICQ  
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #317 - 05. Января 2010 :: 18:57
Печать  
Привет всем!
Использую ваш класс в документе. Поставщиком данных является инд. ТЗ, использую событие ПередНачаломИзменения(Элемент, ФСО). Заметил вот какой глюк: если открываю первый раз форму документа, то это событие не отрабатывает. Стоит закрыть документ и открыть еще раз -- все работает как надо и событие вызывается. Что делать?
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #318 - 05. Января 2010 :: 19:43
Печать  
Подскажите, как выводить в колонке пиктограммы-флажки, не смог разобраться в документации.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #319 - 05. Января 2010 :: 22:42
Печать  
zk96, Что касается пиктограмм то они устанавливаются в событии ПриВыводеСтроки, только перед этим для колонки надо установить набор пиктограмм соответствующий.
Флажки выводятся автоматом для тех колонок у которых тип Число с длиной = 1 и точностью = 0.
Если надо самостоятельно, то принцип как и у картинок. Счас примеров под рукой нет, позже напишу.
Ivan, тест бы. Создай конфу с одним документом и там сделай поставщика чтобы я мог проверить.
Pavel.V, сделай тест. А то у меня я не помню чтобы такие проблемы были.
  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #320 - 06. Января 2010 :: 10:24
Печать  
Пример с выводом пиктограмки:

Процедура гиона)
     Если (ТипРегиона = 3)  Тогда
           ОформлениеЯчейки = ОформлениеСтроки.Ячейки.Получить("ЭтапК");
           Попытка
                 ЗначениеЯчейки = ДанныеСтроки.Получить("ЭтапК");
                 ОформлениеЯчейки.ИндексКартинки = ЗначениеЯчейки;
           Исключение
           КонецПопытки;
           ОформлениеЯчейки.ОтображатьКартинку = 1;
           ОформлениеЯчейки.ОтображатьТекст = 0;
     КонецЕсли;
КонецПроцедуры // ТП_ЖурналЗаявок
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
Botanik8888
Junior Member
**
Отсутствует


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #321 - 06. Января 2010 :: 10:31
Печать  
+ при инициализации поставщика необходимо добавить:
       //ПД_ЖурналЗаявок -- объект поставщик данных
     Данные = ПД_ЖурналЗаявок.Данные;

       //здесь убран код для примера он ненужен Улыбка

     Картинка = СоздатьОбъект("Картинка");
     Картинка.Загрузить(<<имя файла пиктограмм>>);

     Колонки = Данные.ТабличноеПоле.Колонки;
     Колонка = Колонки.Добавить("ЭтапК");
     Колонка.Имя = "ЭтапК";
     Колонка.Данные = "ЭтапК";
     Колонка.Заголовок = "";
     Колонка.Ширина = 16;
     Колонка.ИзменениеРазмера = 0;
     Колонка.УстановитьКартинкиСтрок(Картинка,16);
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #322 - 06. Января 2010 :: 12:50
Печать  
Привожу пример, в котором в моей конфигурации не отрабатывает перехват событий в журнале.
  

________________002.ert ( 56 KB | Загрузки )
Наверх
GTalkICQ  
IP записан
 
Botanik8888
Junior Member
**
Отсутствует


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #323 - 06. Января 2010 :: 13:23
Печать  
Pavel.V писал(а) 06. Января 2010 :: 12:50:
Привожу пример, в котором в моей конфигурации не отрабатывает перехват событий в журнале.


в обработке попробуй:
вместо:  Процедура КонтейнерТППередОтменойПроведения(ТабличноеПоле,ФСО)
поставить
КонтейнерТППередОтменойПроведения(ФСО)

там один параметр.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #324 - 06. Января 2010 :: 14:37
Печать  
Botanik8888 писал(а) 06. Января 2010 :: 13:23:
там один параметр.

Ужас
Ох них#ра се косяк. Надо бы его исправить... а обратная совместимость... хм...  Смущённый
  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #325 - 06. Января 2010 :: 14:45
Печать  
в доке все это есть, где косяк?

ПередОтменойПроведения
Синтаксис: ПередОтменойПроведения(ФСО)
Параметры:
•      ФСО – флаг стандартной обработки
Описание: Методы вызывается при попытке отмены проведения. При установке ФСО = 0 отмены проведения не произойдет.
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
Botanik8888
Junior Member
**
Отсутствует


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #326 - 06. Января 2010 :: 14:46
Печать  
или я что-то упустил?
  

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


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

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

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #328 - 06. Января 2010 :: 15:04
Печать  
тогда расхождение в доке получается наверн или что-то я напутал
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #329 - 06. Января 2010 :: 15:19
Печать  
Во всей документации все события указаны без 1-го параметра. По сути то что написано 1-м, на самом деле идет вторым параметром.
Так что скорее напутал Улыбка. Чем ошибка.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #330 - 06. Января 2010 :: 15:31
Печать  
vandalsvq и Botanik8888 спасибо за подсказку  Очень довольный
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #331 - 06. Января 2010 :: 16:04
Печать  
Pavel.V писал(а) 06. Января 2010 :: 12:50:
Привожу пример, в котором в моей конфигурации не отрабатывает перехват событий в журнале.

Проверил на своей конфе, проблем не обнаружено.
  

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


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

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

3.03.007 от 20.12.09 г.
- Добавлен новый метод «ЗагрузитьИзОбъекта» объекта-расширения поставщика данных «ПоставщикДанных.ИндексированнаяТаблица». Основная задача – автоматическое формирование табличного поля, загрузка и отображение данных соответствующих объектов. Возможные объекты: ПрямойЗапрос, Запрос, ТаблицаЗначений.
- Добавлена возможность редактирования колонок с типом Субконто и ВидСубконто у объекта-расширения «ПоставщикДанных.ИндексированнаяТаблица».
- Для колонок с неустановленной типизацией, при редактировании тип и вид значения определяется по значению ячейки. Объект: «ПоставщикДанных.ИндексированнаяТаблица».

3.04.001 от 07.01.10 г.
- Для всех объектов-расширений табличного поля добавлена расширенная поддержка событий клавиатуры. Подробнее см. в разделах «События клавиатуры» соответствующего расширения.
- В расширениях табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» изменен принцип быстрого поиска.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.006 от 11.01.10 г.

Прошу обратить внимание что совершен переезд на 1С++ версии >= 3.0.1.23. Обновление компоненты обязательно. В противном случае работоспособность не гарантируется.
« Последняя редакция: 08. Января 2010 :: 18:59 - vandalsvq »  

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


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

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

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

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #334 - 07. Января 2010 :: 08:09
Печать  
vandalsvq писал(а) 05. Января 2010 :: 22:42:
zk96,
Ivan, тест бы. Создай конфу с одним документом и там сделай поставщика чтобы я мог проверить.

Конфа в архиве, там в общем журнале один документ Формирование цен. Колонка Номенклатура не должна редактироваться, но как только документ открыт -- она редактируется, если открыть его второй раз -- то все ок. Используются 1CPP и FormEx.

Попробовал сейчас последние версии FormEx и Поставщика -- то же самое...  Печаль
« Последняя редакция: 07. Января 2010 :: 09:28 - Ivan »  

_______________001.zip ( 1239 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #336 - 07. Января 2010 :: 12:05
Печать  
vandalsvq писал(а) 07. Января 2010 :: 11:10:
Посмотрю завтра. Сегодня не могу. Улыбка

Спасибо. А почему в событиях нет, например, ПриОкончанииРедактирования, как в 8.1? Там удобно пересчитывать другие другие колонки строки...

По моей проблеме выше: с первого открытия окна не отрабатывает ни одно событие табличного поля. Сейчас пробовал ПередОкончаниемРедактирования -- так же начинает работать после второго открытия.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #337 - 07. Января 2010 :: 13:01
Печать  
Вообще ПриОкончанииРедактирования = ПриРедактированииЗначения. Дело в том что данное событие существовало изначально в ТП. И создавать дополнительное событие не хотелось, нет смысла плодить дублирующий функционал.
По твоей проблеме, скорее всего проблема не в классе, ибо у меня одна конфигурация в которой все формы на поставщике написаны работает как часы.
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #338 - 08. Января 2010 :: 06:40
Печать  
vandalsvq писал(а) 07. Января 2010 :: 13:01:
Вообще ПриОкончанииРедактирования = ПриРедактированииЗначения. Дело в том что данное событие существовало изначально в ТП. И создавать дополнительное событие не хотелось, нет смысла плодить дублирующий функционал.
По твоей проблеме, скорее всего проблема не в классе, ибо у меня одна конфигурация в которой все формы на поставщике написаны работает как часы.

1. По событию ПриОкончанииРедактирования понятно, спасибо.
2. Да, возможно я что-то не так делаю... Но пока непонятно что. Улыбка
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #339 - 08. Января 2010 :: 14:57
Печать  
А как управлять созданием диалогом отбора? Я имею ввиду если при заполнении строк диалога отбора ОтборРеквизита.ИзменятьИспользование=0, то просто невыводить строку и тому подобное. Можно ли это сделать программно? Можно конечно залезть
непосредственно в обработку и там это сделать, но может есть какой-то другой способ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #340 - 08. Января 2010 :: 16:07
Печать  
zk96 писал(а) 08. Января 2010 :: 14:57:
А как управлять созданием диалогом отбора? Я имею ввиду если при заполнении строк диалога отбора ОтборРеквизита.ИзменятьИспользование=0, то просто невыводить строку и тому подобное. Можно ли это сделать программно? Можно конечно залезть
непосредственно в обработку и там это сделать, но может есть какой-то другой способ?


Пока никак нельзя управлять. И есть предположение что наврядли можно будет. Единственное что в скором времени добавлю новый атрибут колонки реквизита коллекции Отбор - НеПоказывать. Вот он будет управлять видимостью отбора в таблице. Такая необходимость назрела давно. Руки не доходили и запамятовал малость.
« Последняя редакция: 08. Января 2010 :: 18:17 - vandalsvq »  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #341 - 08. Января 2010 :: 16:23
Печать  
атрибут колонки НеПоказывать - это прекрасное решение. Буду ждать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #342 - 08. Января 2010 :: 18:22
Печать  
В новом поиске есть одна проблемка (актуальна для SQL формата БД). Будет поправлена в ближайшее время.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #343 - 08. Января 2010 :: 18:46
Печать  
Выложена новая версия.
3.04.002 от 08.01.10 г.
- Добавлен новый атрибут коллекции "Отбор" - Видимость.
- Исправлены некоторые ошибки быстрого поиска.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #344 - 08. Января 2010 :: 18:56
Печать  
По результатам рассмотрения ошибки описанной товарищем Ivan
Ivan писал(а) 05. Января 2010 :: 18:57:
Привет всем!
Использую ваш класс в документе. Поставщиком данных является инд. ТЗ, использую событие ПередНачаломИзменения(Элемент, ФСО). Заметил вот какой глюк: если открываю первый раз форму документа, то это событие не отрабатывает. Стоит закрыть документ и открыть еще раз -- все работает как надо и событие вызывается. Что делать?

Могу сказать только одно. Производите загрузку ВК 1С++, FormEx и пр. в методе ПриНачалеРаботыСистемы. И будет вам счастье.
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #345 - 11. Января 2010 :: 08:02
Печать  
Да! Загрузка ВК при старте 1С помогла, спасибо!
Но вот еще непонятно с колонками, подскажите, пожалуйста, кто знает:
мне надо отключить автоширину колонок, т.е. чтобы их ширина была как я задал в свойстве, пусть даже все колонки на форму не влазят. А по факту получается их ширина делается пропорционально той, которую я задал. при этом колонки сжимаются, чтобы влезть все на форму, а их дофига...  Озадачен
  
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #346 - 11. Января 2010 :: 08:08
Печать  
vandalsvq писал(а) 26. Августа 2009 :: 19:35:
Чтобы работ отбор по родителям, видам для выбора, владельцам и выбор групп необходимо:
Для динамического изменения параметров:
1. Добавить обработку событий ПередНачаломИзменения в модуль формы где расположен поставщик
2. Установить значения атрибутов соответствующего элемента коллекции "Реквизиты".
Для постоянного значения параметров
1. После создания поставщика установить значения атрибутов соответствующего элемента коллекции "Реквизиты".

Например:
Код
Выбрать все
РеквизитОсновнойДоговор = ПоставщикДанных.Данные.Реквизиты.ОсновнойДоговор;
РеквизитОсновнойДоговор.Владелец = ПоставщикДанных.ТабличноеПоле.ТекущаяСтрока;
РеквизитОсновнойДоговор.ВыборГруппы = 1; 



Я так понимаю этот фокус работает только в "ПоставщикДанных.Справочник". А нельзя-ли это вынести в родительский класс "ПоставщикДанных.ТабличноеПоле"? IMHO логично получится. Ведь реквизит типа Справочник существует не только в Справочниках но и в Документах ..... Мне к примеру понадобилось в ИТЗ владельца "зафиксировать".
  
Наверх
ICQ  
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #347 - 11. Января 2010 :: 11:21
Печать  
Ап!
По автоширине колонок никто что ли не подскажет?
  
Наверх
 
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #348 - 11. Января 2010 :: 11:55
Печать  
В ПоставщикДанных.ТабличноеПоле есть процедура ВосстановитьПозициюКолонок(). Возможно натолкнет на мысли.
  
Наверх
GTalkICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #349 - 11. Января 2010 :: 12:16
Печать  
Саш, вот такое вылезло:
Класс: ПоставщикДанных.Справочник - ошибка синтаксиса
Строка №1545      ПрямойЗапрос.РежимОтладки = глРежимОтладки<<?>>;
Переменная не определена (глРежимОтладки)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


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

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

В родительский класс - не верно, поскольку редактирование происходит в конкретном разрешении, вот пусть конкретное разрешение за это и отвечает. Другое дело что это неправильно с точки зрения строения всей конструкции. Но тогда и Отбор надо бы вынести в ТабличноеПоле.
Что собственно так и будет сделано.
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #352 - 11. Января 2010 :: 16:35
Печать  
Pavel.V писал(а) 11. Января 2010 :: 11:55:
В ПоставщикДанных.ТабличноеПоле есть процедура ВосстановитьПозициюКолонок(). Возможно натолкнет на мысли.

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #353 - 11. Января 2010 :: 18:42
Печать  
Ivan писал(а) 11. Января 2010 :: 08:02:
Да! Загрузка ВК при старте 1С помогла, спасибо!
Но вот еще непонятно с колонками, подскажите, пожалуйста, кто знает:
мне надо отключить автоширину колонок, т.е. чтобы их ширина была как я задал в свойстве, пусть даже все колонки на форму не влазят. А по факту получается их ширина делается пропорционально той, которую я задал. при этом колонки сжимаются, чтобы влезть все на форму, а их дофига...  Озадачен

Посмотри атрибут АвтоШирина у КолонкаТабличногоПоля.
  

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


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

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

3.04.004 от 12.01.10 г.
- Коллекции «Отбор» и «Реквизиты» стали атрибутами объекта «ПоставщикДанных.ТабличноеПоле».
- Параметры, заданные в коллекции «Реквизиты» влияют на редактирование в окне поиска значений.
- Добавлена обработка события клавиатуры Ctrl+F3. При нажатии осуществляется поиск вниз по таблице по ранее выбранным параметрам.
- В список колонок расширения «ПоставщикДанных.Журнал» добавлены общие реквизиты документов без признака «Отбор».
- В коллекцию «Отбор» у расширений «ПоставщикДанных.Документы» и «ПоставщикДанных.Журнал» добавлена колонка «ТекущийДокумент».
- У всех объектов-расширений табличного поля добавлена поддержка коллекции «Реквизиты». При этом список полей зависит от объекта-расширения и не обязательно совпадает с коллекцией «Отбор».

3.04.003 от 11.01.10 г.
- Изменена форма быстрого поиска.
- В расширениях табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» исправлена ошибка при позиционировании на колонке в методе «НайтиЗначение».
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #355 - 11. Января 2010 :: 23:32
Печать  
Есть одна просьба, если желающие есть откликнитесь пожалуйста.
У меня не хватает ни времени, ни сил на доработку документации. В последнее время с трудом нахожу время на документирование всех изменений и их "описание".  Плачущий
Прошу у кого есть возможность допишите часть документации по недостающим объектам-расширениям.  Улыбка

Пы.сы. если у кого есть силы на als - это вообще круто будет.  Подмигивание
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #356 - 13. Января 2010 :: 06:29
Печать  
Привет всем!
Принес конфу, где есть документ на поставщике, на работу. Там в тестовой базе объединил md, и снова перестали работать события по редактированию значений в ТП! Работает только событие ПриВыводеСтроки!
Все длл грузятся ПриНачалеРаботыСистемы, сначала 1cpp, затем formex. Что делать, как быть?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #357 - 13. Января 2010 :: 06:36
Печать  
Ivan писал(а) 13. Января 2010 :: 06:29:
Привет всем!
Принес конфу, где есть документ на поставщике, на работу. Там в тестовой базе объединил md, и снова перестали работать события по редактированию значений в ТП! Работает только событие ПриВыводеСтроки!
Все длл грузятся ПриНачалеРаботыСистемы, сначала 1cpp, затем formex. Что делать, как быть?

Посмотри EnableTurboBL
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #358 - 13. Января 2010 :: 07:47
Печать  
Спасибо! УправлениеНастройками.Установить("EnableTurboBL", 1) помогло!  Улыбка Может добавить этот нюанс в документацию по поставщику?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #359 - 13. Января 2010 :: 08:38
Печать  
Неее... пускай это будет эксклюзивные знания  Смех
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #360 - 13. Января 2010 :: 08:47
Печать  
vandalsvq писал(а) 13. Января 2010 :: 08:38:
Неее... пускай это будет эксклюзивные знания  Смех

Может прям конструктор это добавишь? Ведь не первый человек паникует Подмигивание
  
Наверх
 
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #361 - 13. Января 2010 :: 09:03
Печать  
Я наверное уже всех тут задолбал, но не могу разобраться с шириной колонок. Помогите кто чем может.  Круглые глаза
Пример во вложении, там создаются 10 колонок по 100 пикс. шириной. Но при открытии они делаются по 40 шириной, чтобы влезть на форму. Если зайти в настройку колонок и вручную изменить там ширину на 100, то все делается как надо: колонки расширяются и появляется горизонтальный скроллер.
Видимо есть еще какое-то тайное знание для этого!  Улыбка
  

_______________________001_001.ert ( 100 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #362 - 13. Января 2010 :: 09:06
Печать  
JohnyDeath писал(а) 13. Января 2010 :: 08:47:
Может прям конструктор это добавишь? Ведь не первый человек паникует Подмигивание

В объект "ПоставщикДанных" вполне. Постараюсь в следующем релизе не забыть.

НАРОД: откликнитесь как вам обработка поиска (которая в последней версии)? Менять конечно я ее наврядли буду, если только по делу будут пожелания. Кстати вполне возможно использование обработки поиска сделать опциональным. Но меня она устраивает пока.

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #363 - 13. Января 2010 :: 09:13
Печать  
2 Ivan
Я вот писал... ты не видел/пробовал?
vandalsvq писал(а) 11. Января 2010 :: 18:42:
  

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


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #364 - 13. Января 2010 :: 09:32
Печать  
vandalsvq писал(а) 13. Января 2010 :: 09:13:
2 Ivan
Я вот писал... ты не видел/пробовал?
vandalsvq писал(а) 11. Января 2010 :: 18:42:


Спасибо, я видел, но честно не понял, как оно мне поможет. Свойство ведь имеет доступ только чтение.  Озадачен
  
Наверх
 
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #365 - 13. Января 2010 :: 09:34
Печать  
Спасибо! Кажется дошло, надо к АвтоШирине добавить нужную ширину колонки! Попробовал -- вроде получается, но вот логику такого не очень понял пока  Озадачен
  
Наверх
 
IP записан
 
Botanik8888
Junior Member
**
Отсутствует


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #366 - 13. Января 2010 :: 21:52
Печать  
vandalsvq писал(а) 13. Января 2010 :: 09:13:
2 Ivan
Я вот писал... ты не видел/пробовал?
vandalsvq писал(а) 11. Января 2010 :: 18:42:

Ближайшие дня 2 постараюсь оттестировать и опробовать, с временем беда Печаль ни на что нету, к отпуску хвосты подчищаю.
ЗЫ: по поводу просьбы по дополнению документации если с отпуском все получится, то постараюсь дополнить, но обещать на 100% не буду.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #367 - 14. Января 2010 :: 04:02
Печать  
Botanik8888 писал(а) 13. Января 2010 :: 21:52:
Ближайшие дня 2 постараюсь оттестировать и опробовать, с временем беда Печаль ни на что нету, к отпуску хвосты подчищаю.
ЗЫ: по поводу просьбы по дополнению документации если с отпуском все получится, то постараюсь дополнить, но обещать на 100% не буду.

То что откликнулся - это уже хорошо. А получиться будет еще лучше.  Улыбка
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #368 - 16. Января 2010 :: 21:37
Печать  
vandalsvq, Вы изменили быстрый поиск. А есть возможность его отключать, если это необходимо, ну нужен в некоторых случаях старый вариант быстрого поиска, и можно ли управлать списком возможных полей по которым ведется поиск, чтобы не отображать их(как в отборе Видимость) ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #369 - 16. Января 2010 :: 22:32
Печать  
zk96 писал(а) 16. Января 2010 :: 21:37:
vandalsvq, Вы изменили быстрый поиск. А есть возможность его отключать, если это необходимо, ну нужен в некоторых случаях старый вариант быстрого поиска, и можно ли управлать списком возможных полей по которым ведется поиск, чтобы не отображать их(как в отборе Видимость) ?

Да изменил. Использование поиска чуть позже сделаю опциональным. Списком полей пока управлять нельзя. Но будет можно, через коллекцию Реквизиты.
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #370 - 18. Января 2010 :: 09:55
Печать  
При создании нового документа из журнала. В 1 из 10 случаев может открыться вместе с новым документом существущий. Замечено, открывается документ на котором был последний раз курсор.
Замечали ли такое кто-нибудь?
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #371 - 18. Января 2010 :: 09:56
Печать  
Pavel.V писал(а) 18. Января 2010 :: 09:55:
При создании нового документа из журнала. В 1 из 10 случаев может открыться вместе с новым документом существущий. Замечено, открывается документ на котором был последний раз курсор.
Замечали ли такое кто-нибудь?

Подобных жалоб еще не было. Попробую потестить.

Пы.сы. счас к сожалению я снес винду на компе (Win7 поехал обратно к гейтсу, вернулся XP SP3). Поэтому ни 1С ни чего другого не настроил еще Улыбка.
  

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


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #372 - 19. Января 2010 :: 09:42
Печать  
Цитата:
При создании нового документа из журнала. В 1 из 10 случаев может открыться вместе с новым документом существущий. Замечено, открывается документ на котором был последний раз курсор.
Замечали ли такое кто-нибудь?


Решилось путем очистки настроек пользователя в его каталоге.
Тем не менее глюк был.
  
Наверх
GTalkICQ  
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных"
Ответ #373 - 19. Января 2010 :: 11:53
Печать  
Попробовал использовать класс с формой списка справочника и
столкнулся со следующими проблемами:
1.При удалени либо снятии пометки удаления не задается контрольный вопрос.
2.F9 - не копирует группы (элементы копирует)
 CTRL + Вверх - при выходе из группы хотелось бы, что бы курсор оставался на той группе из кторой вышли, а не убегал в самый верх
 CTRL + Вниз - у меня почему то не работает.
3. Почему нельзя переместить группу в другую группу?
4. Возникла необходимость добавить служебное поле в запросе.
 В ПриПолученииЗапроса добовляю к запросу нужное поле и join для получения этого поля. Но как это поле добавить в поставщик данных ТП?. При добавлении колонки к ТП и установки Видимости в 1 поле добавляется к поставщику данных, но мне то Видимость не нужна. Пришлось задействовать свойство Параметр колонки ТП и внести изменения в  процедуру УстановитьПоставщикаДанных() класса ПоставщикДанных.Справочник на предмет проверки при добавления поля в поставщик данных не только свойства Видимость колонки ТП, но свойства Параметр.
Может быть есть попроще способ добавления служебных полей в ТП?

1С++ 3.0.1.25
Formex 2.0.5.97
MS SQL 2005
1C 7.70.27

« Последняя редакция: 19. Января 2010 :: 15:14 - Bill »  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #374 - 19. Января 2010 :: 16:23
Печать  
Bill
1. Подмигивание
2. Группа не копируется, потому что (если честно) лень писать рекурсию по копированию элементов в группе (подгрупп и т.д.). Что касается Ctrl+Вверх/Вниз - проверю.
3. А вот фиг знает. Забылось чтоли Улыбка
4. Чего то я или плохо читал или что. Ты хочешь чтобы поле появилось в самом объекте расширении? (ну чтобы было в настройке, отборе и т.д.) к сожалению на текущий момент только добавление колонки к ТП стандартным (для ТП) образом. Но нигде она не учавствует. Интерфейс не реализован, да и не планировался. А как дело с подобными "нуждами" в 8-ке обстоит?
  

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


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных"
Ответ #375 - 19. Января 2010 :: 16:38
Печать  
Мне нужно сделать текстовое поле, и заполнить его данными из запроса поставщика,  но не на основе стандарнтных полей запроса, а на основе тех, которые я сам добавил в запрос в ПриПолученииЗапроса.
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных"
Ответ #376 - 19. Января 2010 :: 16:56
Печать  
В принципе я это реализовал
В ПослеСозданияФормы()
Код
Выбрать все
...
ДанныеСпр = ПоставщикДанных.Данные;
...
ТабличноеПоле = ДанныеСпр.ТабличноеПоле;

Колонки = ТабличноеПоле.Колонки;
Колонка = Колонки.Добавить("СостояниеФЛ");
Колонка.Данные = "СостояниеФЛ";
Колонка.Видимость = 0;
Колонка.Заголовок = "СостояниеФЛ";
Колонка.ИзменениеРазмера = 0;
Колонка.ИзменятьВидимость = 0;
Колонка.Параметр = 1;

Колонка = Колонки.Добавить("ДатаПриема");
Колонка.Данные = "ДатаПриема";
Колонка.Видимость = 0;
Колонка.Заголовок = "ДатаПриема";
Колонка.ИзменениеРазмера = 0;
Колонка.ИзменятьВидимость = 0;
Колонка.Параметр = 1;

Колонка = Колонки.Добавить("ДатаУвольнения");
Колонка.Данные = "ДатаУвольнения";
Колонка.Видимость = 0;
Колонка.Заголовок = "ДатаУвольнения";
Колонка.ИзменениеРазмера = 0;
Колонка.ИзменятьВидимость = 0;
Колонка.Параметр = 1;

Колонка = Колонки.Добавить("Состояние");
Колонка.Данные = "";
Колонка.Видимость = 1;
Колонка.Заголовок = "Состояние";
Колонка.ИзменениеРазмера = 1;
Колонка.ИзменятьВидимость = 1;
Колонка.Ширина = 50;
...
 



А в ПоставщикДанных.Справочник
в УстановитьПоставщикаДанных()

Код
Выбрать все
...
Если ТипЗначенияСтр(Колонки) = "КолонкиТабличногоПоля" Тогда
	Для НомерКолонки = 0 По Колонки.Количество() - 1 Цикл
		Колонка = Колонки.Получить(НомерКолонки);
		//Изменения Bill
		//Было:
		//Если Колонка.Видимость = 1 Тогда
		//Стало:
		Если (ПустоеЗначение(Колонка.Данные)=0) И ((Колонка.Видимость = 1) ИЛИ (Колонка.Параметр=1)) Тогда
		//Конец изменений
			Поле = ПоставщикДанных.Поля.Добавить(Колонка.Данные);
			//Добавления Bill
			Если Колонка.Параметр=1 Тогда
				Поле.Автоудаление = 0;
			КонецЕсли;
			//Конец добавлений
			Если ТипЗначенияСтр(Поле) = "ПолеДанныхODBC" Тогда
				Поле.ТипБыстрогоПоиска = 1;
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
КонецЕсли;
...
 



В итоге получилось , что в колонке "Состояние" выводятся данные, полученные на основе "СостояниеФЛ", "ДатаПриема" и "ДатаУвольнения"
Причем "СостояниеФЛ", "ДатаПриема" и "ДатаУвольнения"
я добавляю в запрос в ПриПолученииЗапроса
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных"
Ответ #378 - 19. Января 2010 :: 17:18
Печать  
Да я просто думал, может штатно есть.

Еще вопрос, при быстром поиске нельзя ли сделать так, что бы в поле "Что искать" при открытии были те буквы которые начали набирать с клавиатуры?
А то не очень удобно, нужно сначала стереть текущее значение, а потом набрать новое.
  
Наверх
 
IP записан
 
ndvl
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 7
Зарегистрирован: 19. Мая 2009
Re: Класс "ПоставщикДанных"
Ответ #379 - 20. Января 2010 :: 10:52
Печать  
Нашел небольшой баг. Все началось оттого, что в справочнике не отрабатывались некоторые комбинации клавиш. Покопавшись в коде "ПоставщикДанных.Справочник" нашел это:

Процедура ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО) Экспорт
     ФлагShift = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_SHIFT);
     ФлагCtrl = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_CONTROL);
     КлавишаВверх = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_UP);
     КлавишаВниз = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_UP);

Последняя строка получает состояние клавиши Вверх, а не Вниз

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


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

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

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

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


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных"
Ответ #381 - 20. Января 2010 :: 12:36
Печать  
Еще предложение:
В ПоставщикДанных.Справочник в процедуру ПриИзмененииРодителя внести дополнения:
Код
Выбрать все
...
//Добавление
ТекКолонка=ТабличноеПоле.ТекущаяКолонка;
Если ФлагРазворачивания=0 Тогда
	СтарРодитель=РодительВерхнегоУровня;
КонецЕсли;
//Конец добавлений

РодительВерхнегоУровня = ЭлементРодитель;
ТабличноеПоле.Обновить();

//Добавление
Если ФлагРазворачивания=0 Тогда
		     ТабличноеПоле.ТекущаяСтрока=СтарРодитель;
КонецЕсли;
ТабличноеПоле.ТекущаяКолонка=ТекКолонка;
//Конец добавлений
...
 

  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #382 - 20. Января 2010 :: 12:51
Печать  
Автор, посмотри метод "ЗагрузитьИзОбъекта" - так он называется в документации, в "Поставщике...ИндексированнаяТаблица" он значиться "ЗаполнитьИзОбъекта". Может у меня глюки Очень довольный. В том же методе ошибка (строка 535)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

3.04.005 от 21.01.10 г.
- При установке флага «ТолькоПросмотр» = 1 у объекта «ПоставщикДанных.ТабличноеПоле» элементы справочника или формы документа открываются в режиме «ТолькоПросмотр».
- В расширениях табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» инициализация и вызов обработки поиска осуществляется в событии «ПриБыстромПоиске». При этом введенное значение пользователем сохраняется и передается в форму.
- Новые атрибуты «СтандартныйБыстрыйПоиск» и «ВыводитьПустуюДату» объекта «ПоставщикДанных.ТабличноеПоле».
- При переходе по уровням справочника объекта «ПоставщикДанных.Справочник» табличное поле старается остаться на текущей колонке.
- Новые методы «НайтиДалее» и «НайтиНазад» в расширениях табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр». Параметры отсутствуют. Поиск осуществляется по последним значениям использованным в поиске.
- Новый атрибут «ПоискЗначения» коллекции «Реквизиты» (атрибут «Реквизиты») объекта «ПоставщикДанных.ТабличноеПоле».
- Доработана документация класса. Исправлены некоторые ошибки, добавлены описания некоторых параметров.
- Исправлены некоторые ошибки выявленные в версии 3.04.004 от 12.01.10 г.
  

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #384 - 20. Января 2010 :: 21:44
Печать  
Прошу прощения, сюда ты видимо забыл заглянуть
Процедура ЗаполнитьИзОбъекта(Объект = "",Параметр = "") Экспорт
     Если ПустоеЗначение(Объект) = 1 Тогда
           Возврат;
     КонецЕсли;
     
     Если Врег(ТипЗначенияСтр(Объект)) = Врег("ПрямойЗапрос") Тогда
           ЗаполнитьИзОбъектаПрямойЗапрос(Объект);
     ИначеЕсли Врег(ТипЗначенияСтр(Объект)) = Врег("Запрос") Тогда
           ЗаполнитьИзОбъектаЗапрос(Объект);
     ИначеЕсли Врег(ТипЗначенияСтр(Объект)) = Врег("ТаблицаЗначений") Тогда
           ЗаполнитьИзОбъектаЗапрос(Объект); //Здесь наверное надо  ЗаполнитьИзОбъектаТаблицаЗначений(Объект);
     КонецЕсли;
КонецПроцедуры
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Да... Просто задачи другие стояли. Написал себе в todo на ближайшее время.  Подмигивание
  

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #386 - 21. Января 2010 :: 18:48
Печать  
Сделал табличные поля в форме списка справочника "Контрагенты" как в конфигурации "Скат". Странно прямой запрос отрабатывает медленней чем банальный перебор и запихивание данных в таблицу значений и последующий вывод в табличное поле. Так и должно быть или я где-то туплю. База дбф.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #387 - 21. Января 2010 :: 19:10
Печать  
Antonio писал(а) 21. Января 2010 :: 18:48:
Сделал табличные поля в форме списка справочника "Контрагенты" как в конфигурации "Скат". Странно прямой запрос отрабатывает медленней чем банальный перебор и запихивание данных в таблицу значений и последующий вывод в табличное поле. Так и должно быть или я где-то туплю. База дбф.

Вообще то не должно быть. Работа по сети, в терминале или на локалке? Можно режим отладки посмотреть. Короче информации для рассмотрения заявки мало Подмигивание.

Пы.сы. отзовитесь DBF-щики. У кого есть проблемы?
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #388 - 22. Января 2010 :: 06:57
Печать  
Antonio писал(а) 21. Января 2010 :: 18:48:
Сделал табличные поля в форме списка справочника "Контрагенты" как в конфигурации "Скат". Странно прямой запрос отрабатывает медленней чем банальный перебор и запихивание данных в таблицу значений и последующий вывод в табличное поле. Так и должно быть или я где-то туплю. База дбф.

Не выложишь что получилось? Хочу на SQL посмотреть - а то мне хочется с ТЗ попробовать перевести на ПрямойЗапрос. Заодно посмотрю - может запросы маленько не оптимально написаны.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #389 - 22. Января 2010 :: 07:33
Печать  
leshik писал(а) 22. Января 2010 :: 06:57:
Не выложишь что получилось? Хочу на SQL посмотреть - а то мне хочется с ТЗ попробовать перевести на ПрямойЗапрос. Заодно посмотрю - может запросы маленько не оптимально написаны.

В самих расширениях "ПоставщикДанных.ВидРасширения" я считаю запросы достаточно оптимальны. Используются родные индексы, строки сортировок (ключи) устанавливаются в соответствии со стандартным порядком 1С. Х.з. может где-то промазал. Но пока ни от кого жалоб о производительности не поступало.  Озадачен
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #390 - 22. Января 2010 :: 07:35
Печать  
Я ни в коем случае не говорю что в поставщике они написаны не оптимально. Это все от моей малой ознакомленности с классом.
Проще говоря - дайти плиз пример (на основе СКАТ-а было бы идеально) использования класса Круглые глаза
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #391 - 22. Января 2010 :: 07:42
Печать  
leshik писал(а) 22. Января 2010 :: 07:35:
Я ни в коем случае не говорю что в поставщике они написаны не оптимально. Это все от моей малой ознакомленности с классом.
Проще говоря - дайти плиз пример (на основе СКАТ-а было бы идеально) использования класса Круглые глаза

Вышли СКАТ на vandalsvq[собака]rambler.ru я напишу парочку примеров
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #392 - 22. Января 2010 :: 07:48
Печать  
Ок. Тестовую базу подготовлю - вышлю.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #393 - 22. Января 2010 :: 07:57
Печать  
leshik писал(а) 22. Января 2010 :: 07:48:
Ок. Тестовую базу подготовлю - вышлю.

Только попроще плиз. Чтобы поменьше надо было разбираться в особенностях  Класс
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #394 - 22. Января 2010 :: 08:20
Печать  
>Только попроще плиз. Чтобы поменьше надо было разбираться в особенностях 
Поэтому и говорю что подготовлю - чтобы сразу развернул - там чуть чуть элементов, чуть-чуть документов Улыбка
  
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #395 - 22. Января 2010 :: 15:20
Печать  
Выслал конфу. Извини что с dll выслал, просто их там куча чтобы ты не тратил время на поиск.
Вечерком сяду - буду осваивать классы "ПоставщикДанных" и "ПрямойЗапрос" в комплексе.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #396 - 23. Января 2010 :: 08:09
Печать  
leshik, я отправил тебе конфигурацию.
Для удобства реализации парочку своих классов положил, да ВК (1sqlite). Все остальные ВК удалил, уж сам добавишь. Как и классы "ПоставщикДанных" и "ПрямойЗапрос"
В архиве лежит обработка. Реализовано подобие вашего справочника "Контрагенты" (формы списка).
Обработка не оптимизирована, например я бы не стал делать инициализацию всех закладок в момент создания формы. А только при переходе на них (соответственно и обновление тоже). Во-первых - это экономия ресурсов, во-вторых если реализовывать настройку пользователей с целью видимости/невидимости закладок не прийдется дополнительно заниматься оптимизацией.
Закладка история - реализована как у вас. Т.е. заполняется каждый раз. На самом деле можно было выкрутиться созданием журнала со списком документов которые там отображаются + поставщик соответствующий. В общем поле для оптимизации там большое. И необходимость есть. Время на создание контролов всех - весьма большое, поэтому при первом открытии может немного "долго" показаться. Кстати есть там переменная СообщатьВремя, если поставить = 1 то будет говорить о времени создания и обновления.
Пы.сы. возможны ошибки. Я если честно на DBF писал. Кстати класс "ПоставщикДанных" лучше обновить.
Пы.пы.сы. ответ писал с другого ящика.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #397 - 23. Января 2010 :: 08:09
Печать  
Выложил новую версию:

3.04.006 от 26.01.10 г.
- Исправлены незначительные недочеты при построении запросов для объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр».
- Исправлена ошибка при заполнении объекта «ПоставщикДанных.ИндексированнаяТаблица» из таблицы значений методом «ЗаполнитьИзОбъекта».
- Исправлена ошибки при заполнении объекта «ПоставщикДанных.ИндексированнаяТаблица» из прямого запроса методом «ЗаполнитьИзОбъекта»

Брать обязательно. Улыбка
  

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #398 - 23. Января 2010 :: 08:33
Печать  
vandalsvq, а не сложно будет и мне скинуть пример, что ты делал для leshik а (или leshik поделись Круглые глаза). Если не секрет сколько у тебя ушло времени на написание сего шедевра + документация? admon [гав] ukr.net
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #399 - 23. Января 2010 :: 08:54
Печать  
Antonio, обработку выложил. Конфигурацию пускай leshik дает  Подмигивание.

Собственно сколько времени на сам класс ушло сложно сказать. Ведь все развивалось по примитивному. Первая версия (ее никто не видел и не знал) основывалась на поставщике с типом ТаблицаЗначений. Собственно прямым запросом (тогда еще класс ПрямойЗапрос я не написал) считывались данные и пихались в ТЗ которая выводилась в ТП. Ни фильтров, ни чего либо другого не было. Потом меня естественно напрягать стало быстродействие данного класса. Я решил опробовать поставщика ODBC. Понравилось. Где-то в тоже время появился SQLiteDataProvider. Вот тогда родилась идея написать универсального поставщика через прямые запросы (класс ПрямойЗапрос опять таки не был задействован). Х.з. по датам как это было. Буквально за 3 месяца до публикации его в сети. А далее можно все почитать по Истории версий в самой документации.
Почему тяжело считать, потому что я писал эти ПоставщикДанных и ПрямойЗапрос одновременно с одной конфигурацией (в которой все и обкатывал) + работа + другая работа + много другой работы  Очень довольный. В общем по моим подсчетам на в целом Поставщику с самого его зарождения уже около 1,5 лет. Но в том виде что он сейчас не более 1 дня  Смех
  

skat_example.ert ( 62 KB | Загрузки )

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #400 - 23. Января 2010 :: 08:59
Печать  
Обстоятельный ответ Улыбка За обработку спасибо. И когда ты только все успеваешь – и  в фонтаны нырять, и на танцах драться? (Афоня)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #402 - 28. Января 2010 :: 13:08
Печать  
Не понял, как использовать ПоставщикДанных.ТабличнаяЧасть.
По умолчанию есть только НомерСтроки.
Не могу добавить колонки табличной части.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #403 - 28. Января 2010 :: 15:16
Печать  
В табличной части есть три поля
одно из них "Краска"  (Справочник.Материалы)
Добавляю колонку вот таким образом
Данные = ПоставщикДанныхТабЧастьДока.Данные;
Колонки = Данные.Колонки;
Колонка = Колонки.Добавить("Краска");
Колонка.Данные = "Краска";
Колонка.Видимость = 1;
Колонка.Заголовок = "Краска";
Колонки то появляется и строки тоже,но пустые и ввести в них значения не получается
И также с другими полями.
Что я не так делаю?
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #404 - 28. Января 2010 :: 15:40
Печать  
С трудом, но разобрался сам. Оказывается Табличная часть документа должна быть на форме. А я ж думал, если мы ее заменяем табличным полем, то зачем ей быть на форме, ну и убрал ее.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Ну просто есть расчетные колонки там, да и делалась она чтобы просто скрыл реальную ТЧ и заменил. А дальше верти крути как хошь.
В общем так повелось еще с х.з. какой первой версии самого поставщика Улыбка
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #406 - 28. Января 2010 :: 19:40
Печать  
Цитата:
Ну просто есть расчетные колонки там, да и делалась она чтобы просто скрыл реальную ТЧ и заменил.

Поди ж догадайся сразу Улыбка  Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #407 - 04. Февраля 2010 :: 11:37
Печать  
Изменил рекомендацию по ВК 1sqlite в связи с выходом новой версии. Скажем спасибо Александру Орефкову.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #408 - 07. Февраля 2010 :: 10:51
Печать  
vandalsvq, у меня к Вам вопрос. Как я понял в своих конфигурациях Вы заманенили стандартные журналы, своими. Как Вы отрвбатываете событие когда пользователь в настройках меняет период отображения журналов? В стандартных открытых журналах период изменяется автоматически, это можно как-то перехватить?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #409 - 07. Февраля 2010 :: 17:34
Печать  
zk96 писал(а) 07. Февраля 2010 :: 10:51:
vandalsvq, у меня к Вам вопрос. Как я понял в своих конфигурациях Вы заманенили стандартные журналы, своими. Как Вы отрвбатываете событие когда пользователь в настройках меняет период отображения журналов? В стандартных открытых журналах период изменяется автоматически, это можно как-то перехватить?

Мои пользователи не на столько "продвинутые" Улыбка поэтому я не заморачивался на таких мелочах. Как правило есть справочник "Пользователи" который хранит кучу индивидуальных настроек для каждого пользователя в связи с чем все уже забыли что такое "стандартный" механизм Улыбка.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #410 - 07. Февраля 2010 :: 22:18
Печать  
Спасибо за ответ. И огромное спасибо за класс, решил очень много поблем и не пришлось самому заморачиваться Смех. Если будете в Киев-граде, маякните, буду рад встрече и найду способвысказать благодарность Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Пы.сы. меня тут пользователи одолевают чтобы поиск стандартный 1С-вский работал. Заколебали блин Печаль. Или говорит верни нам обычный быстрый поиск только чтобы учитывал текущую позицию. Я бы реализовал. Но у меня непонятка. Как быть с реквизитами типа "Справочник". Не совсеми же справочниками join-ться. А вычислять все возможные виды чтобы потом к ним присобачиться, это тоже "не комильфо". Вот и получается, [число, дата, строка, перечисление, справочник с видом], а по другим полям никак. В принципе можно и сделать.
Видимо в скором времени появится новая версия с багофиксами (накопал тут малость пока делал одну работку).
  

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


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #412 - 10. Февраля 2010 :: 12:02
Печать  
ну, во-первых. респектище.

ну и во-вторых.
побаловался с интерактивной настройкой порядка колонок(из контекстного меню), сначала неправильно показывало колонки, потом просто отвалилося:
Код
Выбрать все
Колонки.Сдвинуть(ТекущийИндекс,-1);
{...\ПОСТАВЩИКДАННЫХ\ПОСТАВЩИКДАННЫХ.НАСТРОЙКАТАБЛИЧНОГОПОЛЯ.ERT(141)}: Недопустимые параметры. 

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #413 - 10. Февраля 2010 :: 16:16
Печать  
EugenVitla писал(а) 10. Февраля 2010 :: 12:02:
сначала неправильно показывало колонки, потом просто отвалилося

Историю "успеха" расскажи. А то мне играться не охото. Наигрался  Подмигивание
  

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


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #414 - 10. Февраля 2010 :: 21:44
Печать  
а легко. то было в моей конфе, для перепроверки взял демку, приложенную на первой странице ветки. DBF не использую вообще, посему sqlite выпилил, остальные ВК нарыл последних версий и отскладировал куда надо.
создал sql базу, все взлетело с первого тыка. порадовало, кстати, очень. уважаю, это ж сколько труда положено.
создал контрагента, прилепил к нему два договора. ткнул "настройка списка" из контекстного меню списка договоров в карточке контрагента. выделяю строку "пиктограмма", стрелками на тулбаре перемещаю вниз.
таким макаром в настройке порядок такой: Код, Пиктограмма, Наименование, Владелец.
а в списке договоров колонки порядок не поменяли: Пиктограмма, Код, Наименование, Владелец.
тут на ошибку не вылетает, но если дергать порядок полей дальше - оно таки на эту ошибку выпадает. достаточно рандомно подергать до крайних положений.
  

position-err.png ( 20 KB | Загрузки )
position-err.png
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Пы.сы. не знаю завести себе багтреккер Улыбка
  

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


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #416 - 11. Февраля 2010 :: 06:54
Печать  
мантис Улыбка http://www.mantisbt.org/
в меру легкий, быстрый, простой.
в потроха, правда, не лазал, но работает практически из коробки.
говорят, что как-то даже к svn прикручивается.
а вот с багзиллой у меня почему-то не срослось. слишком много неиспользуемых обязательных полей.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #418 - 11. Февраля 2010 :: 07:00
Печать  
Нее, уж лучше Redmine.
А чтобы вообще не заморачиваться с первичной установкой, инициализацией и т.п. есть простой установщик http://bitnami.org/stack/redmine (тамже есть и образы виртуальных машин)
  
Наверх
 
IP записан
 
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #419 - 11. Февраля 2010 :: 07:01
Печать  
это по идее уже оффтопик, но сейчас становится самому крайне нужно. дома комп, в дороге нетбук, на работе комп.
а проекты одни и те же.
автономные файлы? версионник? rsync? так ведь еще и настройки софтин таскать туда-сюда приходится. я пока для себя адекватного средства синхронизации не нашел Печаль
а ты как выкручиваешься?
  
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #420 - 11. Февраля 2010 :: 07:11
Печать  
EugenVitla писал(а) 11. Февраля 2010 :: 07:01:
так ведь еще и настройки софтин таскать туда-сюда приходится. я пока для себя адекватного средства синхронизации не нашел Печаль

Очень выручает https://www.dropbox.com/ . После установки на нужных компах, появляется "системная" папка этой приблуды, которая синхронизируется с хранилищем в интернете. Также можно заходить в это хранилище браузером. Хранятся вся история изменений файлов, т.е. можно вытащить документ на любую дату.

Саша, извиняй за ОФФ.
  
Наверх
 
IP записан
 
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #421 - 11. Февраля 2010 :: 08:59
Печать  
JohnyDeath писал(а) 11. Февраля 2010 :: 07:11:
EugenVitla писал(а) 11. Февраля 2010 :: 07:01:
так ведь еще и настройки софтин таскать туда-сюда приходится. я пока для себя адекватного средства синхронизации не нашел Печаль

Очень выручает https://www.dropbox.com/ .
Небезопасно Печаль Весьма и весьма. Я конечно понимаю, что кому я нафиг нужен со своим хламом, но у меня там по идее должны синхронизироваться и достаточно приватные файлики. А тут - левый внешний сервер. опастносте...

кто может - утащите плиз эти месажки в отдельную тему в курилку, а то сейчас флуд начнется Улыбка
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

3.04.007 от 09.02.10 г.
- Исправлены незначительные недочеты при построении запросов для объекта-расширения табличного поля «ПоставщикДанных.Справочник».
- Исправлены некоторые недочеты в методе «НайтиЗначение» при поиске по реквизиту = реквизиту сортировки табличного поля.
- Новый атрибут «Пометка» элемента коллекции «Кнопка» объекта «ПоставщикДанных.КоманднаяПанель».
- Незначительная оптимизация. При настройке отбора, в случае закрытия формы без сохранения перестроение ТП не происходит.

3.04.008 от 12.02.10 г.
- Исправлены некоторые ошибки попытки поиска Далее, Назад при отсутствии колонки и значения поиска.
- Убрана обработка событий клавиатуры Ctrl+Enter (вызов формулы кнопки-контейнера).
- При открытии обработки поиска курсор позиционируется в конце строки. При этом если поиск по колонке с типом «Строка» тогда активизируется поле поиска значения, иначе поле поиска по подстроке.
- Исправлена ошибка добавления групп справочника объекта-расширения табличного поля «ПоставщикДанных.Справочник» если «ТолькоПросмотр» у объекта «ПоставщикДанных.ТабличноеПоле» равен 1.
- Если записи объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» заблокированы. То выдается соответствующее предупреждение и форма открывается в режиме ТолькоПросмотр.
- Исправлены некоторые ошибки версии 3.04.007 от 09.02.10 г.
- Исправлена ошибка при настройки колонок табличного поля.

Ошибок исправлено много, так что однозначно надо переходить. + обработка поиска с позиционированием (!!!) в конце вводимой строки повышает удобство ее использования.  Подмигивание
  

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


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

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

Пы.сы. кто пользовался УправлениеФормой у меня вышло обновление. Добавил обработку ПриЗакрытии чтобы запоминать размер и позицию окна. Соответственно потом восстановление происходит. Кому надо напишите я выложу здесь. ЭлементыФормы.ПолеHTMLДокумента тоже изменилось. Впрочем его наверное никто не использовал ни разу.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #424 - 11. Февраля 2010 :: 20:34
Печать  
Кстати родилась идея как можно сделать нормальный быстрый поиск (чтобы и позицию учитывал и искал как надо) вот только реализовывать мне пока некогда. Кратко предыстория. Я бы не стал париться и делать форму обработки быстрого поиска если бы не одно "но". Реквизиты без указания Вида. Поскольку с остальными можно совладать, то вот с ними есть проблема. Как например искать элемент справочника если вид не указан. С остальными то все просто. Select top 1.... From.... Left Join.... Where..... Order By. В принципе счас НайтиЗначение так и работает только без Left Join поскольку ищет конкретное значение.
Так вот решение данной проблемы я вижу такое... начинает пользователь набирать "абвгде" потом обработка поиска проверяет тип и вид и если не может однозначно определить таблицу соединения просит пользователя указать какая именно таблица будет использоваться (т.е. вываливает окно выбора вида). Естественно надо учитывать настройки заданные в коллекции Реквизиты. Ну в общем как то так Улыбка. Решил написать чтобы потом не забыть.
Может руки дойдут.  Круглые глаза

Пы.сы. перечитал и сразу зародилось несколько вопросов, сначала юзвер набрал "а", сработал быстрый поиск (он выбрал вид справочника), потом к "а" добавил "б" система должна спрашивать его по какому виду искать или должна запомнить предыдущий выбор? И тот и другой вариант имеют право на жисть.  Класс
  

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


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #425 - 11. Февраля 2010 :: 21:25
Печать  
а нельзя определить, какие именно виды реквизитов УЖЕ попали в текущую выборку, и быстро искать по уже известным Видам?
  
Наверх
IP записан
 
novichek
Экс-Участник


Re: Класс "ПоставщикДанных"
Ответ #426 - 12. Февраля 2010 :: 03:19
Печать  
на самом деле мож все-таки как-то так: сначала
Код
Выбрать все
Select DISTINCT LEFT(ИмяРек13,4) FROM что-то  


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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #427 - 12. Февраля 2010 :: 04:10
Печать  
2 EugenVitla и novichek
Список видов я считаю (раз уж 1С не додумалась в далеких лохматых указывать при создании реквизита) должен указать сам программист. Поэтому select ... from ... как приведено выше я считаю избыточным. Т.е. по просту не нужным. Интерфейс есть уже сейчас для этого.
А что касается временной таблицы (и дальнейших опусов с триггером и т.д.), оставлю это на усмотрение желающих. Ведь можно СтандартныйБыстрыйПоиск = 1, а далее перехватываешь все как тебе захочется и делаешь что хочешь.  Подмигивание

Пы.сы. я все к чему, слишком много вопросов рождает реализация данной "идеи". А разбираться с этими мыслями в текущей жизненной ситуации я не готов. Не то время, не то место, не тот человек.  Озадачен
  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #428 - 12. Февраля 2010 :: 10:26
Печать  
vandalsvq писал(а) 11. Февраля 2010 :: 20:21:
Ну а теперь, со спокойной душой - сон час и малость поболею.

Пы.сы. кто пользовался УправлениеФормой у меня вышло обновление. Добавил обработку ПриЗакрытии чтобы запоминать размер и позицию окна. Соответственно потом восстановление происходит. Кому надо напишите я выложу здесь. ЭлементыФормы.ПолеHTMLДокумента тоже изменилось. Впрочем его наверное никто не использовал ни разу.

конечно надо. очень удобно...
  

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


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

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

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #430 - 13. Февраля 2010 :: 23:45
Печать  
Я с хотелкой. Было бы неплохо добавить РежимВыбора как у объекта ПоставщикДанных.Справочник и в другие объекты,в ПоставщикДанных.Документ, в ПоставщикДанных.Журнал.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #431 - 15. Февраля 2010 :: 16:24
Печать  
Немного оптимизации и по просьбам трудящихся:

3.04.009 от 15.02.10 г.
- Форма выбора периода изменена. При выборе даты начала или окончания возвращается пустая дата (Дата(0001,1,1) и Дата(0001,12,31) соответственно).
- Форма отбора изменена в связи с изменениями формы выбора. Изменено отображение периода если дата начала или дата окончания без ограничений.
- Добавлен РежимВыбора в объект-расширение табличного поля «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал».
- Изменен принцип построения строки отбора, если ВидСравнения = Интервал и тип значений = Дата.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.008 от 15.02.10 г.

Оптимизация заключается в том, что ранее интервал даже без ограничений = с 1/1/1973 по 31/12/2073, соответственно если одна из границ была = без ограничений условие было аналогичным с подстановкой 1973 или 2073.
Счас реализовано следующим образом:
- Без ограничений = Без отбора
- Без ограничений + Дата окончания = МеньшеИлиРавно Дата окончания
- Дата начала + Без ограничений = БольшеИлиРавно ДатаНачала
Мелочь конечно, но меня давно напрягало.  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #432 - 15. Февраля 2010 :: 19:55
Печать  
В связи с возникающими вопросами у некоторых пользователей КОП поясняю следующий момент:
- для того чтобы не было проблем со строковыми реквизитами неограниченной длины (обновление, отображение) в силу требований к запросу со стороны ODBC, а также текущего правила составления текста запроса в КОП, в текущей версии 3.04.009, данные колонки должны быть добавлены ПОСЛЕДНИМИ в форму списка. Т.о. проблем с отображением возникать не будет. В будущих релизах данная проблема ВОЗМОЖНО будет решена.

Но поскольку гарантии в наш век слишком дорого стоят, я говорю о возможном решении, а не гарантированном. Подмигивание Надеюсь ни у кого не возникает по этому поводу претензий.  Круглые глаза

Пы.сы. при температуре 37.5 сложно правильно формулировать свои мысли.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #433 - 15. Февраля 2010 :: 20:02
Печать  
Оперативно! vandalsvq, Вы молодчага!От души благодарю и , думаю, не только я! Конечно,можно и самому для себя было сделать, сложно ли в одном месте чужой код скопировать, а в другое место в чужой код вставить, для таких манипуляций моего скудного ума хватило бы.
Но правильно, когда объект поддерживает его создатель.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #434 - 15. Февраля 2010 :: 21:08
Печать  
zk96 писал(а) 15. Февраля 2010 :: 20:02:
Оперативно! vandalsvq, Вы молодчага!От души благодарю и , думаю, не только я!

Спасибо. Подмигивание
  

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


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

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

3.04.010 от 21.02.10 г.
- Изменение параметра «Значение» в событии «ПередОкончаниемРедактирования» у соответствующих объектов расширений табличного поля будет учтено при записи. И стандартной обработкой записи запишется именно это значение.
- Кнопка «Найти» в форме поиска сделана кнопкой по умолчанию для формы.
- Кнопка «Выбрать…» в форме выбора группы справочника (для переноса в другую группу) сделана кнопкой по умолчанию для формы.
- Добавлена возможность перемещения группы в другую группу у объекта-расширения табличного поля «ПоставщикДанных.Справочник».
- Добавлены три новые пиктограммы в набор пиктограмм панели управления. "Подбор", "ПометитьВыделенныеСтроки", "СнятьПометкиВыделенныхСтрок". Некоторые пиктограммы стали более контрастными для удобства пользователей.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #436 - 23. Февраля 2010 :: 18:41
Печать  
Чем болше морда и живот, тем крепче армия и флот. Всех нас с праздником ЗАЩИТНИКА ОТЕЧЕСТВА.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


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

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

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #439 - 25. Февраля 2010 :: 10:13
Печать  
Хотел попробовать разобраться со всей этой системой, но сразу напоролся на непонятное.
Взял пример из первых сообщений, со справочником "Контрагенты" но работать на моей конфигурации он не захотел. При инициализации ругается:
Код
Выбрать все
ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : Meta name parser: неизвестное метаимя или алиас "$sc133"
ПоставщикДанных.УстТекстЗапроса(ТекстЗапроса); 


Поковырявшись в коде, обнаружил, что в справочнике "Контрагенты" есть реквизит с идентификатором "Индекс", и при подготовке запроса конструкция вида
Код
Выбрать все
	,$sc133.Индекс AS [Индекс $Строка] 

преобразуется к
Код
Выбрать все
	,$sc133.INDEX AS [INDEX $Строка] 


вместо ожидаемого
     ,sc133.SP27903 AS [INDEX $Строка]
извиняюсь,
Код
Выбрать все
	,sc133.SP27903 AS [Индекс $Строка] 


что и вызывает вышеописанную ошибку.

Отсюда вопросы:
- в каких случаях ключевое слово прямого запроса может следовать непосредственно за символами "." и/или "[" ?
- если таких случаев нет, можно-ли исключить такие ситуации при парсинге ключевых слов?
  
Наверх
 
IP записан
 
Botanik8888
Junior Member
**
Отсутствует


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #440 - 25. Февраля 2010 :: 12:52
Печать  
vandalsvq писал(а) 25. Февраля 2010 :: 04:14:
Хотелось спросить, кто-нибудь пользуется возможностью изменения запросов в поставщиках данных?

пользуемся, очень полезный функционал
  

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


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

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

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #442 - 25. Февраля 2010 :: 14:49
Печать  
Хорошо. Еще вопрос про отображение в ТП реквизитов с типом строка неограниченной длины. Сейчас отображается пустая колонка. База -  SQL. Может, ее в запросе не брать как есть, а кастануть, скажем, в varchar?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Пы.сы. в общем на самом деле кастануть и все будет нормально.  Подмигивание
« Последняя редакция: 26. Февраля 2010 :: 04:45 - vandalsvq »  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #444 - 26. Февраля 2010 :: 08:38
Печать  
И еще обновление...

3.04.012 от 26.02.10 г.
- Исправлена ошибка при которой колонки с типом «Строка» неограниченной длины в объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал» не отображалась если не являлись последними в табличном поле (SQL формат БД).
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.011 от 26.02.10 г.

Мама, мама, я хочу на волю... отпусти меня....
  

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #445 - 26. Февраля 2010 :: 08:48
Печать  
2vandalsvq а класс управление формы где посмотреть в новой редакции можно?
  

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


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

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

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


I Love 1C++

Сообщений: 37
Местоположение: РБ Минск
Зарегистрирован: 13. Декабря 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #447 - 26. Февраля 2010 :: 09:24
Печать  
Ждем.... спасибо Улыбка
  

И разобьются ваши мечты о чугунную задницу реальности
Наверх
ICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #448 - 27. Февраля 2010 :: 15:01
Печать  
vandalsvq, Вы забыли убрать в ПоставщикДанных.Журнал  (процедура СформироватьТекстЗапросаСписка() ) вывод отладочной информации.
  
Наверх
 
IP записан
 
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #449 - 01. Марта 2010 :: 08:10
Печать  
Со строкой неограниченной длины вроде все хорошо, но... CAST при преобразовании к символьному типу по дефолту устанавливает длину результата в 30 символов, что не всегда удобно. Можно ли вынести длину результата куда-нибудь в настройки?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #450 - 01. Марта 2010 :: 08:40
Печать  
Типа параметра длина строки неограниченной длины Улыбка))
Я кстати не заметил что до 30 режет. Может лучше поставить varchar(max) и все... вроде должно помочь
http://msdn.microsoft.com/ru-ru/library/ms176089.aspx
  

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #451 - 01. Марта 2010 :: 11:38
Печать  
А оно с max на версиях SQL до 2005 будет работать?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Пы.сы не проканает. Чет я ступил. А может тогда просто 8000 и баста? Улыбка Я понимаю это "в лоб". Но лишний параметр Печаль не хочу
  

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #453 - 01. Марта 2010 :: 12:01
Печать  
Можно и 8000 попробовать Улыбка
Вот только как оно будет работать с точки зрения ресурсов - другой вопрос...
  
Наверх
 
IP записан
 
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #454 - 01. Марта 2010 :: 12:04
Печать  
2 vandalsvq
А можно попросить примерчик организации формы справочника на 2-х ТП, с имитацией дерева групп? Где-то в ветке видел упоминание, хотелось бы взглянуть на реализацию.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #455 - 01. Марта 2010 :: 12:13
Печать  
Слушай а нафига так много. Подсказка не многострочная, ТП тоже. Максимум 500 символов и никто дальше читать не станет. ИМХО. А то и вообще 200-400. Предлагаю на нечто среднем сойтись. Типа 400. Не много и не мало. Самый паровоз.
Что касается дерева и таблицы, пример будет некорректен ибо некрасиво реализован был и вообще лишь единожды. На самом деле счас я бы сделал это в виде TreeView + ТП. В Дерево можно и запросом все вытащить. Можно подумать и над оптимизацией с точки зрения не считывать все, а только первый уровень + развернутые. Ну как то так.
  

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #456 - 01. Марта 2010 :: 12:17
Печать  
Во! Поэтому я и предложил вытащить наружу параметр Улыбка Чтобы программист сам решал, сколько ему надо - 30, 200, 400, 500 или 8000 Улыбка
Вообще для того справочника, на котором я это дело сейчас испытываю - достаточно 200 за глаза. Но вот что встретится дальше - скрыто в тумане неизвестности Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #457 - 01. Марта 2010 :: 12:34
Печать  
Ладно я подумаю, а пока сделаю или 300 или 400. Как настроение будет. Будет хорошее станет 300, будет плохое - 400. Если придумаю то вынесу в атрибут элемента коллекции Реквизиты.
  

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



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #458 - 02. Марта 2010 :: 19:42
Печать  
При запуске в терминале подсказки к кнопкам на командной панели показывает кракозяблами. Ни у кого нет мыслей, как забороть?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #459 - 04. Марта 2010 :: 20:24
Печать  
Поскольку вопрос быстрого поиска встал очень остро я сделал двухвариантый подход. Стандартный я доработал. Теперь он может искать по Справочник.Вид, Строка, Число, Дата (ГГГГММДД вводить). При этом учитывает позицию, сортировку и наложенные отборы.
Реализованный ранее механизм (внещняя форма) вызывается при нажатии Ctrl+F.

3.04.013 от 05.03.10 г.
- Длина полей неограниченной длины обрезается до 300 при выводе.
- Новый публичный метод БыстрыйПоискПоПодстроке(ИмяКолонки, Подстрока, ТекущиеДанные) и ОткрытьФормуПоиска() у объектов-расширений «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал». Осуществляет поиск и позиционирование на строке с найденным значением.
- Модифицирован быстрый поиск у объектов-расширений «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал». Интерфейс без использования дополнительной формы. Ее можно вызвать отдельно. Также быстрый поиск учитывает текущую строку позиционирования, сортировку и наложенные отборы. Типы для быстрого поиска: Строка, Число, Дата, Справочник с указанным видом.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #460 - 04. Марта 2010 :: 20:27
Печать  
Дальнейшее развитие поиска будет в виде поиска по перечислениям.
Безвидовых справочников не будет. Документов тоже.
По мне так Отбор + поиск куда более приятный чем все что есть в стандартной 1С 7.7. Но, к сожалению, некоторые люди считают иначе.
Что ж, их право.
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #461 - 06. Марта 2010 :: 10:23
Печать  
А возможна ли работа класса без установленного Office? Может можно каким-то образом OCX зарегистрировать? Просто не хотелось бы в терминал устанавливать office.
  
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #462 - 06. Марта 2010 :: 11:15
Печать  
Ну собственно путем изысканий стало понятно что требуются:
comctl32.ocx
FM20.DLL
FM20ENU.DLL
mscomctl.ocx

Регистрируется через regsvr32 все кроме FM20ENU.DLL.
А вот победить
Цитата:
Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
Пока не получается
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #464 - 07. Марта 2010 :: 08:30
Печать  
vandalsvq писал(а) 07. Марта 2010 :: 08:07:
На самом деле Офис не обязательно оставлять. Можно просто поставить и снести, а компоненты все останутся.
+ у меня где то валяется инстальник этих ocx. В принципе можно поискать.

Да собственно перечень компонент и регистрацию comdlg32.dll то уже получилось сделать. Вопрос в том насколько это правомерно с точки зрения microsoft.
А вообще спасибо огромное за классы!!
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

3.04.014 от 10.03.10 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.014 от 10.03.10 г.
- Изменен порядок определения места хранения для настроек колонок табличного поля. Если у текущего пользователя определен каталог, то настройки сохраняются в каталоге пользователя. Иначе в каталоге временных файлов. До версии 3.04.014 все сохранялось в каталоге временных файлов. См. методы «СохранитьПозициюКолонок» и «ВосстановитьПозициюКолонок».

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

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #466 - 17. Марта 2010 :: 07:41
Печать  
Ряд изменений.
1. Добавилась возможность отображения кнопки "Просмотр". Управляет соответствующий публичный атрибут. Необходимо вызывать до метода СоздатьКнопкиПоУмолчанию.
2. Добавились наборы пиктограмм в 256 цветов. Кому надо можно переименовать их (убрать _256) и использовать. Вот уж не знаю насколько спасет терминальщиков с разрядностью 256.
Ну и другие мелочи жизни.

3.04.015 от 14.03.10 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.015 от 14.03.10 г.
- Новый публичный атрибут у объектов-расширений «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал» - «КнопкаПросмотр». Данный параметр управляет наличием кнопки «Просмотр» в командной панели табличного поля. Кнопка просмотр находится после кнопки «Изменить». Изменение параметра имеет значение только до вызова метода «СоздатьКнопкиПоУмолчанию».
- Новый пункт контекстного меню у объектов-расширений «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал» - «Просмотр». Открывает текущий документ/элемент в режиме «ТолькоПросмотр» = 1.
- Добавлены новые наборы пиктограмм в режиме 256 цветов.
- Новая картинка в командной панели: 26 - ОткрытьТолькоПросмотр
  

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


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #467 - 17. Марта 2010 :: 10:40
Печать  
п.1. Баг:
в ПоставщикДанных.Справочник в 2-х местах:
  Функция ПолучитьНовыйКодСправочника() (стр. 1052)
и
  Функция КодУникальный(Код) (стр. 1092)

пришлось вначале поставить
Код
Выбрать все
Если МетаСправочник.ДлинаКода = 0 Тогда
	    Возврат 1; (и 0 соответственно)
КонецЕсли;
 


чтобы не валилась ошибка при вводе нового элемента справочника с нулевой длиной кода.

п.2. Багофича? Улыбка :
Форма с множеством закладок, на общем слое кнопка "Ок" - которая есть "кнопка по умолчанию", на двух закладках есть ТП (поставщик - Справочник), когда находимся на закладках с ТП и фокус на ТП - "Ctrl+Enter" не срабатывает Печаль, то же самое и на другой форме.

п.3. Вопрос:
при использовании доп. колонок ТП (ПоставщикДанных.Справочник), можно ли как то манипулировать ДАННЫМИ этих колонок, не прибегая к перестроению запроса в "ПриПолученииЗапроса()"?

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

Код
Выбрать все
Процедура КонтейнерТПЦеныПриПолученииЗапроса(ТабличноеПоле,Структура)
	Сообщить(Структура.Колонки);
	Сообщить(Структура.Источник);
	Сообщить(Структура.Условия); 



Структура.Колонки =
SELECT
     CASE WHEN ТекущийОбъект.ISMARK = '*' THEN 3 ELSE 2 END AS [Пиктограмма]
     ,0 AS [ЭтоГруппа]
     ,CASE WHEN ТекущийОбъект.ISMARK = '*' THEN 1 ELSE 0 END AS [ПометкаУдаления]
     ,ТекущийОбъект.ID AS [ТекущийЭлемент $Справочник.Цены]
     ,ТекущийОбъект.PARENTEXT AS [Владелец $Справочник.Номенклатура]
     ,$ТекущийОбъект.ТипЦен AS [ТипЦен :Справочник.ТипыЦен]
     ,$ПоследнееЗначение.Цены.Цена(ТекущийОбъект.ID, :ДатаПериодическихРеквизитов) AS [Цена :Число.15.3]
     ,$ТекущийОбъект.Валюта AS [Валюта :Справочник.Валюты]
     ,$ТекущийОбъект.IDD AS [IDD :Строка]
     ,ТекущийОбъект.idx_ID AS [КлючПорядка]

Структура.Источник =
FROM
     Справочник.Цены AS ТекущийОбъект $nolock

Структура.Условия =
WHERE
     ТекущийОбъект.PARENTEXT = :ВладелецСправочника

Ну не готов я пока к "ПрямымЗапросам" Плачущий
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #469 - 18. Марта 2010 :: 06:06
Печать  
[quote author=vandalsvq link=1248941896/465#468 date=1268828983]2 [b]Dolly_EV[/b]
Покажи как ты извлекаешь значения данных реквизитов при открытии формы элемента.[/quote]

это про доп. колонки: "Установлена" и "Наценка"? - это не реквизиты... раньше (до использования Поставщика) в этом месте в форме элемента Спр.Номенклатура на закладке "Цены" была ТаблицаЗначений на форме, которая заполнялась штатными методами при открытии формы из подчиненного Спр.Цены. Помимо реквизитов спр.Цены - "ТипЦен", "Цена", "Валюта", в этой ТЗ были две колонки: "Установлена" и "Наценка", в "Установлена" писалась дата последнего изменения цены, в "Наценка" - %-нт наценки тек. цены относительно закупочной. Всё это заполнялось при заполнении ТЗ при открытии формы... Теперь я хочу перевести это дело на "ПоставщикДанных.Справочник"...

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

     ТПЦены = ПоставщикДанныхЦены.ТабличноеПоле;
     ТПЦены.ИзменятьНастройкуКолонок = 0;
     ТПЦены.ИзменятьСоставСтрок = 1;
     ТПЦены.ИзменятьПорядокСтрок = 1;
     ТПЦены.СтильЗаголовков = 1;
     ТПЦены.СтильРамки = 1;
     
     
     Если Право[75] = 0 Тогда
           ТПЦены.ТолькоПросмотр = 1;
     КонецЕсли;
     
     ДанныеСпрЦены = ПоставщикДанныхЦены.Данные;
     ДанныеСпрЦены.Владелец = ТекущийЭлемент();
     ДанныеСпрЦены.СоздатьКнопкиПоУмолчанию();
     ДанныеСпрЦены.НоваяКолонка("ТипЦен");
     ДанныеСпрЦены.НоваяКолонка("Цена");
     ДанныеСпрЦены.НоваяКолонка("Валюта");
     
     Колонки = ТПЦены.Колонки;
     Колонка = Колонки.ТипЦен;
     Колонка.Ширина = 40;
     Колонка = Колонки.Цена;
     Колонка.Ширина = 18;
     
     Колонка = Колонки.Добавить("Установлена");
     Колонка.Заголовок = "Установлена";
     Колонка.Ширина = 15;
     Колонка.ГоризонтальноеВыравнивание = 2;
     
     
     Колонка = Колонки.Добавить("Наценка");
     Колонка.Заголовок = "Наценка";
     Колонка.Ширина = 10;
     
     
     ДанныеСпрЦены.ИзменятьИерархическийПросмотр = 0;
     ДанныеСпрЦены.ИерархическийПросмотр = 1;
     ДанныеСпрЦены.СпособРедактирования = 0; //в Списке
     ДанныеСпрЦены.ИзменятьСпособРедактирования = 0;
     ДанныеСпрЦены.ПросмотрПоВладельцу = 1;
     ДанныеСпрЦены.ИзменятьПросмотрПоВладельцу = 0;
     ДанныеСпрЦены.ДатаПериодическихРеквизитов = РабочаяДата();
     
     лПериодическийЦена      = СоздатьОбъект("Периодический");
     
     ПоставщикДанныхЦены.Обновить();
     
КонецПроцедуры // ПослеСозданияФормы
[/code]
« Последняя редакция: 19. Марта 2010 :: 00:59 - Dolly_EV »  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Структура.Колонки = Структура.Колонки + "
|     ,c_vt.date AS [Установлена $Дата]
|     ,(выражение расчета наценки) AS [Наценка $Число]
|";

ИмяТаблицы = ?(ЭтоSQL = 1,"_1sconst","__1s_const");
Структура.Источник = Структура.Источник + "
|left join
|     (select objid id, max(date) date
|     from "+ИмяТаблицы+" const $nolock
|     where id = :ИсторияРеквизита.ИмяСправочника.ИмяРеквизита
|     group by objid) as c_vt
|on ТекущийОбъект.id = c_vt.id
|";

Соответственно когда ты создаешь колонки Установлена и Наценка поставить Колонка.Данные = "Установлена" и Колонка.Данные = "Наценка" соответственно.
Ну как то так. Более точно могу подсказать если дашь конфигу и покажешь где надо сделать.
Можно также вместо расчета c_vt сделать временную таблицу и заполнять ее тогда для пользователя добавить текстовое информационное поле с указанием времени расчета значений. И Автообновление = 0 поставить. Переназначить источник действий у кнопки Обновить и вызывать пересчет временной таблицы + вызов обновления табличного поля.

Ну и в конце концов можно победить это все в событии "ПриВыводеСтроки". У тебя строк мало так что не страшно. Главное проверять колонки на видимость, а то в ТекущиеДанные будут отсутствовать Улыбка
  

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


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #471 - 18. Марта 2010 :: 11:54
Печать  
[quote author=vandalsvq link=1248941896/465#470 date=1268899042]Ну и в конце концов можно победить это все в событии "ПриВыводеСтроки". У тебя строк мало так что не страшно. Главное проверять колонки на видимость, а то в ТекущиеДанные будут отсутствовать :)[/quote]

Вот с этого места поподробнее! Я там и пытаюсь отловить и заполнить "Установлена" и "Наценка", но ничего не отображается...хотя Данные в колонках заполняются :(

[code]
//======================================================================
Процедура КонтейнерТПЦеныПриВыводеСтроки(ТабличноеПоле,ОформлениеСтроки, ДанныеСтроки, ТипРегиона)
     
     //Сообщить(ТабличноеПоле);
     //Сообщить(ОформлениеСтроки);
     //Сообщить(ДанныеСтроки.ТипЦен);
     Если ТипЗначенияСтр(ТабличноеПоле.ТекущаяСтрока) <> "Справочник" Тогда
           Возврат;
     КонецЕсли;
     Для сч=0 По ДанныеСтроки.Количество()-1 Цикл
           Сообщить(Строка(ТабличноеПоле.ТекущаяСтрока.ТекущийЭлемент())+" // "+строка(сч)+" // "+Строка(ДанныеСтроки.Получить(сч)));
     КонецЦикла;
     
     Колонки = ТабличноеПоле.Колонки;
     КолонкаУстановлена = Колонки.Установлена;
     КолонкаНаценка = Колонки.Наценка;
     //Сообщить(КолонкаУстановлена.Данные);
     //Сообщить(КолонкаНаценка.Данные);
     
     Если ДанныеСтроки.ТипЦен = Константа.ОсновнаяЦенаПриобретения Тогда
           лЦенаСС = ДанныеСтроки.Цена;
           КолонкаНаценка.Данные = "ЦЕНА С/С";
           ОформлениеСтроки.ЦветФона = лНебесныйЦвет;
     КонецЕсли;
     
     //Сообщить(Строка(ТабличноеПоле.ТекущаяСтрока)+" // "+ТипЗначенияСтр(ТабличноеПоле.ТекущаяСтрока));
     
     Элемент());
     лПериодическийЦена.НайтиЗначение(ИспользоватьДату(),-1);
     КолонкаУстановлена.Данные = Строка(лПериодическийЦена.ДатаЗнач);
     
     
     Если (лЦенаСС>0) и (ДанныеСтроки.ТипЦен <> Константа.ОсновнаяЦенаПриобретения) Тогда
           //посчитаем % наценки
           ПроцНаценки = ДанныеСтроки.Цена/лЦенаСС*100-100;
           КолонкаНаценка.Данные = Формат(ПроцНаценки,"Ч-6.2. ")+" %";
     КонецЕсли;
     
КонецПроцедуры // КонтейнерТПЦеныПриВыводеСтроки
[/code]

И потом "ТП.ПерерисоватьСтроки()" - уже везде пихал - не помогает

P.S. За запрос - спасибо, но пока хочу уяснить возможность обойтись без него.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #472 - 18. Марта 2010 :: 12:50
Печать  
Попробуй пихать свои данные не в данные, а в текст ячейки. Примерно так:
Код
Выбрать все
ОформлениеСтроки.Ячейки.Наценка.УстановитьТекст(Формат(ПроцНаценки,"Ч-6.2. ")+" %"); 

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


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

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

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


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #474 - 19. Марта 2010 :: 01:07
Печать  
JohnyDeath писал(а) 18. Марта 2010 :: 12:50:
Попробуй пихать свои данные не в данные, а в текст ячейки. Примерно так:
Код
Выбрать все
ОформлениеСтроки.Ячейки.Наценка.УстановитьТекст(Формат(ПроцНаценки,"Ч-6.2. ")+" %"); 



Иессс!!! Заработала!!!  Смех Как же я не набрел на УстановитьТекст! Подмигивание

JohnyDeath, vandalsvq  - СПАСИБО!!!
  
Наверх
ICQ  
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #475 - 19. Марта 2010 :: 01:23
Печать  
Саша, а по пп. 1, 2 ?

Dolly_EV писал(а) 17. Марта 2010 :: 10:40:
п.1. Баг:
в ПоставщикДанных.Справочник в 2-х местах:
  Функция ПолучитьНовыйКодСправочника() (стр. 1052)
и
  Функция КодУникальный(Код) (стр. 1092)

пришлось вначале поставить
Код
Выбрать все
Если МетаСправочник.ДлинаКода = 0 Тогда
	    Возврат 1; (и 0 соответственно)
КонецЕсли;
 


чтобы не валилась ошибка при вводе нового элемента справочника с нулевой длиной кода.

п.2. Багофича? Улыбка :
Форма с множеством закладок, на общем слое кнопка "Ок" - которая есть "кнопка по умолчанию", на двух закладках есть ТП (поставщик - Справочник), когда находимся на закладках с ТП и фокус на ТП - "Ctrl+Enter" не срабатывает Печаль, то же самое и на другой форме.


еще Вопрос (может немного оффтоп):
При добавлении нового элемента в ТП (<INS>), одним из реквизитов является другой справочник - соответственно открывается список этого другого спр. для выбора элемента. Вопрос - КАК передать в открываемую форму параметр из тек. контекста?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #476 - 19. Марта 2010 :: 10:41
Печать  
п.1 вернусь в 7.7 исправлю
п.2 вернусь в 7.7 посмотрю

По вопросу:
Перехватывать "ПередНачаломИзменения" и писать редактирование самому.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #477 - 21. Марта 2010 :: 17:23
Печать  
vandalsvq,к Вам просьба,  в ПоставщикДанных.Справочник  при переносе элемента в другую группу добавить Событие ПриНачалеПереноса с параметром ФСО, чтобы можно было отменить действия по умолчаю и выполнять свои действия, если необходимо .
И еще. Может кто-то подскажет, можно ли в табличном поле установить ПоложениеКолонкиТаблицы
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #478 - 21. Марта 2010 :: 18:50
Печать  
В догонку еще одна просьба. В ПоставщикДанных.Сервис в метод ВыбратьЗначение добавить параметр Картинка, чтобы иметь возможность добавить картинки в Контекстное меню.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

2 zk96
По первой просьбе... есть такие варианты:
1. Если тебе надо чтобы открылась форма выбора группы для переноса, но потом выполнился твой код, вот событие - ПередИзменениемРодителя. Подробнее см. в документации.
2. Если тебе надо чтобы и вовсе вызывалось твое событие то переназначь действие в соответствующей кнопке. Соответственно смотри атрибуты коллекции Кнопка и как ее достать (коллекцию) в КоманднаяПанель.
Я думаю что на текущий момент один из двух путей может решить твою проблему. Если не то, опиши подробнее примеры и необходимость добавления данного события.

По второму вопросу, см. самое начало поста.  Круглые глаза
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #480 - 21. Марта 2010 :: 21:58
Печать  
От души благодарю за быстрый ответ.
Для себя я решил эту задачу имнно через Кнопка.
Но мне кажется логично иметь событие ПередНачаломИзменения поэтому и написал об этом. А контекстное меню меню я вывожу свое, но опять же логично было бы добавлять иконки в теле класса, такие же как на кнопках. Если Вы это добавите, буду от радости пригать выше крыши  Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #481 - 22. Марта 2010 :: 05:10
Печать  
2 zk96, а у тебя коллекция иконок для стандартного меню не подойдут? Если подойдут поделись кодом и иконками чтобы мне быстро их внедрить можно было Улыбка.
  

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #482 - 22. Марта 2010 :: 07:43
Печать  
2 vandalsvq.  Вот кусок кода и картинка
« Последняя редакция: 22. Марта 2010 :: 11:44 - zk96 »  

1_011.rar ( 3 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


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

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

3.04.016 от 23.03.10 г.
- Исправлены некоторые выявленные ошибки при работе со справочниками, у которых длина кода = 0.
- Исправлена ошибка, при которой, в момент нажатия Ctrl+Enter не вызывалась кнопка по умолчанию назначенная для формы. Решение: для атрибута на котором установлено табличное поле назначается формула «Форма.Заголовок(“”,1);» (если не назначена программистом).
- При нажатии кнопки на командной панели, при невозможности выполнения процедуры будет выдано сообщение пользователю с именем процедуры.
  

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


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

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

3.04.017 от 23.03.10 г.
- Внесены поправки в работу быстрого поиска, а также в работу методов НайтиДалее и НайтиНазад. Соответственно откорректирован поиск Ctrl+F3 (НайтиДалее).
- Внесены изменения в использование объекта ПрямойЗапрос встроенного в классы. При установке реквизита Текст он не сбрасывается при поиске, выборке и других операциях с использование запросов. Необходимо для использования метода ПодготовитьШаблонЗапроса в связке с запросом поставщика данных.
  

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


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

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

Example.rar ( 1555 KB | Загрузки )

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #487 - 24. Марта 2010 :: 22:15
Печать  
Выложена новая версия. Изменения для КОП ПоставщикДанных не критичные если только не используете событие ПриПолученииЗапроса и запросы к ВТ РегистрОстатки посредством атрибута ПрямойЗапрос в объектах-расширениях.

3.04.018 от 25.03.10 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.05.016 от 25.03.10 г.
  

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


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

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

На текущий момент (кто не знал) Отбор = это созданный и заполненный АссоциативныйВектор из 1С++.
Лично меня не устраивает что:
1. Нельзя создавать "усложненные" условия. Т.е. с комбинацией ИЛИ-И-НЕ и т.д.
2. Нельзя задавать условия с повторяющимися полями. Например: Наименование | НачинаетсяС | А ИЛИ Наименование | НачинаетсяС | Б.
3. Нельзя ставить отборы на значения реквизитов у элементов если это документы, справочники и т.д.
Конечно п.3 = снижение производительности, поэтому его необходимость для меня под вопросом. Кому надо и через ПриПолученииЗапроса справится. Но все-таки мысль есть мысль.

Интерфейс (программиста и пользователя) в принципе известен (смотрите в сторону 8.2). Но как оставить обратную совместимость и реализовать данный интерфейс.
Была мысль такая:
1. Реализую новый интерфейс класса Отбор с возможностью группировки. Называю его РасширенныйОтбор (+ признак ИспользоватьРасширенныйОтбор), и если программист использует РасширенныйОтбор то тогда стандартный не работает.
Плюсы: обратная совместимость, наличие двух механизмов с разным уровнем сложности в понимании и использовании (иногда хорошо для неподготовленных пользователей)
Минусы: неочевидность отборов. Можно запутаться что ты используешь.
2. Реализую интерфейс аналогичный расширенному отбору, в него по умолчанию добавляю все поля страндартного отбора чтобы через Отбор.Наименование можно было до них достучаться. Далее пользователь/программист сам все настраивает.
Плюсы: обратная совместимость
Минусы: изменение интерфейса может привести к неработоспособности механизмов вектора используемых программистами ранее (если такие были конечно). Изменение пользовательского интерфейса без возможности использовать старый.

Режимы без обратной совместимости даже не рассматриваются.

В планах на перспективу ближайших пары месяцев.
Кому что больше нравится, высказывайтесь.
Кстати вторым эшелоном пойдет объект УсловноеОформление. Но для него надо измененный отбор.
  

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


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

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

По второму пункту, я не уверен что обратная совместимость получится 100 процентная
  

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #490 - 25. Марта 2010 :: 14:26
Печать  
В примере автора для справочника Контрагенты при свернутом окне вылазит горизонтальный скроллер ТП ТабличноеПолеАлфавит. Реально его как-то отключить?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #492 - 26. Марта 2010 :: 09:02
Печать  
2 vandalsvq.
По поводу отборов. Мне первый вариант больше нравиться. Да, можно запутаться, но если проблемы с Расширенным Отбором, то используешь Обычный. Но расширенный отбор нужен иначе не всегда можно отобрать только то, что нужно, и приходится придумывать разные из вращения.

У меня хотелка: добавить сохранение текущей строки и колонки табличного поля при влучении-выключении отборов.
  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #493 - 26. Марта 2010 :: 09:50
Печать  
Проще, согласен, а так чтоб не проще, есть варианты?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #494 - 26. Марта 2010 :: 10:05
Печать  
vandalsvq писал(а) 25. Марта 2010 :: 10:16:
Есть мысль по переделке коллекции Отбор.


можно еще также в журнале документов, реквизит "Вид документа"  в значение отбора добавлять не все все виды документов, а только те которые относятся к журналу
  
Наверх
wwwICQ  
IP записан
 
TimVG
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #495 - 26. Марта 2010 :: 12:17
Печать  
Прошу прощения.
Но при использовании в отборе периодического реквизита выводится пустая таблица.
Что я делаю не так?
  
Наверх
 
IP записан
 
serpentariy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 35
Зарегистрирован: 19. Ноября 2009
Re: Класс "ПоставщикДанных"
Ответ #496 - 26. Марта 2010 :: 13:26
Печать  
Подскажите что я сделал не так с тестовым примером???

Класс: УправлениеФормой.Привязка - ошибка синтаксиса
Строка №275 Право <<?>>= Лево + Ширина;
Ожидается скалярное выражение (Право)
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert(275) }
Класс: УправлениеФормой.Привязка - ошибка синтаксиса
Строка №277 Расстояние = ЛевоС-Право<<?>>;
Ожидается скалярное выражение (Право)
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert(277) }
Класс: УправлениеФормой.Привязка Файл: C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert компиляция не выполнена!
УправлениеФормой::Конструктор() : Внимание! Инициализация класса: УправлениеФормой.Привязка закончилась неудачно!
ПривязкаЭлементов = СоздатьОбъект("УправлениеФормой.Привязка");
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.ert(31) }

УправлениеФормой = СоздатьОбъект("УправлениеФормой");
{C:\ййй\СПРАВОЧНИК КОНТРАГЕНТЫ.ERT(160)}: УправлениеФормой::Конструктор() : Внимание! Инициализация класса: УправлениеФормой.Привязка закончилась неудачно!
ПривязкаЭлементов = СоздатьОбъект("УправлениеФормой.Привязка");
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.ert(31) } Смущённый
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #497 - 26. Марта 2010 :: 17:26
Печать  
TimVG писал(а) 26. Марта 2010 :: 12:17:
Прошу прощения.
Но при использовании в отборе периодического реквизита выводится пустая таблица.
Что я делаю не так?

Прошу предоставить тест. Или рассказать о "периодическом" реквизите, тип, вид, длина и т.д. В общем лучше тест.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #498 - 26. Марта 2010 :: 17:46
Печать  
serpentariy писал(а) 26. Марта 2010 :: 13:26:
Подскажите что я сделал не так с тестовым примером???

Версии ВК скажи пожалуйста...
  

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #499 - 26. Марта 2010 :: 19:44
Печать  
Доброго здоровья уважаемому разработчику и большое спасибо за полезный класс!
На стадии разбирательства вылезни проблемки, которые не смог побороть
начну с простого - не работает отказ от стандартной обработки в событиях
Код
Выбрать все
Процедура КонтейнерТабличноеПолеПередНачаломИзменения(ФСО)
	ФСО = 0;
КонецПроцедуры 


в обработчик заходит, но все равно колонка переходит в режим редактирования
понимаю, что упустил какую-то мелочь, а какую - Печаль
компоненты все самые последние...
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #500 - 26. Марта 2010 :: 20:17
Печать  
так, с первым вопросом разобрался - ФСО идет вторым параметром, а не первым, как написано в документации Печаль

а вот немного не понятно с оптимизацией быстродействия
мне надо расчитывать остатки по 4 складам, причем Ост = Остаток -резерв

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

что надо сделать, чтобы остатки расчитывались перед каждым открытием/закрытием группы, и только по конкретной группе?

я так понимаю, перезаполнять таблицу в событиях ПередСворачиванием/перед разворачиванием?
или есть более правильный метод?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #501 - 26. Марта 2010 :: 20:24
Печать  
Надо внимательно читать документацию. К каждому из расширений написано "предысловие". И везде указано что все события ЭУ табличное поле ВСЕГДА кроме указанных параметров имеют 1-й параметр сам элемент управления. Т.е. всегда будет так

Код
Выбрать все
<ИдентификаторТП><ИмяСобытия>(ТабличноеПоле<,Параметр1><,Параметр2>...) 

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #502 - 26. Марта 2010 :: 20:30
Печать  
В общем счас ты соединяешься с виртуальной таблицей Х, но заполняешь ее всеми материалами. Конечно можно в событии ПередРазворачиванием/ПередСворачиванием дополнительным запросом получать выборку элементов по значению родителей, и в ВТ ставить условие. Т.е.
Событие - ПолучениеВыборки - ЗапросОстатков - ЗаполнениеТаблицы.
Только вот пользователю от этого прийдется подождать какое время пока идет сбор данных. Собственно надо тестировать/смотреть.
  

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


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

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

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


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #504 - 26. Марта 2010 :: 23:47
Печать  
Взял сабж с ИС.
вроде выполнил все что описано в инструкции по установке.
При запуске обработки:
.
ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
наяПанель.ert(330) }

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

6);
ноеПоле.ert(76) }

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

6);
ноеПоле.ert(76) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
) }

ПоставщикДанныхМногострочнаяЧасть.ТипЗначений = "Справочник.Контрагенты";
{C:\ПРИМЕР ДЛЯ КОНФИГУРАЦИИ БУХГАЛТЕРИЯ\СПРАВОЧНИК КОНТРАГЕНТЫ.ERT(20)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
наяПанель.ert(330) }

6);
ноеПоле.ert(76) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
) }
  
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #505 - 27. Марта 2010 :: 00:12
Печать  
http://www.forum.mista.ru/topic.php?id=298024
качаем http://www.dll.ru/dll/4410.html - comdlg32.ocx
http://www.microsoft.com/downloads/details.aspx?FamilyID=25437d98-51d0-41c1-bb14... - устанавливаем
.
Автору: представляется целесообразным включить в инструкцию
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #506 - 27. Марта 2010 :: 05:39
Печать  
Злоп писал(а) 27. Марта 2010 :: 00:12:
http://www.forum.mista.ru/topic.php?id=298024
качаем http://www.dll.ru/dll/4410.html - comdlg32.ocx
http://www.microsoft.com/downloads/details.aspx?FamilyID=25437d98-51d0-41c1-bb14... - устанавливаем
.
Автору: представляется целесообразным включить в инструкцию

Большой набор, и автор настолько давно его использует, что не все детали помнит Улыбка
Спасибо за подсказку.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #507 - 27. Марта 2010 :: 06:09
Печать  
Злоп писал(а) 27. Марта 2010 :: 00:12:
.
Автору: представляется целесообразным включить в инструкцию


а разве это не самое первое требование из первого поста?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #508 - 27. Марта 2010 :: 09:08
Печать  
Ну да первое требование в данной теме было MSOffice.
Говорить "возьмите тут, поставте так" я не буду. Ибо уважаю лицензии и прочее. Хотя конечно знаю (и имею) инстальники для установки все данных ocx  с лицензиями.
В общем написано надо офис, значит надо офис.
  

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #509 - 28. Марта 2010 :: 08:03
Печать  
vandalsvq писал(а) 26. Марта 2010 :: 20:32:
Если у тебя сбор остатков осуществляется на ТА, то можно запрос не к ВТ крутить, а запрос к таблице остатков регистра, джойнить справочник с условием по группе и IsFolder.

Спасибо!!!!
ЗЫ. пытался задать наводящие вопросы, и понял, что твой ответ таки исчерпывающий  Класс
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #510 - 28. Марта 2010 :: 09:26
Печать  
возникли еще вопросы Улыбка
1. Как программно изменить родителя в ТП справочника? аналог ИспользоватьРодителя
смотрел все, нашел только РодительВерхнегоУровня, но не понял как с его помощью делать
2. Как отловить события по изменению текущего элемента в ТП? Суть - мне надо внизу ввести расширенное описание товара
вариант есть один - ловить события мыши и клавиатуры и проверять изменения текущей строки, но как-то это сложно Печаль
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #511 - 28. Марта 2010 :: 09:48
Печать  
поправка - вопрос 2 снова снимается  Улыбка
осознал, что у ТП есть свои события
извиняюсь, но я только начинающий...
вопрос 1 пока не смог решить
« Последняя редакция: 28. Марта 2010 :: 12:39 - mctoha »  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #512 - 28. Марта 2010 :: 10:19
Печать  
ммм.. требование наличия MS offica - не есть хорошо... он там для чего нужен?
  
Наверх
www  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #513 - 28. Марта 2010 :: 16:33
Печать  
Злоп писал(а) 28. Марта 2010 :: 10:19:
ммм.. требование наличия MS offica - не есть хорошо... он там для чего нужен?


Цитирую: Цитата:
1. MS Office (для тулбара)


2 mctoha
Код
Выбрать все
Данные.РодительВерхнегоУровня = ТвойРодитель;
Данные.Обновить(); 

  

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #514 - 28. Марта 2010 :: 20:31
Печать  
vandalsvq
спасибо, этот метод я недоглядел ...  Смущённый
  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #515 - 28. Марта 2010 :: 20:36
Печать  
"Для тулбара" - для иконок тулбара? или выцепляется сам некий функционал тулбара?
  
Наверх
www  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #516 - 29. Марта 2010 :: 03:26
Печать  
2 Чебур, сам тулбар есть ЭУ "MSComctlLib.Toolbar.2". И возвращаясь к разговору о комоновских библиотеках, они поставляются или с VS, или с Офисом или с какими другими программами (все не назовешь). Но отдельно только с нарушением лицензии микрософта. Если я не прав, дай ссылку почитать про лицензию коммон контрол.
Я ведь не говорю что я правее всех, тоже могу ошибаться.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #517 - 30. Марта 2010 :: 06:48
Печать  
в объкте "ПоставщикДанных.КоманднаяПанель" как определить для "западающая кнопка" в каком она положении на момент вызова?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #519 - 30. Марта 2010 :: 07:38
Печать  
при любом положении кнопки этот атрибут равен 0

Код
Выбрать все
Процедура КоманднаяПанельОткрытыеЗаявки()
	Кнопка = КоманднаяПанель.Получить("ОткрытыеЗаявки");
	Сообщить(Кнопка.Пометка);
КонецПроцедуры

............


 	Кнопка = КоманднаяПанель.Кнопка("ОткрытыеЗаявки", 2, , 24,"КоманднаяПанельОткрытыеЗаявки", глВзятьКонтекст(Контекст)) ;
	Кнопка.Подсказка = "Только открытые заявки...";
	КоманднаяПанель.Добавить(Кнопка);
 

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #520 - 30. Марта 2010 :: 08:24
Печать  
Ой, точно. Оказывается я в методе "Активизировать" присваиваю это значение, а при нажатии кнопки нет. Соответственно счас можно выкрутиться так: Кнопка.Объект.Value.
В ближайшем релизе подправлю. При этом вышеуказанный метод останется работать.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #521 - 30. Марта 2010 :: 10:31
Печать  
что касается этого замечания
Цитата:
•Объект может не отображаться на форме или отображаться не корректно, для этого достаточно в методе «ПослеОткрытия» (событие формы ВК FormEx) сделать видимость сначала = 0, затем = 1.


даже смена видимости не помогает.
появляются после сворачивания и разворачивания окна...   Злой
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #522 - 30. Марта 2010 :: 10:40
Печать  
Т.е. Форма.<ИдентификаторКонтейнераКП>.Видимость(0), а потом 1 не помогает?
Странно очень. Вроде всем помогало Улыбка.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #523 - 30. Марта 2010 :: 10:52
Печать  
неа непомогает. вот как делаю:

Код
Выбрать все
Процедура ИнициализироватьПанельИнтрументов()

	ПутьДоПиктограмм = КаталогИБ() + "\ВнешниеКлассы\ПоставщикДанных\ПоставщикДанных1С.ПУ.bmp";

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

	КоманднаяПанель.УстановитьНаборПиктограмм(ПутьДоПиктограмм, 16, 16, 26);

	Кнопка = КоманднаяПанель.Кнопка("Новый", 1, , 1,"КоманднаяПанельНовыйДокумент", глВзятьКонтекст(Контекст)) ;
	Кнопка.Подсказка = "Ввести новый документ";
	КоманднаяПанель.Добавить(Кнопка);

....................................

	КоманднаяПанель.Обновить();

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



     
Код
Выбрать все
Процедура ПослеОткрытия()

	оПривязки.ПослеОткрытия();

	_Форма = СоздатьОбъект("Форма");
	ТаблицаРеестра = _Форма.СоздатьЭлементУправленияНаФорме(Форма, "ТабличноеПоле", "ТаблицаРеестра");

	ИнициализироватьПанельИнтрументов();

	//ФормаРасш = СоздатьОбъект("РасширениеФормы");
	//ФормаРасш.УстановитьФорму(Форма);
	//ФормаРасш.ТаблицаРеестраКП.Видимость = 0;
	//ФормаРасш.ТаблицаРеестраКП.Видимость = 1;

	Форма.ТаблицаРеестраКП.Видимость(0);
	Форма.ТаблицаРеестраКП.Видимость(1);

........
	 


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


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

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

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #525 - 30. Марта 2010 :: 11:34
Печать  
попробывал ПослеСозданияФормы. Результат неизменился.

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

полтергейст   Плачущий

зы. обработку прилепил
  

____________V2.ert ( 47 KB | Загрузки )
Наверх
wwwICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных"
Ответ #526 - 30. Марта 2010 :: 13:31
Печать  
В ПриОткрытии пишешь:

Код
Выбрать все
ф=СоздатьОбъект("Форма");
ф.УстановитьФорму(Форма); 



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

+ весь код из ПослеОткрытия переносишь туда...
(весь код кроме оПривязки.ПослеОткрытия(); )

наслаждаешься...

Хотя нет.. Во всём виноват класс привязок формы.. Если его не будет - то всё работает как надо.

ЗЫ: закоменти оПривязки.Добавить( .... и всё будет работать.
  
Наверх
 
IP записан
 
PitKZL
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Зарегистрирован: 12. Февраля 2010
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #527 - 31. Марта 2010 :: 11:09
Печать  
Автору большое спасибо за класс.
Возможно повторяюсь.
«ПоставщикДанных.ТабличнаяЧасть»
есть ли наследственность к доступности и видимости в табличном поле  реквизитов в многосточнойчасти документа, имеющих видимость(0) и Доступность(0)?

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


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

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

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


1C++ rocks!

Сообщений: 10
Зарегистрирован: 12. Февраля 2010
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #529 - 31. Марта 2010 :: 17:29
Печать  
Плачущийспасибо.
еще вопрос наличие текстового файла "НеизвестныйОбъектТабличноеПолеТабличнаяЧасть.txt" в Каталоге Пользователя -признак ошибки?

в классе "ЭлементыФормы.Закладки" имеется ссылка на класс      СистемныеОперации = СоздатьОбъект("Общее.СистемныеОперации"); . к сожалению его не смог найти.  Смущённый



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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #530 - 01. Апреля 2010 :: 03:53
Печать  
Наличие txt файлов в каталоге пользователей не страшно.
Дело в том что поставщик автоматически при уничтожении сохраняет настройку табличного поля. Чтобы потом можно было восстановить позицию колонок. Каталог для сохранения - КаталогПользователя(). Если он не задан то КаталогВременныхФайлов().
Увеличение их числа тоже не страшно.

Что касается Общее.СистемныеОперации, то он нужен для вызова методов из различных контекстов. Его вполне можно посмотреть по КОП и переписать на Информатор и ВыполняемыйМодуль (встроенные объекты 1С++)
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #531 - 09. Апреля 2010 :: 08:47
Печать  
при добавления нового элемента справочика имхо не совсем верно обрабатываются события.

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

но получаю сообщение "Не задан владелец справочника. Добавление элемента невозможно."

с классе действительно сначала происходит проверка владельца а потом уже событие "ПередНачаломДобавления"

может следует поменять местами эти две проверки?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #532 - 09. Апреля 2010 :: 11:41
Печать  
А зачем это делать?
Ты проверишь записан ли владелец и далее что? Создашь его?

Меня событие ПередНачаломДобавления интересует только именно перед моментом создания нового элемента, а не перед моментом сервисных проверок поставщика данных. Да и обратная совместимость пострадает однозначно.
Вот как то так...
Переназначь событие на кнопке и все. Сделай там все что тебе надо.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #533 - 09. Апреля 2010 :: 12:17
Печать  
Видимо ты не так понял.

создаю новый элемент интерактивно.
у этого элемента создаю подчиненные элементы.

прежде чем создать подчиненные нужно проверить записан ли владелец и все необходимые реквизиты? как?

да, можно переназначить процедуру. тогда нужно создавть каждую кнопку отдельно...

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

полный текст модуля во вложении
  

_____________002.txt ( 3 KB | Загрузки )
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

Я тебя кстати правильно понял. Вот только аналогичные задачи я решил иначе. Просто кнопки неактивны пока не записан элемент. Пускай пользователь нажмет кнопку "Записать" и все станет доступно и активно.
А сам я не записываю программно элементы. Раз есть форма элемента значит есть юзер пусть он и думает записывать или нет.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #535 - 12. Апреля 2010 :: 11:28
Печать  
Понятно.... а владельца в какой момент назначать?

я к тому что элемент записал, указал владельца, кнопки открыл для редактирования, пытаемся добавить подчиненный элемент. элемент вроде как добавляется, но в поле списка не отображается.

видимо потому, что владелец, в запрос подставляется только при открытии

все вопрос снят  Со сжатыми губами
« Последняя редакция: 12. Апреля 2010 :: 12:51 - Anatol »  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #536 - 12. Апреля 2010 :: 13:46
Печать  
Вероятно у тебя не стоит автообновление (в принципе это зло, и для подчиненных справочников в элементах оно излишне). А редактирование в форме да? Так вот КОП не может отследить в данном случае уничтожение формы и поэтому не знает когда ему обновляться. Поэтому элемент не появляется.

Кстати это единственная текущая серьезная проблема. Решить можно путем создания таймера для проверки контекстов, но как это отразиться на работе КОП не известно. Улыбка

А что касается владельца.
Я обычно в таких формах в ПриОткрытии подставляю владельца, а ПриЗаписи проверяю это новый или нет и подставляю на всякий случай еще раз с вызовом "Обновить".
  

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #537 - 13. Апреля 2010 :: 18:42
Печать  
вопрос по быстрому поиску
список справочника у меня упорядочен по полю (специально заведено для произвольной сортировки)

так вот если включено упорядочивание по этому полю, то при быстром поиске валится ошибка
если отсортировать по полю, по которому ищу - то все ок, ищется
можно ли решить как-то проблему?
детали:
в коде стоит
ДанныеСправочник.РеквизитСортировки="Порядок";

Ошибка при поиске валится

ПоставщикДанных.Справочник::ПолучитьУсловиеДляПоиска(Строка ИмяКолонки=ТМЦ, ДанныеСтроки ТекущиеДанные=, Число Направление=0, Строка Тип=Справочник, Строка Вид=ТМЦ, Строка КлючевоеСлово=AND) : Поле агрегатного объекта не обнаружено
ТекстЗапросаПоиска = ТекстЗапросаПоиска + "AND ТекущийОбъект.DESCR "+ЗнакСравнения+" '"+ТекущиеДанные.Наименование+"'
к.ert(1174) }

ПоставщикДанных.ТабличноеПоле::ПриБыстромПоиске(Число ТипПоиска=1, Строка Данные=орівпі, Число ФСО=0) : ПоставщикДанных.Справочник::ПолучитьУсловиеДляПоиска(Строка ИмяКолонки=ТМЦ, ДанныеСтроки ТекущиеДанные=, Число Направление=0, Строка Тип=Справочник, Строка Вид=ТМЦ, Строка КлючевоеСлово=AND) : Поле агрегатного объекта не обнаружено
ТекстЗапросаПоиска = ТекстЗапросаПоиска + "AND ТекущийОбъект.DESCR "+ЗнакСравнения+" '"+ТекущиеДанные.Наименование+"'
к.ert(1174) }

вирт().ПриБыстромПоиске(ТипПоиска,Данные,ФСО);
Поле.ert(349) }

ПоставщикДанных.ТабличноеПоле::ПриБыстромПоиске(Число ТипПоиска=1, Строка Данные=орівпі, Число ФСО=0) : ПоставщикДанных.Справочник::ПолучитьУсловиеДляПоиска(Строка ИмяКолонки=ТМЦ, ДанныеСтроки ТекущиеДанные=, Число Направление=0, Строка Тип=Справочник, Строка Вид=ТМЦ, Строка КлючевоеСлово=AND) : Поле агрегатного объекта не обнаружено
ТекстЗапросаПоиска = ТекстЗапросаПоиска + "AND ТекущийОбъект.DESCR "+ЗнакСравнения+" '"+ТекущиеДанные.Наименование+"'
к.ert(1174) }

вирт().ПриБыстромПоиске(ТипПоиска,Данные,ФСО);
Поле.ert(349) }

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #538 - 14. Апреля 2010 :: 15:23
Печать  
Поле "Наименование" ведь скрыто да? Улыбка
В общем я исправлю вскоре.
  

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


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

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

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #540 - 15. Апреля 2010 :: 10:43
Печать  
а можно добавить в класс атрибут соответствия кнопок командной панели и пунктов контекстного меню?

зы среди списка файлов класса есть файлик ПоставщикДанных.Запрос.ert который как я догадываюсь соответствует классу "ПоставщикДанных.ПроизвольныйЗапрос" (который не документирован), но в Defcls.prm о данном файле также нет упоминаний.

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


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

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

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

И вот обещанный релиз...
3.04.019 от 15.04.10 г.
- Исправлены некоторые ошибки в быстром поиске для расширений Справочник, Документы и Журнал. Быстрый поиск более правильно учитывает сортировку и текущую ячейку.
  

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #542 - 15. Апреля 2010 :: 16:28
Печать  
проверил поиск
ошибок не валит, но при наборе каждого следющего символа переходит на строку ниже  вне зависимости от наличия в ТЕКУЩЕЙ строке этого символа, и при удалении символа тоже - идет вниз...
и можно убрать вопрос - про совпадений не найдено
смысловой нагрузки не несет, а вот строку приходится набирать заново
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #544 - 15. Апреля 2010 :: 16:46
Печать  
спасибо за старание помочь!
мне к сожалению не очень подходит такой вариант поиска Печаль
сообщение - то не страшно, а вот сдвиг по строке - подскажи пож, куда глянуть, отключить его...

ЗЫ. а то пока с отладкой у меня не выходит - падает в осадок...
разбираться с отладкой пока нет времени, попытался бы исправить без отладчика
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #545 - 15. Апреля 2010 :: 16:53
Печать  
В общем во всех поставщиках есть процедура ПриБыстромПоиске, так вот там можно просто взять и в передача в процедуры поиска убрать ТекущиеДанные тогда он всегда будет искать сначала.
Кстати в принципе в будущем редизе попробую опционально это сделать
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #546 - 15. Апреля 2010 :: 17:01
Печать  
вот спасибо!
нет, СПАСИБИЩЕ!!!!
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #547 - 15. Апреля 2010 :: 18:21
Печать  
vandalsvq писал(а) 15. Апреля 2010 :: 15:41:
Атрибут соответствия какого? Если хочется как в 8-ке, то что удалено из КП удаляется и из меню, и наоборот, такого к сожалению пока не получится. Пока не будет нормального контрола для управления командной панелью.


а что имеется ввиду под словом "нормального"???
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #548 - 15. Апреля 2010 :: 18:38
Печать  
Который позволит избавится от проблем текущих. Например чтобы кнопки с текстом не подгонялись по размеру, чтобы можно было управлять им более удобно и гибко. Отрисовка чтобы не страдала... да так по мелочи хватает.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #549 - 16. Апреля 2010 :: 02:46
Печать  
К вопросу о Владельце и подчиненном справочнике, создаваемом в НЕЗАПИСАННОМ Владельце (постов 20 назад):

Если, как Саша, не заморачиваться и не отлавливать событие "ДобавитьСтроку", а просто сделать недоступными кнопки "Добавить", "Удалить", пока Владелец не записан, то как быть с INSert'om ?
  
Наверх
ICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #550 - 16. Апреля 2010 :: 05:29
Печать  
да, действительно ...
и свою процедуру на нажатие клавиши не повесишь... обрабатывается стандартное ДобавитьСтроку()
  
Наверх
wwwICQ  
IP записан
 
ssv02
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 19
Зарегистрирован: 16. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #551 - 16. Апреля 2010 :: 08:24
Печать  
Подскажите начинающему!

Вот попробовал использовать для реализации журнала и столкнулся с некоторыми трудностями:
1. Вопрос такой - почему в стандарнтых колонках журнала отсутствует колонка время документа. И насколько сложно это реализовать.


2. Подскажите как при открытии журнала сразу ограничить его период (интервал) определенным диапазоном.

  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #552 - 16. Апреля 2010 :: 08:54
Печать  
ssv02 писал(а) 16. Апреля 2010 :: 08:24:
Подскажите начинающему!

Вот попробовал использовать для реализации журнала и столкнулся с некоторыми трудностями:
1. Вопрос такой - почему в стандарнтых котолках журнала отсутствует колонка время документа. И насколько сложно это реализовать.

2. Подскажите как при открытии журнала сразу ограничить его период (интервал) определенным диапазоном.



2. есть событие ПриПолученииЗапроса(), через него и можно управлять интервалом

также через колекцию "Отбор"
  
Наверх
wwwICQ  
IP записан
 
ssv02
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 19
Зарегистрирован: 16. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #553 - 16. Апреля 2010 :: 09:02
Печать  
Anatol писал(а) 16. Апреля 2010 :: 08:54:
2. есть событие ПриПолученииЗапроса(), через него и можно управлять интервалом

также через колекцию "Отбор"



А можно маленький примерчик через "отбор"
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #554 - 16. Апреля 2010 :: 12:44
Печать  
По порядку...

Цитата:
не заморачиваться и не отлавливать событие "ДобавитьСтроку", а просто сделать недоступными кнопки "Добавить", "Удалить", пока Владелец не записан, то как быть с INSert'om ?

Кроме доступности кнопок я еще и в событии ПередНачаломДобавления проверку с ФСО = 0 пишу.

Цитата:
1. Вопрос такой - почему в стандарнтых колонках журнала отсутствует колонка время документа. И насколько сложно это реализовать.

Время хранится как строка в 36-тиричном формате числа равного количеству секунд с начала дня до времени документа. Т.е. на самом деле реализовать можно, но с заморочками. Для DBF формата БД конечно есть типизация "Время", а вот для SQL ее нет.
Проблема в реализации еще и в том, что поиск наврядли будет возможен. А отбор... хм, отбор конечно можно, но сложно.

Цитата:
2. Подскажите как при открытии журнала сразу ограничить его период (интервал) определенным диапазоном.


Код
Выбрать все
Отбор = ПоставщикДанных.Данные.Отбор;
ОтборДатаДокумента = Отбор.ДатаДокумента;
ОтборДатаДокумента.ВидСравнения = "Интервал";
ОтборДатаДокумента.ЗначениеС = ДатаНачала;
ОтборДатаДокумента.ЗначениеПо = ДатаОкончания;
ОтборДатаДокумента.Значение = ТекущаяДата();
ОтборДатаДокумента.Использование = 1;
ПоставщикДанных.Обновить(); 



Что же касается события ПриПолученииЗапроса, то неподготовленным туда лезть опасно, убьет Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #555 - 16. Апреля 2010 :: 12:48
Печать  
Anatol писал(а) 16. Апреля 2010 :: 05:29:
да, действительно ...
и свою процедуру на нажатие клавиши не повесишь... обрабатывается стандартное ДобавитьСтроку()


Вообще на самом деле количество событий генерируемых поставщиком настолько велико что все можно обойти без изменения классов. Если учесть что я разработчик и КОП и прикладных решений с его использованием, тем не менее я стараюсь в решениях не лезть в КОП (вообще не лезу), а обхожу его. Потому что считаю что в большинстве случаев его поведение достаточно правильное. Все остальное можно написать самому Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
ssv02
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 19
Зарегистрирован: 16. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #556 - 16. Апреля 2010 :: 13:19
Печать  
[quote author=vandalsvq link=1248941896/540#554 date=1271421897]
[quote]1. Вопрос такой - почему в стандарнтых колонках журнала отсутствует колонка время документа. И насколько сложно это реализовать.[/quote]
Время хранится как строка в 36-тиричном формате числа равного количеству секунд с начала дня до времени документа. Т.е. на самом деле реализовать можно, но с заморочками. Для DBF формата БД конечно есть типизация "Время", а вот для SQL ее нет.
Проблема в реализации еще и в том, что поиск наврядли будет возможен. А отбор... хм, отбор конечно можно, но сложно.
[/quote]

В отношении поиска думаю он и не нужен. А вот сама колонка зачастую нужна, особенно когда сравниваешь позиции документов в разных журналах.

А в отношении реализации на SQL можно к примеру сделать функцию и при инициализации класса (ну или как там правильно) проверять ее наличие и создавать в БД:
[code]CREATE FUNCTION Convert36To10  (@Res36 CHAR(9))
RETURNS CHAR(9)
AS BEGIN
DECLARE @Deci INT
DECLARE @j INT
DECLARE @Arr36 CHAR(36)
SELECT @Arr36 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
SELECT @Deci = 0
SELECT @j = 1
while @j <= LEN(LTRIM(RTRIM(@Res36)))begin
     if @j <> 1
SELECT @Deci = @Deci*36
SELECT @Deci = @Deci + CHARINDEX(SUBSTRING(LTRIM(RTRIM(@Res36)), @j,1),@Arr36) -1
SELECT @j = @j+1
end
  RETURN(right('0'+cast(floor(@Deci/36000000.0) as varchar(2)),2)+':'+right('0'+cast(floor((@Deci%36000000)/600000.0) as varchar(2)),2)+':'+right('0'+cast((@Deci%36000000)%600000/10000 as varchar(2)),2))
END[/code]

а затем  для поля задать что-то типа:
[code]//{ ВремяДокумента
     ВложеннаяСтруктура = ПолучитьВложеннуюСтруктуру();
     ВложеннаяСтруктура.Идентификатор = "ВремяДокумента";
     ВложеннаяСтруктура.Синоним = "Время документа";
     ВложеннаяСтруктура.Комментарий = "Время документа";
     ВложеннаяСтруктура.ТипВид = "Время";
     ВложеннаяСтруктура.Тип = "Время";
     ВложеннаяСтруктура.Вид = "";
     ВложеннаяСтруктура.Длина = 0;
     ВложеннаяСтруктура.Точность = 0;
     ВложеннаяСтруктура.Неотрицательный = 1;
     ВложеннаяСтруктура.РазделятьТриады = 0;
     ВложеннаяСтруктура.Сортировка = 1;
     ВложеннаяСтруктура.Отбор = 1;
     ВложеннаяСтруктура.РеквизитДокумента = 0;
     ВложеннаяСтруктура.ТекстЗапроса = ?(ЭтоSQL = 1,"dbo.Convert36To10(SUBSTRING(ТекущийОбъект.DATE_TIME_IDDOC, 9,6))",
     "right('0'+cast(floor(ТекущийОбъект.TIME/36000000.0) as varchar),2)+':'+                                    |right('0'+cast(floor((ТекущийОбъект.TIME%36000000)/600000.0) as varchar),2)+':'+
     |right('0'+cast((ТекущийОбъект.TIME%36000000)%600000/10000 as varchar),2)")+" AS [ВремяДокумента]";
     
     ВложеннаяСтруктура.РеквизитЗапроса = ?(ЭтоSQL = 1,"dbo.Convert36To10(SUBSTRING(ТекущийОбъект.DATE_TIME_IDDOC, 9,6))",
     "right('0'+cast(floor(ТекущийОбъект.TIME/36000000.0) as varchar),2)+':'+
     |right('0'+cast(floor((ТекущийОбъект.TIME%36000000)/600000.0) as varchar),2)+':'+
     |right('0'+cast((ТекущийОбъект.TIME%36000000)%600000/10000 as varchar),2)");
     ВложеннаяСтруктура.ЗаголовокКолонки = "Время документа";
     СтруктураДанных.Добавить(ВложеннаяСтруктура,"ВремяДокумента");
     
     //}[/code]
[quote author=vandalsvq link=1248941896/540#554 date=1271421897]
[quote]2. Подскажите как при открытии журнала сразу ограничить его период (интервал) определенным диапазоном.[/quote]

[code]Отбор = ПоставщикДанных.Данные.Отбор;
ОтборДатаДокумента = Отбор.ДатаДокумента;
ОтборДатаДокумента.ВидСравнения = "Интервал";
ОтборДатаДокумента.ЗначениеС = ДатаНачала;
ОтборДатаДокумента.ЗначениеПо = ДатаОкончания;
ОтборДатаДокумента.Значение = ТекущаяДата();
ОтборДатаДокумента.Использование = 1;
ПоставщикДанных.Обновить();[/code]

Что же касается события ПриПолученииЗапроса, то неподготовленным туда лезть опасно, убьет ;)[/quote]
Спасибо, правда уже практически и сам разобрался. Что касается запросов, то вообще прямым обращением к данным уже давно пользуюсь, а вот с классами пока не связвался - первая попытка разобраться.

[hr]

Да и еще вопрос: Подскажите в какую сторону копать, чтобы в данном случае получить раскаску журнала по определенным условиям. Т.е. что-то типа ПланаРаскраски от FormEx. Как в стандартном журнале делать знаю, а как здесь?

  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #557 - 16. Апреля 2010 :: 14:20
Печать  
ssv02
как и в ТП. ПриВыводеСтроки в зависимости от условий оформлешь строку
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #558 - 16. Апреля 2010 :: 14:36
Печать  
Про функцию я тоже думал, что же касается DBF то я говорил, там можно
Код
Выбрать все
ТекущийОбъект.Time as [ВремяДокумента $Время] 

и все.
В принципе сделать то можно, но счас руки точно не дойдут.
А пока можно и так:
1. через ПриПолученииЗапроса откорректировать текст запроса (добавить туда TIME)
2. в ТП добавить колонку Time, данные = "Time"
3. в ПриВыводеСтроки просто делать
Код
Выбрать все
ВремяВСекундах = _StrToId(ТекущиеДанные.Time);
// СтрокаВремя = тут преобразование в строку
ОформлениеСтроки.Ячейки.Time.УстановитьТекст(СтрокаВремя); 

  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #559 - 19. Апреля 2010 :: 11:04
Печать  
в ПоставщикДанных.ИндексированнаяТаблица в ТекущиеДанные нехватет одной последней колонки (видимо из-за служебной колоки Номер)

  

1_001.png ( 32 KB | Загрузки )
1_001.png
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #560 - 19. Апреля 2010 :: 12:23
Печать  
Может от того что пустая колонка в запросе?
А вообще ТекущиеДанные - объект 1С++, а не класса Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #561 - 19. Апреля 2010 :: 15:03
Печать  
не, добавил пустую колонку чтобы договор появился.
а в индексированной таблице есть...

зы а ТекущиеДанные привычней...
  
Наверх
wwwICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #562 - 20. Апреля 2010 :: 04:28
Печать  
ХЕЛП!
некоторое время форма подьора проработала нормально, но непонятно после чего началось выпадание базы
пишет "подключение занято до получения результатов другого hstmt"
форму не трогал, ничего не добавлял - отработало в таком виде ровно неделю... причем именно работало - это основной инструмент манагеров в магазинах
куда посмотреть? отладчиком прошел, не понятно ничего
происходит при навигации по табличному полю (справочник прайс с остатками), причем если ходить по нему КЛАВИШАМИ
и вниз по группам можно зайти, а при выходе из групы - валится с ошибкой
При этом, если выйти МЫШКОЙ - не валится!
что это может быть, куда смотреть?
пролазил везде, мозг напух... Печаль

Код может и не шедевр, но работал....
Код
Выбрать все
Процедура КонтейнерТабличноеПолеПриПолученииЗапроса(ТабличноеПоле,Структура)
	ДанныеСправочник = ПоставщикДанных.Данные;

	Структура.Колонки = Структура.Колонки + "
	|	,Остаток.Кво AS ДельтаОбщая
	|	,Остаток1.Кво AS Дельта1
	|	,Остаток2.Кво AS Дельта2
	|	,Остаток3.Кво AS Дельта3
	|	,Остаток4.Кво AS Дельта4
	|";

	Структура.Источник = Структура.Источник + "
	|LEFT JOIN (
	|select Остатки.ТМЦ,sum(Остатки.КвоОстаток)as Кво
	|from
	|(select ТМЦ,Склад,КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Остатки(
	|		,
	|		,(ТМЦ,Склад)
	|		,(Кво)) as Остатки
	|Union ALL
	|select ТМЦ,Склад,(-1)*КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Резерв(
	|		,
	|		,(ТМЦ,Склад)
	|		,(Кво)) as Резерв) AS Остатки
	|where Склад IN (SELECT Val FROM #Склады)
	|group by  Остатки.ТМЦ
	|) as Остаток
	|ON Остаток.ТМЦ = $ТекущийОбъект.ТМЦ
	|
	|LEFT JOIN (
	|select Остатки.ТМЦ,sum(Остатки.КвоОстаток)as Кво
	|from
	|(select ТМЦ,КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Остатки(
	|		,Склад = :Склад1
	|		,(ТМЦ)
	|		,(Кво)) as Остатки
	|Union ALL
	|select ТМЦ,(-1)*КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Резерв(
	|		,Склад = :Склад1
	|		,(ТМЦ)
	|		,(Кво)) as Резерв) AS Остатки
	|group by  Остатки.ТМЦ
	|) AS Остаток1
	|ON Остаток1.ТМЦ = $ТекущийОбъект.ТМЦ
	|
	|LEFT JOIN (
	|select Остатки.ТМЦ,sum(Остатки.КвоОстаток)as Кво
	|from
	|(select ТМЦ,КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Остатки(
	|		,Склад = :Склад2
	|		,(ТМЦ)
	|		,(Кво)) as Остатки
	|Union ALL
	|select ТМЦ,(-1)*КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Резерв(
	|		,Склад = :Склад2
	|		,(ТМЦ)
	|		,(Кво)) as Резерв) AS Остатки
	|group by  Остатки.ТМЦ
	|) AS Остаток2
	|ON Остаток2.ТМЦ = $ТекущийОбъект.ТМЦ
	|
	|LEFT JOIN (
	|select Остатки.ТМЦ,sum(Остатки.КвоОстаток)as Кво
	|from
	|(select ТМЦ,КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Остатки(
	|		,Склад = :Склад3
	|		,(ТМЦ)
	|		,(Кво)) as Остатки
	|Union ALL
	|select ТМЦ,(-1)*КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Резерв(
	|		,Склад = :Склад3
	|		,(ТМЦ)
	|		,(Кво)) as Резерв) AS Остатки
	|group by  Остатки.ТМЦ
	|) AS Остаток3
	|ON Остаток3.ТМЦ = $ТекущийОбъект.ТМЦ
	|
	|LEFT JOIN (
	|select Остатки.ТМЦ,sum(Остатки.КвоОстаток)as Кво
	|from
	|(select ТМЦ,КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Остатки(
	|		,Склад = :Склад4
	|		,(ТМЦ)
	|		,(Кво)) as Остатки
	|Union ALL
	|select ТМЦ,(-1)*КвоОстаток as КвоОстаток
	|from
	|	$РегистрОстатки.Резерв(
	|		,Склад = :Склад4
	|		,(ТМЦ)
	|		,(Кво)) as Резерв) AS Остатки
	|group by  Остатки.ТМЦ
	|) AS Остаток4
	|ON Остаток4.ТМЦ = $ТекущийОбъект.ТМЦ
	|";
КонецПроцедуры 


  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #563 - 20. Апреля 2010 :: 04:57
Печать  
есть ряд подозрений, но главное что могу сказать, нафига такой сложный запрос? Почему нельзя дополнительную кнопку сделать с пересчетом остатков и укладкой во временную таблицу, а уж ее соединять со справочником? Было бы "дешевле".
И кстати поиском пробежался, с такой ошибкой были советы ребутнуть сервер или скуль.

Пы.сы. раз ты просишь не комментировать сам запрос, тогда пока воздержусь Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #564 - 20. Апреля 2010 :: 05:00
Печать  
Anatol писал(а) 19. Апреля 2010 :: 11:04:
в ПоставщикДанных.ИндексированнаяТаблица в ТекущиеДанные нехватет одной последней колонки (видимо из-за служебной колоки Номер)


Пример дашь чтобы протестить?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #565 - 20. Апреля 2010 :: 05:06
Печать  
сорри, я может не до конца корректно написал
запрос идиотский до безобразия - по причине, что хоят автоматическое обновление остатков
в противном случае автообновление не работает
второй вариант - вернуть врем. таблицу и повесить обновление временной таблицы на обработку ожидания

кстати, отключил именно этот сложный запрос - все работает...
ребут скуля и терминальника не помог - вчера проверяли
Да, выяснил - вчера переделывали структуру этого справочника!!!
т.е. переносили группы и элементы
после этого началось...
есть подозрение, что где-то появились кривые ссылки, но не обработками, ни просто глазами не нашли Печаль
старый штатный подбор работает без проблем...

а запрос комментировать можно и нужно - если есть варианты его упростить...
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #566 - 20. Апреля 2010 :: 05:08
Печать  
vandalsvq писал(а) 20. Апреля 2010 :: 05:00:
Пример дашь чтобы протестить?


вот собственно сама эта обработка.
  

___________________________________001.ert ( 49 KB | Загрузки )
Наверх
wwwICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #567 - 20. Апреля 2010 :: 05:26
Печать  
развернул рядом бэкап на день раньше до происшествия - все работает
таки косяк в данных, который ведет к выпаданию базы...
буду думать...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #568 - 20. Апреля 2010 :: 05:36
Печать  
Как такой вариант запроса?
(я имена колонок малость поменял)

Код
Выбрать все
LEFT JOIN (
	select
		ОстаткиРезервы.ТМЦ
		,sum(ОстатокСклад) ОстатокСклад
		,sum(ОстатокСклад1) ОстатокСклад1
		,sum(ОстатокСклад2) ОстатокСклад2
		,sum(ОстатокСклад3) ОстатокСклад3
		,sum(ОстатокСклад4) ОстатокСклад4
	from (
		select
			vt3.ТМЦ
			,case
				when vt3.Склад = :Склад1
				then sum(vt3.КолОстаток)
			end ОстатокСклад1
			,case
				when vt3.Склад = :Склад2
				then sum(vt3.КолОстаток)
			end ОстатокСклад2
			,case
				when vt3.Склад = :Склад3
				then sum(vt3.КолОстаток)
			end ОстатокСклад3
			,case
				when vt3.Склад = :Склад4
				then sum(vt3.КолОстаток)
			end ОстатокСклад4
			,case
				when vt3.Склад NOT IN (:Склад1,:Склад2,:Склад3,:Склад4)
				then sum(vt3.КолОстаток)
			end ОстатокСклад
		from (
			select
				vt1.ТМЦ, vt1.Склад, vt1.КвоОстаток КолОстаток
			from
				$РегистрОстатки.Остатки(
					,(Склад in (select val from #Склады))
					,(Склад,ТМЦ)
					,(Кво)) as vt1
			union all
			select
				vt2.ТМЦ, vt2.Склад, vt2.КвоОстаток
			from
				$РегистрОстатки.Резерв(
					,(Склад in (select val from #Склады))
					,(Склад,ТМЦ)
					,(Кво)) as vt2
			) as vt3
		group by
			vt3.Склад, vt3.ТМЦ
		) as ОстаткиРезервы
	group by
		ОстаткиРезервы.ТМЦ
	) as Остатки
ON $ТекущийОбъект.ТМЦ = Остатки.ТМЦ 



Таблица "#Склады" должна содержать все склады включая Склад1,2,3 и 4 которые ты устанавливал отдельными параметрами.
« Последняя редакция: 20. Апреля 2010 :: 08:20 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #569 - 20. Апреля 2010 :: 05:39
Печать  
vandalsvq писал(а) 20. Апреля 2010 :: 05:36:
Как такой вариант запроса?

спасибо, ушел осознавать Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #570 - 20. Апреля 2010 :: 05:40
Печать  
mctoha писал(а) 20. Апреля 2010 :: 05:26:
развернул рядом бэкап на день раньше до происшествия - все работает
таки косяк в данных, который ведет к выпаданию базы...
буду думать...

В общем проблема в уникальности ключа который у поставщика табличного поля. При разной сортировки ключ задается всегда разный. Обрати внимание на новые элементы которые добавились.
Сам ключ он повторяет 1С-овский индекс. Смотри процедуру УстановитьПоставщикаДанных в КОП ПоставщикДанных.Справочник. Копать надо где то тут...
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #571 - 20. Апреля 2010 :: 05:44
Печать  
Anatol писал(а) 20. Апреля 2010 :: 05:08:
вот собственно сама эта обработка.

Посмотрю может ближе к вечеру.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #572 - 20. Апреля 2010 :: 06:45
Печать  
пришел
осознал, вставил в рабочую базу - работает!
даже успел до начала рабочего дня  Улыбка
видимо косяк произошел в данных, и неоптимальный запрос на него натыкался
поразило другое - КАК ты так четко и красиво наваял запрос????
И суть сразу понял, ну пару ньюансов я поправил - но учитывая время твоего ответа - снимаю шляпу...
Большое спасибо!!

На таких профи надо равняться  Подмигивание
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #573 - 20. Апреля 2010 :: 06:59
Печать  
vandalsvq писал(а) 20. Апреля 2010 :: 05:40:
В общем проблема в уникальности ключа который у поставщика табличного поля. При разной сортировки ключ задается всегда разный. Обрати внимание на новые элементы которые добавились.

да, проблему обошли, но все решить ее прийдется рано или поздно
по свободе постараюсь понять, в чем же причина
бэкап глючной базы тоже отложил (несмотря на ее 4 гектара  Ужас) )
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #574 - 20. Апреля 2010 :: 08:02
Печать  
mctoha писал(а) 20. Апреля 2010 :: 06:45:
поразило другое - КАК ты так четко и красиво наваял запрос????
И суть сразу понял, ну пару ньюансов я поправил


Может звезды сошлись? настроение может хорошее... кто его знает...
А пара нюансов... точно, там же у тебя Резерв вычитается из остатка, а еще группировку по самому последнему вложенному запросу забыл поставить, и суммирование соответственно. Сча подправлю...

Рад что смог помочь.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #575 - 20. Апреля 2010 :: 14:41
Печать  
Подскажите как получить время документа?


ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
ПоставщикДанных.ТипЗначений = "Журнал.Общий" ;
ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП";
ПоставщикДанных.КонтейнерКоманднойПанели = "Панель";

ДанныеСпр = ПоставщикДанных.Данные;


ДанныеСпр.НоваяКолонка("НомерДокумента");

ДанныеСпр.НоваяКолонка("ДатаДокумента");
ДанныеСпр.НоваяКолонка("Фирма");
ДанныеСпр.НоваяКолонка("ВремяДокумента"); << ТУТ ОШИБКА!
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #576 - 20. Апреля 2010 :: 17:45
Печать  
Страничку-две назад просмотри
  
Наверх
 
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #577 - 22. Апреля 2010 :: 11:28
Печать  
Help! Помогите сделать быстрый поиск по контрагенту.
Ошибка: Для поиска по данному реквизиту нажмите кнопку Ctrl+F.


Создал журнал новый.
Добавил туда документы. Тип журнала Дополнительный.
Добавил туда новую графу, назвал Контрагент. Указал в каких документах есть этот реквизит .

(В общий список реквизитов мне не добавить Контрагент. Что и так понятно, ведь в документах уже есть такой реквизит.)


А поиск например по Фирме у меня работает. Т.к он есть в общих реквизитах документа.

Не знаю что делать тперь.. но очень нужен быстрый поиск по контрагенту.. Печаль((

Может можно создать доп. колонку и когда таблица создает новые строки в поставщике - запихнуть туда имя контрагента.. может тогда будет работать поиск??
Уже 2 день не могу решить эту проблему..
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #578 - 22. Апреля 2010 :: 11:55
Печать  
Переписать на Табличное поле не предлагать?
  
Наверх
ICQ  
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #579 - 22. Апреля 2010 :: 11:57
Печать  
Медленно будет открывать все документы.. наверное...
В общем я делаю свой общий журнал документов. Использую ТП + поставщик данных.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #580 - 22. Апреля 2010 :: 12:21
Печать  
Salimbek писал(а) 22. Апреля 2010 :: 11:55:
Переписать на Табличное поле не предлагать?

Поставщик он как бы и так на табличном поле Улыбка... там проблема в другом

admin spb писал(а) 22. Апреля 2010 :: 11:57:
Медленно будет открывать все документы.. наверное...
В общем я делаю свой общий журнал документов. Использую ТП + поставщик данных.

Мы с тобой обсуждали. Силами поставщика тебе не получится счас сделать, без дописки самого поставщика. Дорабатывать его (убирать эти ограничения) у меня времени нет, и наврядли предвидится. Не понимаю чем сочетание Отбор + Поиск (Ctrl+F) не устраивает. Намного больше возможностей.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #581 - 22. Апреля 2010 :: 12:57
Печать  
Цитата:
Мы с тобой обсуждали. Силами поставщика тебе не получится счас сделать, без дописки самого поставщика. Дорабатывать его (убирать эти ограничения) у меня времени нет, и наврядли предвидится. Не понимаю чем сочетание Отбор + Поиск (Ctrl+F) не устраивает. Намного больше возможностей.


Изначала была задача такая:
В общем журнале (в стандартном) добавить три закладки.
Склад 1,Склад 2,Все склады.
И показывать только нужные склады или все. - но при этом еще должен быть отбор по виду документа.

Проблема в том что 1С функция УстановитьОтбор может только по одному реквизиту. Создавать свой реквизит во всех документах и туда записывать ВидДокумента+Фирма и отбирать по этому реквизиту - не вариант.
Других способов я не знаю. Очень давно (2 года назад) пользуюсь ТП. Решил создать свой журнал с использованием поставщика данных.
Все вроде сделал, но теперь столкнулся с проблемой что не работает быстрый поиск ТОЛЬКО по контрагенту. А люди, кто работает в базе уже привыкли использовать быстрый поиск по контрагенту. 
Есть одна идея, плохая) Это создать Общий реквизит Контрагенты1
И когда поставщик данных заполняет ТП, то записывать данные в этот реквизит..  но не сохранять в базу. Может в этом случае в ТП будет работать быстрый отбор. В общем директор сказал что либо до понедельника решишь проблему с быстрым поиском.. либо вернемся к старому варианту... будем просто красить строки в другой цвет, в зависимости от склада... что не очень то хочется.

Одна надежа на этот форум.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #582 - 22. Апреля 2010 :: 14:02
Печать  
может тебе такой вариант подойдет

если ПриБыстромПоиске модифицировать запроос добавив дополнительную таблицу

Код
Выбрать все
inner join $Справочник.Контрагенты AS БыстрыйПоиск (nolock) ON $журнал.Контрагент = БыстрыйПоиск.ID 



а секцию условий

Код
Выбрать все
WHERE
.......
 AND БыстрыйПоиск.descr Like '%" + ТекстПоиска + "%' "; 

« Последняя редакция: 22. Апреля 2010 :: 20:31 - Anatol »  
Наверх
wwwICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #583 - 22. Апреля 2010 :: 18:50
Печать  
Очередная проблема Печаль
пытался реализовать поиск по наименованию взамен стандартного
Код
Выбрать все
Процедура Поиск(Направление)
	Если ПустоеЗначение(ВыбНаименование)=1 Тогда
		Возврат;
	КонецЕсли;

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
	ДанныеСправочник = ПоставщикДанных.Данные;
	ПрямойЗапрос = ДанныеСправочник.ПрямойЗапрос;

	Если ПустоеЗначение(ТабличноеПоле.ТекущиеДанные) = 1 Тогда
		ТекПорядок = 0;
	Иначе
		ТекПорядок = ТабличноеПоле.ТекущиеДанные.Порядок;
	КонецЕсли;

	хнегоУровня);
	ПрямойЗапрос.УстановитьТекстовыйПараметр("Порядок",ТекПорядок);

	ТекстЗапроса = ПрямойЗапрос.ПодготовитьТекстЗапроса("
	|select TOP 1
	|  $Спр.ТекущийЭлемент AS [Элем $Справочник.ПрайсЛист]
	|from Справочник.ПрайсЛист AS Спр
	|INNER JOIN Справочник.ТМЦ AS СпрТМЦ ON((СпрТМЦ.ID = $Спр.ТМЦ)AND(СпрТМЦ.Descr like '%"+СокрЛП(ВыбНаименование)+"%'))
	|Where Спр.ParentID = :Родитель
	| AND $Спр.Порядок "+?(Направление>0,">","<")+" :Порядок
	|Order by $Спр.Порядок "+?(Направление>0,"","Desc")+"
	|");

	сп = СоздатьОбъект("СписокЗначений");
	ПрямойЗапрос.Выполнить("СписокЗначений",ТекстЗапроса,1).Выгрузить(сп);
	Если сп.РазмерСписка()=0 Тогда
		Предупреждение("Значение "+Симв(34)+СокрЛП(ВыбНаименование)+Симв(34)+" не найдено");
	Иначе
		ТабличноеПоле.ТекущаяСтрока = сп.ПолучитьЗначение(1);
	КонецЕсли;
КонецПроцедуры
 



так вот - при поиске внутри группы падает на строке кода
Код
Выбрать все
ТабличноеПоле.ТекущаяСтрока = сп.ПолучитьЗначение(1); 


и падает на ВТОРОЙ раз
первый раз код отрабатывает
второй раз значение найдено - проверил, но падает в осадок и опять пишет что занято получением других данных Печаль
что интересно: при поиске на самом верхнем уровне - все ок...
сколько хочешь ищи в обе стороны
какие есть еще варианты активизировать строку в текущем поле?
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #584 - 22. Апреля 2010 :: 19:36
Печать  
и можно ли как-то уберечь базу от выпадания в осадок?
какие-то конструкции обработки ошибок типа Попытка.. Исключение?

а то неприятно...
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #585 - 22. Апреля 2010 :: 20:12
Печать  
Зачем столь сложное получение объекта "ПрямойЗапрос"? Может просто:
Код
Выбрать все
РС = СОздатьОбъект("ODBCRecordSet");
РС.УстТекстПарам(...);
РС.ВыполнитьИнструкцию(...);
...тут получить нужное значение ИД-поля...
ТП.ТекущаяСтрока(НовыйИД); 

  
Наверх
ICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #586 - 22. Апреля 2010 :: 20:38
Печать  
видимо в тп попадает несколько одинаковых записей
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #587 - 23. Апреля 2010 :: 06:36
Печать  
Ребят ну вы тут развели... стоит уйти и такая бяка тут происходит. Смех

mctoha, твой поиск весьма не точен, он не учитывает сортировку. Но в принципе это не страшно.
Ты лучше создай отдельный объект "ПрямойЗапрос" и его используй для запроса. Использование данного объекта из самого класса в текущей версии опасно подобными "глюками".

Salimbek, ODBC - это для скулы. А я лично за "универсальность" Улыбка

Anatol, сдается мне что проблема либо в том что текст запроса меняется в  ПриПолученииЗапроса, но если этого нет, тогда проблема в том что сбиваются параметры самого поставщика когда mctoha выполяет поиск.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #588 - 24. Апреля 2010 :: 19:46
Печать  
В общем выпущен новый релиз.

3.04.020 от 24.04.10 г.
- Метод «Выбрать» у объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» может принимать строку с разделителями в качестве параметра.
- Добавлена колонка «ВремяДокумента» у объектов-расширений табличного поля «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал». Колонка отображается в отборе и участвует в быстром поиске. При этом значения поиска могут задаваться как строка времени с разделителями (ЧЧ:ММ:СС) так и без разделителей (ЧЧММСС), при этом задание полного значения не обязательно. Например для поиска между 12 и 13 часами достаточно передать ЗначениеС = «12», ЗначениеПо = «13».
- Редактирование интервала с типом Число и Время в форме отбора происходит через дополнительное окно.
- ВНИМАНИЕ: при запуске в SQL формате БД создается процедура «ConvertIDTimeToTime». Данная процедура осуществляет конвертацию 36-тиричной строки TIME, в строку формата “ЧЧ:ММ:СС».
- Для объекта-расширения табличного поля «ПоставщикДанных.Журнал» добавлена возможность поиска по подстроке по графам журнала документов.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #589 - 24. Апреля 2010 :: 20:39
Печать  
Добавил новый функционал (пока в beta-версии):

Цитата:
Синтаксис: ДобавитьСоединениеДанных(ИдентификаторСоединения,ТекстЗапроса)
Параметры:
  • ИдентификаторСоединения - Строка. Идентификатор соединения для обращения к нему.
  • ТекстЗапроса - Строка. Текст запроса для добавления к основному запросу поставщика данных. Текст запроса должен начинаться с "left|inner|левое|внутреннее join|соединение" и содержать строку "on ....".

Назначение: добавляет к основному текст запроса данное соединение.


Цитата:
Синтаксис: УдалитьСоединениеДанных(ИдентификаторСоединения)
Параметры:
  • ИдентификаторСоединения - Строка.

Назначение: удаляет текст соединения. При этом удаление добавленных колонок не происходит. Пользователь должен сам позаботиться об очистке ТП от колонок использующих в данных соединение.


Цитата:
Синтаксис: ,ПризнакОтбора)
Параметры:
  • ИмяКолонки - Строка. Идентификатор колонки для обращения к ней. Не может совпадаться с реквизитами справочника и ранее добавленными колонками.
  • Заголовок - Строка. Заголовок колонки для подстановки в ТП.
  • РеквизитЗапроса - Строка. Текст запроса реквизита.
  • ТипВид - Строка. Тип и вид реквизита. Используется для типизации значения. По умолчанию: пустая строка.
  • Длина - Число. Максимальная длина значения реквизита. По умолчанию: 0.
  • Точность - Число. Максимальная точность значения реквизита. По умолчанию: 0.
  • ПризнакОтбор - Число (1,0). Признак участия реквизита в отборе данных. По умолчанию: 0.

Назначение: добавляет информацию о колонке данных в объект-расширение. При этом добавление колонки в ТП происходит стандартным образом через метод НоваяКолонка(). Для добавленных колонок при условии совпадения всех требований возможен отбор, поиск и быстрый поиск.


Цитата:
Синтаксис: УдалитьКолонкуДанных(ИмяКолонки)
Параметры:
  • ИмяКолонки - Строка.

Назначение: удаляет информацию о колонке данных. При этом удаление из ТП ее не происходит. Для удаления колонки пользователь обязан вызвать метод "УдалитьКолонку".
  

1Cv7_ext_TF_join_001.rar ( 400 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #590 - 24. Апреля 2010 :: 20:57
Печать  
Пример реализации колонки "Остаток ТМЦ" при помощи данного метода:

Код
Выбрать все
	ТекстСоединения = "left join
	|	$РегистрОстатки.ТМЦ(
	|		,
	|		,(Контрагент)
	|		,(Количество)) as vt_rg_total
	|on $ТекущийОбъект.ТекущийЭлемент = vt_rg_total.Контрагент
	|";
	Данные.ДобавитьСоединениеДанных("ОстаткиПоКонтрагенту",ТекстСоединения);
	Данные.ДобавитьКолонкуДанных("КолОстаток","ТМЦ остаток","vt_rg_total.КоличествоОстаток","Число",19,2,1);

	Данные.НоваяКолонка("Код");
	Данные.НоваяКолонка("Наименование");
	Данные.НоваяКолонка("КолОстаток",1); 



Преимущество данного метода над модицикацией текста запроса при помощи события ПриПолученииЗапроса() в том, что добавленная колонка "КолОстаток" будет учавствовать в отборе, быстром поиске, поиске по подстроке, и при этом по ней подсчитывается итог по текущей группе.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #591 - 26. Апреля 2010 :: 06:54
Печать  
"- Для объекта-расширения табличного поля «ПоставщикДанных.Журнал» добавлена возможность поиска по подстроке по графам журнала документов."
Good!!!

vandalsvq - огромное Вам спасибо!!! -Вы помогли решить для нашей фирмы важную проблему с быстрым поиском по графам! А так же очень быстро решили нашу проблему. По поводу денег, я Вам ответил по icq.


Хочу у Вас узнать, там есть контекстное меню в таблице. Вопрос, можно ли изменить название пунктов? А так же добавить, новый например свой? Хочу добавить новый пункт. "Подчиненные документы" (а то в стандартном есть, а в этом меню нет Печаль


  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #592 - 26. Апреля 2010 :: 08:47
Печать  
По icq ответил уже. Меню надо составлять в таком случае самостоятельно. Можно скомуниздить процедуру из класса.

Пы.сы. нашел один неприятный баг, оказывается поиск в справочнике с иерархией перестал работать Улыбка. Сегодня исправлю и выложу.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #593 - 26. Апреля 2010 :: 09:28
Печать  
дошли руки поисследовать проблему выпадания базы
так вот, все баги именно из-за того соединения в запросе для получения остатков  Плачущий
если его просто отключить - то и мой простенький поиск работает как надо, и в других местах выпаданий не случается
вот только не могу взять в толк, что ему не так с этими соединениями...
уже пробовал и создавать новый объект "ПрямойЗапрос" и им оперировать для получения дополнительных данных - без разницы
пробовал отключить автообновление - не влияет
понял почему работает на первом уровне - там нет остатков, так как одни группы
обидно
попробую еще через новую возможность с соединениями, но думаю результат будет тот же
складывается впечатление ,что в момент активизации строки происходит еще какой-то запрос, и поэтому база падает
потому что если значение второй раз в списке не найдено (не вызывается активизация строки) - то все в порядке....
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #594 - 26. Апреля 2010 :: 09:40
Печать  
еще уточнение
прошелся профайлером - в момент активизации строки выполняется запрос для обновления данных это  активизируемой строки (т.е. выполняется мой запрос поставщика данных со всеми соединениями, с фильтром по ИД)
ну и дальше выпадание
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #595 - 26. Апреля 2010 :: 10:06
Печать  
А соединением с базой каким пользуешься? Случайно не тем же, на который ТП завязано?
  
Наверх
ICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #596 - 26. Апреля 2010 :: 10:16
Печать  
Salimbek писал(а) 26. Апреля 2010 :: 10:06:
А соединением с базой каким пользуешься? Случайно не тем же, на который ТП завязано?

я создаю объект "ПрямойЗапрос"
подозреваю, что соединение он будет пользовать тоже самое, что и объект "ПоставщикДанных"

ты это имеешь в виду?

Добаление:
поглядел конструктор класса ПрямойЗапрос
там присутствует вызов
Код
Выбрать все
ЗапросODBC = СоздатьОбъект("ODBCRecordSet");
 


так что наверное мимо
  
Наверх
 
IP записан
 
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #597 - 26. Апреля 2010 :: 10:42
Печать  
В поиске не нарыл, так что сюда:
А вот как бы мне заменить стандартную форму списка справочника на ПоставщикДанных?
Код
Выбрать все
ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП"; 

Не догоняю, что указать в качестве имени атрибута Печаль
  
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #598 - 26. Апреля 2010 :: 10:54
Печать  
EugenVitla писал(а) 26. Апреля 2010 :: 10:42:
А вот как бы мне заменить стандартную форму списка справочника на ПоставщикДанных?
Код
Выбрать все
ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП"; 

Не догоняю, что указать в качестве имени атрибута Печаль

есть 2 варианта Улыбка
1. пишешь все в обработке и для подбора открываешь обработку
баг - я не смог заставить эту обработку открываться 2 раза - например, подбор из 2-х разных документов. Как оказалось, у моих манагеров это востребовано
2. Пишешь тот же самый код в форме списка справочника, и скрываешь многострочную часть
как юзать ее в качестве Контейнера я не придумал, но в принципе мой вариант работает
т.е. я все отлаживаю в обработке, а потом переношу  код в форму справочника
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #599 - 26. Апреля 2010 :: 11:28
Печать  
mctoha писал(а) 26. Апреля 2010 :: 10:16:
я создаю объект "ПрямойЗапрос"
подозреваю, что соединение он будет пользовать тоже самое, что и объект "ПоставщикДанных"

ты это имеешь в виду?

Добаление:
поглядел конструктор класса ПрямойЗапрос
там присутствует вызов
Код
Выбрать все
ЗапросODBC = СоздатьОбъект("ODBCRecordSet");
 


так что наверное мимо

В твоем посте за #583 ты получаешь объект "ПрямойЗапрос" из Поставщика данных для твоего Табличного поля. Могу предположить, что когда ты, используя этот объект вызываешь свой запрос, твое Табличное поле начинает "глючить", т.к. вместо выдачи данных для твоего Табличного поля он обслуживает другой участок кода. Примера кода, когда ты делаешь, я создаю объект "ПрямойЗапрос" , я не видел.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #600 - 26. Апреля 2010 :: 11:29
Печать  
mctoha писал(а) 26. Апреля 2010 :: 10:54:
1. пишешь все в обработке и для подбора открываешь обработку
баг - я не смог заставить эту обработку открываться 2 раза - например, подбор из 2-х разных документов. Как оказалось, у моих манагеров это востребовано

А в чем там была проблема? Значек "#" ставил в конце имени обработки?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #601 - 26. Апреля 2010 :: 11:34
Печать  
mctoha писал(а) 26. Апреля 2010 :: 10:54:
...я не смог заставить эту обработку открываться 2 раза...

А не пробовал использовать:
Цитата:
Для журналов, отчетов, списков в конце строки описателя формы может быть указан символ "#" с некоторым идентификатором: "#LLLL". Это используется для того, чтобы данная форма открылась в новом окне, а не активизировала существующее окно этой формы, если оно открыто.

...опередил Улыбка
  
Наверх
ICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #602 - 26. Апреля 2010 :: 11:35
Печать  
Salimbek писал(а) 26. Апреля 2010 :: 11:28:
В твоем посте за #583 ты получаешь объект "ПрямойЗапрос" из Поставщика данных для твоего Табличного поля.

по замечаниям на форуме я исправил этот код, поставил создание нового объекта "ПрямойЗапрос"
сюда не выкладывал - и так все понятно
но ситуация не изменилась, поэтому продолжаю дальше спрашивать   Печаль
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #603 - 26. Апреля 2010 :: 11:40
Печать  
JohnyDeath писал(а) 26. Апреля 2010 :: 11:29:
А в чем там была проблема? Значек "#" ставил в конце имени обработки?

я может и олень, но у меня это не работало в процедуре ОткрытьПодбор
если просто ОткрытьФорму - то работает, но тогда Форма.ВыполнитьВыбор не работает
можно было и переписать все, чтобы работало ОткрытьФорму и т.д., но не хотелось исправлять все документы
решил вопрос таким способом...
  
Наверх
 
IP записан
 
EugenVitla
Junior Member
**
Отсутствует


школьнег

Сообщений: 82
Местоположение: Москва
Зарегистрирован: 21. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #604 - 26. Апреля 2010 :: 11:43
Печать  
mctoha писал(а) 26. Апреля 2010 :: 10:54:
EugenVitla писал(а) 26. Апреля 2010 :: 10:42:
А вот как бы мне заменить стандартную форму списка справочника на ПоставщикДанных?
Код
Выбрать все
ПоставщикДанных.КонтейнерТабличногоПоля = "КонтейнерТП"; 

Не догоняю, что указать в качестве имени атрибута Печаль

есть 2 варианта Улыбка
1. пишешь все в обработке и для подбора открываешь обработку
баг - я не смог заставить эту обработку открываться 2 раза - например, подбор из 2-х разных документов. Как оказалось, у моих манагеров это востребовано
2. Пишешь тот же самый код в форме списка справочника, и скрываешь многострочную часть
как юзать ее в качестве Контейнера я не придумал, но в принципе мой вариант работает
т.е. я все отлаживаю в обработке, а потом переношу  код в форму справочника

О, а как прячешь стандартную многострочную? Галки "Видимость" в ее свойствах нет Печаль
  
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #605 - 26. Апреля 2010 :: 12:00
Печать  
EugenVitla писал(а) 26. Апреля 2010 :: 11:43:
О, а как прячешь стандартную многострочную? Галки "Видимость" в ее свойствах нет Печаль

например
Код
Выбрать все
	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.УстановитьФорму(Форма);
	МЧ = ФормаРасш.ПолучитьАтрибут("МногострочнаяЧасть");
	МЧ.Видимость=0; 

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #606 - 26. Апреля 2010 :: 12:08
Печать  
Если планируете скрывать многострочную часть, делайте ее минимально возможной высотой, чтобы у 1С не появилось желание считывать много данных Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #607 - 26. Апреля 2010 :: 12:10
Печать  
mctoha, готов помочь посмотреть вылеты если ты сможешь подрезать базу настолько что останется только те справочники и регистры которые нужны для теста.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #608 - 26. Апреля 2010 :: 12:32
Печать  
vandalsvq
написал в ЛС
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #609 - 26. Апреля 2010 :: 13:44
Печать  
пока поступил так:
1. вернул получение остаков на временную таблицу
2. повесил обновление таблицы
Код
Выбрать все
	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.УстановитьФорму(Форма);
	ФормаРасш.ОбработкаОжидания("ПересчитатьОстаткиТМЦ",3000);
 



выпадания прекратились, фильтры-поиски работают
надо будет тестить в живой базе при рабочей нагрузке, вечером перенесу
а то 30 человек изгнать среди дня проблематично - работать хотят  Смех
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #610 - 26. Апреля 2010 :: 14:09
Печать  
А ты TurboMD для таких случаев заюзай. Ведь ты ж только модули формы и сами формы правил. Или нет?
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных"
Ответ #611 - 26. Апреля 2010 :: 14:40
Печать  
JohnyDeath
хорошая мысль, но необходимости срочной пока нет
правил тока формы и модули, структуру действительно не трогал
  
Наверх
 
IP записан
 
Stalker_9000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #612 - 27. Апреля 2010 :: 08:20
Печать  
Здравствуйте. Хотелось бы сказать огромное спасибо за весь тот титанический труд в разработке и отладке классов Поставщик данных.
Работает все отлично.
Но при использовании журнала документов, при установке отбора по виду документов вылетает с ошибкой:
"ПоставщикДанных.ИндексированнаяТаблица::ПриРедактированииЗначения(Число ТекущаяСтрока=5, КолонкаТабличногоПоля ТекущаяКолонка=, Число ТипРегиона=3, Метаданные Значение=) : Для класса ВыполняемыйМодуль рекурсивные вызовы запрещены"

Для меня отбор по виду документов актуален. Что-то не так с обработкой, или косяк в классах?

P.S.: вылет происходит в момент выбора вида документа для отбора. По другим реквизитам отбирает нормально.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #613 - 27. Апреля 2010 :: 10:02
Печать  
И так, поскольку я вчера спал с 7 вечера до сегодняшних 8 утра, выкладываю обновление только счас...

3.04.021 от 27.04.10 г.
- Новый атрибут объекта «ПоставщикДанных» - Версия.
- Исправлены некоторые выявленные ошибки в ранней версии.

Пы.сы. была ошибочка в нумерации версий, так что решил что атрибут будет не лишним.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #614 - 27. Апреля 2010 :: 10:04
Печать  
Кстати функционал описанный тут
http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/589#589
случайно попал в официальную сборку...
Сча заменю. решил что оставлю... если не пользоваться то ничего не изменится.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Stalker_9000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #615 - 27. Апреля 2010 :: 10:15
Печать  
Спасибо огромное!!!

Все заработало)
Поражаюсь оперативности)
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #616 - 27. Апреля 2010 :: 19:43
Печать  
Не могли бы Вы подсказать как получить значение (ссылку) на элемент справочника. А лучше пример. Пытаюсь создать на базе примера (справочник товаров) второе табличное поле в котором должна отображаться информация о ценах. Как указать владельца?
Я новичок, доку читал, но пока не все понял. Спасибо
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #617 - 28. Апреля 2010 :: 05:12
Печать  
Выложена новая версия класса и пример реализации Справочника "Номенклатура" с остатками по бух. итогам (счет 41) с использованием разных методов:
- события ПриПолученииЗапроса
- метода ДобавитьСоединениеДанных, ДобавитьКолонкуДанных

3.04.022 от 28.04.10 г.
- Исправлена ошибка сброса временной таблицы в классе ПоставщикДанных.ПрямойЗапрос.
  

goods_accounts.rar ( 22 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #618 - 28. Апреля 2010 :: 05:14
Печать  
radiks писал(а) 27. Апреля 2010 :: 19:43:
Не могли бы Вы подсказать как получить значение (ссылку) на элемент справочника. А лучше пример. Пытаюсь создать на базе примера (справочник товаров) второе табличное поле в котором должна отображаться информация о ценах. Как указать владельца?
Я новичок, доку читал, но пока не все понял. Спасибо


В общем смотри атрибут "Владелец" и "ИзменятьПросмотрПоВладельцу". Присваиваешь им значения и делаешь ПоставщикДанных.Обновить().

Цитата:
Владелец
Синтаксис: Владелец
Доступ: Чтение и запись
Тип: Элемент справочника.
Описание: Задает элемент для использования отбора по владельцу. При добавлении поставщика данных необходимо помнить, что добавление элементов при редактировании в списке происходит с подстановкой реквизита «Владелец», т.о. если элемент владелец не существует (элемент новый и не записан) необходимо запрещать редактирование в событии «ПередНачаломИзменения», при записи же элемента владельца его значение необходимо присвоить повторно.

Цитата:
ИзменятьПросмотрПоВладельцу
Синтаксис: ИзменятьПросмотрПоВладельцу
Доступ: Чтение и запись
Тип: Число (1,0).
Описание: Признак возможности интерактивного изменения просмотра справочника по владельцу.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #619 - 28. Апреля 2010 :: 05:52
Печать  
А можно кусок кода или пример, а то я пока не пойму, как это все увязывать?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #620 - 28. Апреля 2010 :: 05:59
Печать  
Код
Выбрать все
Поставщик = СоздатьОбъект("ПоставщикДанных");
Поставщик.КонтейнерТабличногоПоля = ИмяКнопкиТП;
Поставщик.КонтейнерКоманднойПанели = ИмяКнопкиКП;
Поставщик.ТипЗначений = "Справочник.Цены";
Данные = Поставщик.Данные;
Данные.Владелец = ТвойЭлемент;
Данные.ИзменятьПросмотрПоВладельцу = 0;

// тут ты добавляешь колонки, настраиваешь и делаешь что надо

Поставщик.Обновить(); 



Ну и не забудь что поставщик не контролирует добавление элементов если владелец пустой. Т.е. надо в событии ПередНачаломДобавления() проверять если владелец пуст то ФСО = 0 и сообщение об этом пользователю чтобы не утыкался в кнопки.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #621 - 28. Апреля 2010 :: 06:20
Печать  
Спасибо. Но я не пойму как взять "ТвойЭлемент"? Например у меня на форме два табличных поля, одно со списком товаров, другое - со списком цен по товару, на котором стоит курсор в списке товаров.
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #622 - 28. Апреля 2010 :: 06:22
Печать  
Как взять "Твой элемент"?
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #623 - 28. Апреля 2010 :: 06:25
Печать  
Сообщение неправильно пошло...
Как взять "ТвойЭлемент", если на форме два поля, одно со аписком товаров, другое со списком цен по товару, на котором стоит курсор в списке товаров?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #624 - 28. Апреля 2010 :: 06:38
Печать  
Например у тебя на форме два поставщика: ПоставщикТоваров и ПоставщикЦен. Тогда делаешь примерно следующее:
Код
Выбрать все
Процедура контейнерТПТоваровПриАктивизацииСтроки(тпТоваров)
ТекущийТовар = тпТоваров.ТекущиеДанные.Товар;//тут получаешь текущий выделенный товар

//далее обновляешь второе ТП с ценами:
ДанныеЦен = ПоставщикЦен.Данные
ДанныеЦен.Владелец = ТекущийТовар;
ПоставщикЦен.Обновить();
 


Примерно так.
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #625 - 28. Апреля 2010 :: 07:57
Печать  
спасибо, сейчас буду пробовать
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #626 - 28. Апреля 2010 :: 09:48
Печать  
Кстати, класс работает с SQL версией? Поставил на SQL - при попытке настройки списка из контекстного меню 1C-ка падает, не выдавая никаких сообщений.
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #627 - 28. Апреля 2010 :: 09:52
Печать  
+ все компоненты последние
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #628 - 28. Апреля 2010 :: 10:16
Печать  
Точнее - в настройке списка при попытке выбора реквизита справочника (напр. основной договор) падает 1С. При выборе Код, Наименование - все ОК.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #629 - 28. Апреля 2010 :: 10:57
Печать  
А ты переменную которая хранит поставщика хранишь в модуле? Ну т.е. она объявлена на весь модуль или в пределах процедуры создания?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #630 - 28. Апреля 2010 :: 11:10
Печать  
Извиняюсь - протупил. Улыбка
Ошибка возникает при настройке списка из контекстного меню.
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #631 - 28. Апреля 2010 :: 11:11
Печать  
При настройке из Командной панели - все работает.
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #632 - 28. Апреля 2010 :: 11:13
Печать  
vandalsvq писал(а) 28. Апреля 2010 :: 10:57:
А ты переменную которая хранит поставщика хранишь в модуле? Ну т.е. она объявлена на весь модуль или в пределах процедуры создания?

Да, в модуле
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #633 - 28. Апреля 2010 :: 12:41
Печать  
Тест или пример модуля...
Сча сам проверю на всякий случай... проверил, все путем.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #634 - 28. Апреля 2010 :: 13:31
Печать  
vandalsvq писал(а) 28. Апреля 2010 :: 12:41:
Тест или пример модуля...
Сча сам проверю на всякий случай... проверил, все путем.


Да пример стандартный, сдесь на форуме взял. Из командной панели все ОК. Из контекстного меню - ошибка.
  

_______________________002.ert ( 46 KB | Загрузки )
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #635 - 28. Апреля 2010 :: 13:35
Печать  
По подчиненному справочнику не пойму, что делаю не так
Поле агрегатного объекта не обнаружено (Товар)
Подскажите, что делаю не так
  

____3.ert ( 75 KB | Загрузки )
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #636 - 28. Апреля 2010 :: 13:37
Печать  
radiks писал(а) 28. Апреля 2010 :: 13:31:
vandalsvq писал(а) 28. Апреля 2010 :: 12:41:
Тест или пример модуля...
Сча сам проверю на всякий случай... проверил, все путем.


Да пример стандартный, сдесь на форуме взял. Из командной панели все ОК. Из контекстного меню - ошибка.


База SQL
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #637 - 28. Апреля 2010 :: 15:09
Печать  
radiks писал(а) 28. Апреля 2010 :: 13:35:
По подчиненному справочнику не пойму, что делаю не так
Поле агрегатного объекта не обнаружено (Товар)
Подскажите, что делаю не так


Разобрался сам. Спасибо  Очень довольный
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #638 - 28. Апреля 2010 :: 15:26
Печать  
А у тебя EnableTurboBL включен?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #639 - 28. Апреля 2010 :: 16:20
Печать  
Отловил... забавная штуковина... изучаю Улыбка впервые проблема не поддалась мне в первые несколько минут  Плачущий

Спустя 2 часа... причина известна... лекарство - нет... исследуем.  Нерешительный
« Последняя редакция: 28. Апреля 2010 :: 18:03 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #640 - 28. Апреля 2010 :: 18:04
Печать  
vandalsvq писал(а) 28. Апреля 2010 :: 15:26:
А у тебя EnableTurboBL включен?


Нет, а обязательно включать?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #641 - 28. Апреля 2010 :: 18:18
Печать  
vandalsvq писал(а) 28. Апреля 2010 :: 16:20:
Спустя 2 часа... причина известна... лекарство - нет... исследуем.  Нерешительный


так в чем причина?
зы если отключать контекстное меню, то тоже вылетает
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #642 - 28. Апреля 2010 :: 18:19
Печать  
radiks писал(а) 28. Апреля 2010 :: 18:04:
vandalsvq писал(а) 28. Апреля 2010 :: 15:26:
А у тебя EnableTurboBL включен?


Нет, а обязательно включать?

Я думал что может там причина, но причина оказывается вовсе не там. Как ее победить, пока я не знаю... попросил помощи более квалифицированных людей. Может что найдут. Меня к сожалению завтра не будет так что наврядли даже если станет известна причина смогу поправить.
Очень жаль что такой неприятный баг и я не могу пока ничего сделать Печаль
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #643 - 28. Апреля 2010 :: 18:20
Печать  
Anatol писал(а) 28. Апреля 2010 :: 18:18:
vandalsvq писал(а) 28. Апреля 2010 :: 16:20:
Спустя 2 часа... причина известна... лекарство - нет... исследуем.  Нерешительный


так в чем причина?
зы если отключать контекстное меню, то тоже вылетает

Нет... вылет только если через контекстное меню в настройке колонок установить для любой невидимой колонки признак видимости. Причем колонка должна быть не предопределенная (ЭтоГруппа и пр.), а именно реквизит справочника.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #644 - 29. Апреля 2010 :: 13:35
Печать  
покажите пример как сделать сортировку по реквизиту
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #645 - 29. Апреля 2010 :: 13:51
Печать  
Код
Выбрать все
Поставщик = СоздатьОбъект("ПоставщикДанных");
Поставщик.КонтейнерТабличногоПоля = ИмяКнопкиТП;
Поставщик.КонтейнерКоманднойПанели = ИмяКнопкиКП;
Поставщик.ТипЗначений = "Справочник.Цены";
Данные = Поставщик.Данные;
[b]Данные.РеквизитСортировки = "ИдентификаторРеквизита";[/b]


Поставщик.Обновить(); 




Необходимо помнить, что сортировка может осуществляться только по:
•Реквизиту «Код»
•Реквизиту «Наименование»
•прочим реквизитам справочника с признаком «Сортировка»
  
Наверх
wwwICQ  
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #646 - 29. Апреля 2010 :: 15:08
Печать  
Спасибо.

Почему не срабатывает ФСО =0??
Вызывается стандартная обработка открытие элемента. А как запретить?

Процедура КонтейнерТППередНачаломИзменения(ФСО)
     ФСО = 0;
  
Наверх
 
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #647 - 29. Апреля 2010 :: 16:12
Печать  
admin spb писал(а) 29. Апреля 2010 :: 15:08:
Спасибо.

Почему не срабатывает ФСО =0??
Вызывается стандартная обработка открытие элемента. А как запретить?

Процедура КонтейнерТППередНачаломИзменения(ФСО)
     ФСО = 0;


Кстати, у меня та же проблема и стем же кодом. Улыбка Подскажите, в чем ошибка
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #648 - 29. Апреля 2010 :: 17:20
Печать  
на самом деле нужно так:

КонтейнерТППередНачаломИзменения(ТП, ФСО)
     ФСО = 0;
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #649 - 29. Апреля 2010 :: 18:29
Печать  
Ребята читайте пожалуйста документацию. Ведь там черным по белому написано что всегда во всех событиях ТП первым параметром идет сама ТП.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #650 - 29. Апреля 2010 :: 20:08
Печать  
vandalsvq писал(а) 28. Апреля 2010 :: 18:19:
Я думал что может там причина, но причина оказывается вовсе не там. Как ее победить, пока я не знаю... попросил помощи более квалифицированных людей. Может что найдут. Меня к сожалению завтра не будет так что наврядли даже если станет известна причина смогу поправить.
Очень жаль что такой неприятный баг и я не могу пока ничего сделать Печаль


По оперативной информации баг исправлен. Сроки официального релиза сказать не могу. Как совет счас это отключать поставщика и подключать назад, но это надо править классы.
В общем предлагаю немного подождать. Совсем скоро все будет Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #651 - 30. Апреля 2010 :: 04:56
Печать  
В общем пока нет официального релиза, вот исправленная версия 1С++. Будем называть ее "правильной 27-й" Улыбка.
В КОП ничего не изменилось.
  

icpp27.rar ( 544 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #652 - 30. Апреля 2010 :: 05:09
Печать  
vandalsvq писал(а) 30. Апреля 2010 :: 04:56:
В общем пока нет официального релиза, вот исправленная версия 1С++. Будем называть ее "правильной 27-й" Улыбка.
В КОП ничего не изменилось.

так что, получается все дело в 1c++?
зы случайно отсутствуие последнией колонки в ТП.ТекущиеДанные при использовании в качестве поставщика ИТЗ не пофиксили?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #653 - 30. Апреля 2010 :: 05:11
Печать  
Да, проблема была в 1С++. Моя вина в том, что раньше не увидел Улыбка.
Что касается ИТЗ посмотрим.. забыл малость
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #654 - 30. Апреля 2010 :: 05:15
Печать  
vandalsvq писал(а) 30. Апреля 2010 :: 05:11:
Что касается ИТЗ посмотрим.. забыл малость


да это вообшем то баг 1с++  Нерешительный
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #655 - 30. Апреля 2010 :: 05:32
Печать  
Если однозначно 1С++ тогда пиши с тестом в новой теме. Поскольку я могу только попросить ребят посмотреть. Хотя обратиться можешь и сам.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #656 - 30. Апреля 2010 :: 07:42
Печать  
Не хватает примеров в документации Улыбка
  
Наверх
 
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #657 - 30. Апреля 2010 :: 07:50
Печать  
Почему то в общее не срабатывает
ПередНачаломИзменения
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #658 - 30. Апреля 2010 :: 08:05
Печать  
Нет уж ки, примеры я писать не буду. Хватит того что я убил хренову тучу времени на доработки ( и убиваю до сих пор), тем более несколько примеров есть в теме.

Что касается несрабатывания события... либо ты плохо его вызываешь, либо ты ему не нравишься Улыбка последнее почти невероятно, а значит проблема в коде...

Пы.сы или в настройке EnableTurboBL. Что это такое... поиск тебе поможет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #659 - 30. Апреля 2010 :: 08:18
Печать  
пора открывать новую ветку: "Применение класса ПоставщикДанных в картинках и примерах."

Смех
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #660 - 30. Апреля 2010 :: 08:20
Печать  
А почему нет Улыбка общайтесь делитесь знаниями, умениями Улыбка. Выкладывайте области применения... будет интересно
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #661 - 30. Апреля 2010 :: 08:29
Печать  
Некоторый анонс, вдруг кому интересно...

В будущем релизе ожидается:
1. Исправление некоторых ошибок.
2. Быстрый поиск по полям с типом "Справочник" (без вида), при условии что перечень видов задан в атрибуте "Реквизит" у табличного поля.
3. Возможность отключить быстрый поиск с учетом текущей позиции.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #662 - 30. Апреля 2010 :: 08:39
Печать  
Получилось так...
ДанныеСпр. ИзменятьСпособРедактирования = 0;

Процедура КонтейнерТПВыбор()
ОткрытьФорму("Справочник.Контрагенты.Заказ",ТабличноеПоле.ТекущаяСтрока);
КонецПроцедуры


А то не срабатывает процедура.
Процедура КонтейнерТППередНачаломИзменения(ТП, ФСО)
     Сообщить("ФСО = 0");

КонецПроцедуры
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #663 - 30. Апреля 2010 :: 10:45
Печать  
Ты недоговариваешь... определенно.

Народ, обращение ко всем. Прекращайте говорить загадками. Если я не могу однозначно понять как мне воспроизвести ошибку я просто буду говорить - "не верю" (с).

Admin Spb, а ты уверен что у тебя все параметры указаны? Ведь для разных поставщиков набор параметров в событиях может быть разным.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #664 - 30. Апреля 2010 :: 11:18
Печать  
admin spb писал(а) 30. Апреля 2010 :: 07:42:
Не хватает примеров в документации Улыбка


Правильно  Подмигивание С примерами было бы гораздо эффективнее, а так с налету сразу не понять что куда  Улыбка
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #665 - 30. Апреля 2010 :: 11:35
Печать  
radiks писал(а) 30. Апреля 2010 :: 11:18:
admin spb писал(а) 30. Апреля 2010 :: 07:42:
Не хватает примеров в документации Улыбка


Правильно  Подмигивание С примерами было бы гораздо эффективнее, а так с налету сразу не понять что куда  Улыбка


многократное чтение мануалов + отладчик реально помогают разобраться. Создавай новую ветку, кидай туда свои обработки или тестовую конфу и будем все вместе писать примеры  Подмигивание
  
Наверх
wwwICQ  
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #666 - 30. Апреля 2010 :: 11:39
Печать  
хм.. а сейчас работает.
больше утром курить не буду.  Смех
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #667 - 01. Мая 2010 :: 07:25
Печать  
admin spb писал(а) 30. Апреля 2010 :: 11:39:
хм.. а сейчас работает.
больше утром курить не буду.  Смех

Ты вообще это прекращай. А то уже не первый раз такая х#рня происходит. Иначе вообще перестану на твои сообщения реагировать  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #668 - 01. Мая 2010 :: 09:42
Печать  
Anatol писал(а) 30. Апреля 2010 :: 11:35:
многократное чтение мануалов + отладчик реально помогают разобраться. Создавай новую ветку, кидай туда свои обработки или тестовую конфу и будем все вместе писать примеры  Подмигивание

Многократное чтение мануалов и ковыряние в отладчике по сравнению с содержательными примерами сжирают гораздо больше невосполнимого жизненного ресурса "время". а логика подсказывает, что ковыряние в ассемблере точно так же вполне способно дать результат - если жизни хватит.
так ветку не слепили?.. жаль.

Подпись: жалеющий о невозможности выделить достаточно времени на многократное чтение мануалов и выработку рабочих инструментальных шаблонов дилетант.  Нерешительный
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #669 - 01. Мая 2010 :: 15:53
Печать  
Cthulhu писал(а) 01. Мая 2010 :: 09:42:
Многократное чтение мануалов и ковыряние в отладчике по сравнению с содержательными примерами сжирают гораздо больше невосполнимого жизненного ресурса "время".

Больше чем что? Как показывает практика, содержательные примеры без чтения документации создают лишь иллюзию понимания и, как следствие, времени "сжирают" бесконечное количество.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #670 - 01. Мая 2010 :: 17:35
Печать  
berezdetsky писал(а) 01. Мая 2010 :: 15:53:
Больше чем что? Как показывает практика, содержательные примеры без чтения документации создают лишь иллюзию понимания и, как следствие, времени "сжирают" бесконечное количество.

Странно. Вроде смысловой ряд не дает логичной возможности предположить что-то иное, нежели "больше чем содержательный пример использования". И немного удивляет приписывание мне того, чего я не говорил (долбание в пример без чтения мануалов) - это для того, чтобы было удобнее оспорить/поиронизировать?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #671 - 01. Мая 2010 :: 18:25
Печать  
Именно - поиронизировать. Извини.
Впрочем, судя по отсутствию ответа на вопрос, смысловой ряд не имеет значения.  Со сжатыми губами
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #672 - 01. Мая 2010 :: 18:47
Печать  
berezdetsky писал(а) 01. Мая 2010 :: 18:25:
... Впрочем, судя по отсутствию ответа на вопрос, смысловой ряд не имеет значения.  Со сжатыми губами

скорее судя по желанию не видеть ответ на вопрос - при наличии формальных на то оснований (отсутствия формулировки ответа при наличии его по сути); да и независимо от того, судя по чём - смысловой ряд не может не иметь значения будучи существенным компонентом диалога и хода обмена мнениями.
и чтобы успокоить твое ЧСВ, давай мы договоримся - я тупой а ты мега-гуру, и мирно разойдёмся, Ок? спасибо-пожалуйста.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #673 - 01. Мая 2010 :: 20:49
Печать  
Народ, после просмотре "Игры разумы" я задумываюсь... а реальны ли вы  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #674 - 01. Мая 2010 :: 20:51
Печать  
vandalsvq писал(а) 01. Мая 2010 :: 20:49:
Народ, после просмотре "Игры разумы" я задумываюсь... а реальны ли вы  Смех

я - точно нет.  Класс
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #675 - 01. Мая 2010 :: 22:14
Печать  
Cthulhu, если никто не нашел в себе силы создать отдельную ветку с первым примером, то решений может быть как минимум два: 1. Создать самому (оформить ее красиво, на свой вкус), 2. Надеятся что создаст другой.
А мне другая ветка интересна только как возможность поделиться своими мыслями по использованию данной наработки. По понятным я думаю всем причинам учится ее использовать мне просто ни к чему.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #676 - 02. Мая 2010 :: 09:52
Печать  
vandalsvq писал(а) 01. Мая 2010 :: 22:14:
Cthulhu, если никто не нашел в себе силы создать отдельную ветку с первым примером, то решений может быть как минимум два: 1. Создать самому (оформить ее красиво, на свой вкус), 2. Надеятся что создаст другой.
А мне другая ветка интересна только как возможность поделиться своими мыслями по использованию данной наработки. По понятным я думаю всем причинам учится ее использовать мне просто ни к чему.

Если бы я имел навыки и наработки по использованию обсуждаемого функционала - то я бы, наверное, не интересовался вопросом создания ветки с примерами использования, нэ?..
разве что недосказано то, что меня лично с сугубо практичной точки зрения интересует возможность использования обсуждаемогоо функционала в конкретной ситуации дбф. с учетом всех приведенных выше оговорок.
а вообще-то странный диалог. я, лохе, клянчу у мега-гуру пак примера, позволяющий глянуть на реальные возможности функционала не на картинках. который бы пак можно было поставить-и-сразу-посмотреть, потом поковыряться в нем с параллельным чтением мануала, и подобным субоптимальным способом составить впечатление и принять решение. глагол именно этот - "клянчу". потому что для мега-гуру как раз слепить такой пример особого труда не составило бы (и - уж извините, опережу нытьё о бесплодно затраченном мега-гурском времени - просить имею обыкновение только о тех одолжениях, на которые бы сам на месте собеседника, безусловно бы хотя бы попробовал что-то слепить).
Ничего личного.  Нерешительный
Спасибо.  Печаль
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #677 - 02. Мая 2010 :: 10:40
Печать  
Собственно вот тебе и примеры (по теме просто пробежался бы)
1. Справочник "Номенклатура" с остатками по 41-му счету - тут
2. Справочник "Контрагенты". Хороший пример для реализации отборов - тут
Были еще примеры для реализации справочника Номенклатура с остатками по регистрам (для ТиС), и еще какой-то пример. Но это и все что я выкладывал.
И еще есть в теме демо-конфа... он староватенькая, но хорошо показывается что есть что.

Пы.сы. не надо думать что "мега-гуру" все тут такие офигевшие и помогать не хотят. Порой времени даже нет. На самом деле нет.
Пы.пы.сы. и всегда можно обратиться чтобы за сходную сумму тебе сделали хороший работоспособный пример который бы в жизни пригодился.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #678 - 02. Мая 2010 :: 13:07
Печать  
спасибо.
пытаюсь заставить восстанавливать настройки колонок в списке контрагентов.
конфигурацию вроде нашёл, медитирую над "Не удалось открыть форму класса <ПоставщикДанных> для отладки".
спрашивать о чем-то опасаюсь. мои проблемы, да.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #679 - 02. Мая 2010 :: 20:23
Печать  
У тебя скорей всего включен режим отладки в 1с++ (сервис - параметры - 1c++) + Возможно у тебя старая версия библиотеки
  
Наверх
wwwICQ  
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #680 - 03. Мая 2010 :: 08:21
Печать  
Anatol писал(а) 02. Мая 2010 :: 20:23:
У тебя скорей всего включен режим отладки в 1с++ (сервис - параметры - 1c++) + Возможно у тебя старая версия библиотеки

Версия 1cpp = 3.0.1.27
Да, режим отладки, спасибо.
Куда в примере со списком (справочником) контрагентов всунуть <чочо>.ВосстановитьПозициюКолонок() чтобы настройка колонок восстановилась - так и не нашёл.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #681 - 03. Мая 2010 :: 08:51
Печать  
а поискать по форуму примерОчень довольный
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #682 - 03. Мая 2010 :: 09:21
Печать  
Выложил обновление:

3.05.001 от 03.05.10 г.
- Новый публичный атрибут «ПозиционныйБыстрыйПоиск» объекта «ПоставщикДанных.ТабличноеПоле».
- Для реквизитов без указания вида (Справочник, Перечисление) возможен быстрый поиск если в атрибуте Реквизиты объекта «ПоставщикДанных.ТабличноеПоле» установлено значение элемента ВидыДляВыбора.
- Новые публичные метод «ДобавитьКолонкуДанных», «УдалитьКолонкуДанных», «ДобавитьСоединениеДанных», «УдалитьСоединениеДанных» объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал».
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.06.002 от 28.04.10 г.
- Исправлена ошибка с чтением параметров метода «Выбрать» у объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр».
- Добавлена документация по объекту-расширению табличного поля «ПоставщикДанных.ТабличнаяЧасть».
- Доделан метод «Выбрать» у объекта-расширения «ПоставщикДанных.ИндексированнаяТаблица».

В ближайшее время только багофиксы.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #683 - 03. Мая 2010 :: 09:28
Печать  
Anatol писал(а) 03. Мая 2010 :: 08:51:
а поискать по форуму примерОчень довольный

не спасло
Код
Выбрать все
ПоставщикДанныхМногострочнаяЧасть = СоздатьОбъект("ПоставщикДанных");
ПоставщикДанныхМногострочнаяЧасть.КонтейнерТабличногоПоля = "ТабличноеПолеМногострочнойЧасти";
ДанныеСправочник = ПоставщикДанныхМногострочнаяЧасть.Данные;
ТабличноеПоле = ДанныеСправочник.ТабличноеПоле;
ТабличноеПоле.СтильЗаголовков = 1; ТабличноеПоле.СтильРамки = 1;
ТабличноеПоле.ВосстановитьПозициюКолонок(); ПоставщикДанныхМногострочнаяЧасть.Обновить(); 


-- не восстанавливает настройку.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #684 - 03. Мая 2010 :: 09:53
Печать  
какой у тебя ТипЗначений используется в поставщике?

судя по всему у тебя на момент востановления позиции колонок нет ни одной колонки
  
Наверх
wwwICQ  
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #685 - 03. Мая 2010 :: 10:08
Печать  
Anatol писал(а) 03. Мая 2010 :: 09:53:
какой у тебя ТипЗначений используется в поставщике?

судя по всему у тебя на момент востановления позиции колонок нет ни одной колонки

эээ... "Справочник.Контрагенты". спасибо! (всунул после формирования списка колонок - заработало)

А вопрос. Дерево многоуровневого справочника - имеет шанс быть реализованным на морде (ну и иже с ним - переносы между группами и все такое)?..
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных"
Ответ #686 - 03. Мая 2010 :: 10:18
Печать  
Cthulhu писал(а) 03. Мая 2010 :: 10:08:
А вопрос. Дерево многоуровневого справочника - имеет шанс быть реализованным на морде (ну и иже с ним - переносы между группами и все такое)?..

в текущей реализации нет. но если дописывать ручками, то шансы есть
  
Наверх
wwwICQ  
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #687 - 03. Мая 2010 :: 10:27
Печать  
Anatol писал(а) 03. Мая 2010 :: 10:18:
Cthulhu писал(а) 03. Мая 2010 :: 10:08:
А вопрос. Дерево многоуровневого справочника - имеет шанс быть реализованным на морде (ну и иже с ним - переносы между группами и все такое)?..

в текущей реализации нет. но если дописывать ручками, то шансы есть

жаль, ручки (пока?) недостаточно отрихтованы. а то вырисовывается фича, весьма подходящая в уже довольно напролненную самописную CRM-базу со строгим многокритериальным разделением доступов...
спасибо!

ЗЫ: хотя по любому обработка-"предбанник" ввода нового клиента для ликвидации ввода дублей уже перетачивается "по мотивам"..
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #688 - 03. Мая 2010 :: 17:39
Печать  
Кто рискнет попробовать "beta" версию класса? Первый шаг к расширенному отбору. Суть в том, что счас все отборы строятся с условиями "И", а планируется что можно будет строить группы отборов с условиями "И", "ИЛИ" и различными уровнями вложенности.
К чему эта версия? К тому, что я хочу оставить режим обратной совместимости.
После того как пройдет тестирование я готов продолжить разработку новой версии с расширенными отборами.

В документации изменения отражены.
  

1Cv7_ext_TF_filter.rar ( 419 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
radiks
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #689 - 04. Мая 2010 :: 11:48
Печать  
vandalsvq писал(а) 03. Мая 2010 :: 17:39:
Кто рискнет попробовать "beta" версию класса? Первый шаг к расширенному отбору. Суть в том, что счас все отборы строятся с условиями "И", а планируется что можно будет строить группы отборов с условиями "И", "ИЛИ" и различными уровнями вложенности.
К чему эта версия? К тому, что я хочу оставить режим обратной совместимости.
После того как пройдет тестирование я готов продолжить разработку новой версии с расширенными отборами.

В документации изменения отражены.


Попробуем  Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #690 - 05. Мая 2010 :: 07:09
Печать  
Поскольку мне две версии тянуть не с руки я старую обновил без изменения номера версии (брать в топе), а тут выкладываю beta-версию. С соответствующими изменениями.

3.05.003 от 05.05.10 г.
- Объект "ПоставщикДанных.ПрямойЗапрос" обновлен до версии 1.06.003 от 05.05.10 г.
  

1Cv7_ext_TF_filter_001.rar ( 419 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #691 - 05. Мая 2010 :: 10:25
Печать  
Добрый день.
Ответьте пожалуйста на следующий вопрос:
Использую ПоставщикДанных.ИндексированнаяТаблица
описываю колонки.

     ОписаниеТипов = СоздатьОбъект("ПоставщикДанных.ОписаниеТипов");
     ОписаниеТипов.Добавить("Строка");
     ОписаниеТипов.Добавить("Число",19,2);
     ОписаниеТипов.Добавить("Справочник.Контрагенты");
                .....
               Данные.НоваяКолонка("Контрагенты","Справочник.Контрагенты",,,"Справочник: Контрагенты",,,1);

     Данные.НоваяКолонка("ОписаниеТипов",ОписаниеТипов,,,"Описание типов",,1);

Могу ли потом в зависимости от предыдущего поля, конкретно установить описание этого поля("ОписаниеТипов"), как "Строка", убрав остальные, чтоб пользователь уже не промахнулся.
Или велосипед изобретаю?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #692 - 05. Мая 2010 :: 10:36
Печать  
Если тебе надо перед началом изменения проверить что пользователь будет редактировать и подсунуть ему "то, что надо", то проще всего даже не устанавливать ОписаниеТипов, а просто в методе "ПередНачаломИзменения" менять параметры колонки.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #693 - 05. Мая 2010 :: 11:03
Печать  
vandalsvq писал(а) 05. Мая 2010 :: 10:36:
Если тебе надо перед началом изменения проверить что пользователь будет редактировать и подсунуть ему "то, что надо", то проще всего даже не устанавливать ОписаниеТипов, а просто в методе "ПередНачаломИзменения" менять параметры колонки.

Большое спасибо.
Сейчас попробую...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #694 - 05. Мая 2010 :: 11:13
Печать  
Пардон не в методе конечно же, а событии.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных"
Ответ #695 - 05. Мая 2010 :: 11:19
Печать  
nicolas писал(а) 05. Мая 2010 :: 11:03:
vandalsvq писал(а) 05. Мая 2010 :: 10:36:
Если тебе надо перед началом изменения проверить что пользователь будет редактировать и подсунуть ему "то, что надо", то проще всего даже не устанавливать ОписаниеТипов, а просто в методе "ПередНачаломИзменения" менять параметры колонки.

Большое спасибо.
Сейчас попробую...

Но ведь "ПередНачаломИзменения" действует на строку. а у меня еще пара полей до этого....,
то решил "ПередОкончаниемРедактирования" подсовывать. Все получилось.
Большое Спасибо.
  
Наверх
 
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: Класс "ПоставщикДанных"
Ответ #696 - 05. Мая 2010 :: 20:49
Печать  
раскрасить строки-колонки - реально? если да - то как?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #697 - 06. Мая 2010 :: 03:11
Печать  
Строки расскрашиваются в событии "ПриВыводеСтроки" (хоть строки, хоть отдельные ячейки), колонки расскрашиваются в любой момент через ТабличноеПоле.Колонки. Заголовки, подвалы и шапки отдельно от строк.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #698 - 06. Мая 2010 :: 10:07
Печать  
Хелп!
Использую "ПоставщикДанных.Документы"

[code]Перем ПоставщикДанныхДоверенности, ДанныеДокДоверенности;
...
Процедура ПослеСозданияФормы()
     
     //** Доверенности **
     ПоставщикДанныхДоверенности = СоздатьОбъект("ПоставщикДанных");
     ПоставщикДанныхДоверенности.ТипЗначений = "Документ.ДоверенностьКонтрагента";
     ПоставщикДанныхДоверенности.КонтейнерКоманднойПанели = "КонтейнерКПДоверенности";
     ПоставщикДанныхДоверенности.КонтейнерТабличногоПоля = "КонтейнерТПДоверенности";
     
     ТПДоверенности = ПоставщикДанныхДоверенности.ТабличноеПоле;
     ТПДоверенности.ИзменятьНастройкуКолонок = 0;
     ТПДоверенности.ИзменятьСоставСтрок = 1;
     ТПДоверенности.ИзменятьПорядокСтрок = 1;
     ТПДоверенности.СтильЗаголовков = 1;
     ТПДоверенности.СтильРамки = 1;
     
     
     ДанныеДокДоверенности = ПоставщикДанныхДоверенности.Данные; //Объект-расширение!!!
     ДанныеДокДоверенности.СоздатьКнопкиПоУмолчанию();
     //ДанныеДокДоверенности.НоваяКолонка("Сотрудник");
     
     ПоставщикДанныхДоверенности.Обновить();

КонецПроцедуры // ПослеСозданияФормы[/code]
При открытии формы вываливается ошибка:

ПоставщикДанных.Документы::СчитатьМетаданныеДокумента() : Неверное значение ключа!
СтруктураДанных.Добавить(ВложеннаяСтруктура,МетаРеквизит.Идентификатор);
3) }

Куда копать? :(

Пы.Сы.
все классы и компоненты - свежие
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #699 - 06. Мая 2010 :: 10:26
Печать  
Такое ощущение что у тебя либо одинаковые идентификаторы (согласись это странно и наврядли возможно), либо идентификатор какой-то "хитропоименованный". Собственно место и строчка ошибки указана. Зайди туда посмотри отладчиком или поставь "Сообщить" может тогда понятнее будет. Или покажи что там за реквизиты такие ему не нравятся.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #700 - 06. Мая 2010 :: 10:51
Печать  
vandalsvq писал(а) 06. Мая 2010 :: 10:26:
Зайди туда посмотри отладчиком или поставь "Сообщить" может тогда понятнее будет. Или покажи что там за реквизиты такие ему не нравятся.


валится на реквизите "НомерДокумента" Строка, 10

ага, переименовал в "ННомерДокумента" - конструкция взлетела... и та же песня с реквизитом "ДатаДокумента" (переименовал в "ДДатаДокумента")... Док - копия типового "Доверенность" из Бух7.7
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #701 - 06. Мая 2010 :: 10:56
Печать  
Вот надо же придумать реквизиты чтобы назывались аналогично предопределенным Улыбка. Прийдется этот момент чуть позже переделать мне.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #702 - 06. Мая 2010 :: 11:02
Печать  
О! Приятность заметил! Ctrl+Enter заработала, когда на форме ТП. Респект! Подмигивание
  
Наверх
ICQ  
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #703 - 06. Мая 2010 :: 11:03
Печать  
vandalsvq писал(а) 06. Мая 2010 :: 10:56:
Вот надо же придумать реквизиты чтобы назывались аналогично предопределенным Улыбка. Прийдется этот момент чуть позже переделать мне.


Да можно наверно в документации написать, что это - предопределенные и не переделывать))
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #704 - 06. Мая 2010 :: 12:09
Печать  
А в доке колонки по умолчанию описаны Подмигивание так что в принципе считаем что есть Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #705 - 10. Мая 2010 :: 13:36
Печать  
Выпущена новая beta-версия. Путь к расширенному отбор продолжается. И так:

3.05.004 от 10.05.10 г. (beta)
- Добавлены новые публичные атрибуты у объекта «ПоставщикДанных.ЭлементОтбора». Значительно расширена возможность применения отборов, за счет возможности указания поля данных через точку.
- Добавлены новые колонки у объекта-расширения табличного поля «ПоставщикДанных.Регистр».
- Добавлена новая колонка у объекта-расширения «ПоставщикДанных.Операции».
- Внутренние изменения у объектов-расширений табличного поля «ПоставщикДанных.Справочник», «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» связанные с изменением коллекции «Отбор».
- Добавлена возможность отбора по реквизитам доступным через точку («.»). Подробнее см. реквизит «ПолеДанных» объекта «ПоставщикДанных.ЭлементОтбора».
- Изменения отражены в документации.
  

1Cv7_ext_TF_001.rar ( 427 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #706 - 10. Мая 2010 :: 13:44
Печать  
Теперь о практическом применении нововведений.
Самое главное - отборы можно добавлять. Зачем? Смотрите пример.

Код
Выбрать все
ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
Отбор = ТабличноеПоле.Отбор;
// есть реквизит Контрагент - справочник "Контрагенты"
// есть реквизит ДокументРегистрации - документ "ДокРегистрации"
КонтрагентПометка = Отбор.Добавить("КонтрагентПометкаУдаления",-1);
КонтрагентПометка.ПолеДанных = "Контрагент.ПометкаУдаления";
КонтрагентПометка.Использование = 1;
КонтрагентПометка.Значение = 0;

// у документа есть реквизит пользователь - Справочник "Пользователи"
ДокументПользователь = Отбор.Добавить("ДокументПользователь",-1);
ДокументПользователь.ПолеДанных = "ДокументРегистрации.Пользователь.Наименование";
ДокументПользователь.Использование = 1;
ДокументПользователь.ВидСравнения = "НачинаетсяС";
ДокументПользователь.Значение = "Петров"; 



Ну как то так Улыбка.
Данный добавленный отбор воспринимается как "ПоУмолчанию". Т.е. наравне с теми, что добавлены автоматически (код, наименование и т.д.). Представление колонки отбора для настройки формируется автоматически, но может быть изменено пользователем самостоятельно.

В будущем планируется что будет две формы настройки отбора: обычная (быстрый отбор по реквизитам где Вид = -1), и расширенная (отбор по реквизитам где Вид = 1 или 2).
Расширенный отбор будет представлять из себя древовидную структуру. Обычный отбор останется как есть.

Что касается интерфейса реализации. Обычный (быстрый) отбор не изменится. Что касается расширенного, то его на текущий момент еще пока нет. Все зависит от вашей активности.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #707 - 10. Мая 2010 :: 17:42
Печать  
В связи с разделением темы на две составляющие прошу всех обратить внимание что в данной теме обновления публиковаться более не будут. Только информация и выходе новостей, примеры использования и прочая дополнительная информация.

Все обсуждение класса предлагаю вести тут.
Когда накопиться достаточно много примеров или кто разродится на FAQ я создам отдельную тему. А пока в новой теме только обновления и релизы, а здесь обсуждения и т.п.

Пы.сы. так же изменил "топ" данной темы, добавил вводное описание, может быть более понятное для многих.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #708 - 10. Мая 2010 :: 18:58
Печать  
Ну и небольшое обновление.
3.05.005 от 11.05.10 г. (beta)
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #709 - 10. Мая 2010 :: 19:16
Печать  
В версию 3.05.005 от 11.05.10 г. добавил, небольшое но критичное изменение. Связано с новыми возможностями отбора.

Пы.сы. версию не менял.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #710 - 11. Мая 2010 :: 10:43
Печать  
vandalsvq писал(а) 10. Мая 2010 :: 18:58:
Ну и небольшое обновление.
3.05.005 от 11.05.10 г. (beta)

Баг. Не работает интерактивный отбор по ВидуДокумента в Журнале. Ни через "установить отбор", ни через "по текущей колонке".
В первом случае выборка пуста, во втором "воспользуйтесь пунктом меню". Похоже на путаницу ИдентификаторВида/Представление Вида. Кроме того, в списке выбора вида в форме установки отбора откуда-то берется третий вид, вместо 2-х, определенных в конфигурации.
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #711 - 11. Мая 2010 :: 10:58
Печать  
Заявка принята. Рассмотрю в скором времени.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #712 - 12. Мая 2010 :: 08:18
Печать  
Ошибка была. Исправлена в версии 3.05.006 от 12.05.10 г. (beta)
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #713 - 18. Мая 2010 :: 21:12
Печать  
Опубликованы некоторые планы развития класса. Прошу высказывать свои мнения и пожелания.
Информация тут.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #714 - 19. Мая 2010 :: 09:55
Печать  
а как отсортировать по двум реквизитам?
ЗаказыПоставщикДанных.Данные.РеквизитСортировки = "КолонкаСрокСдачи+,ВремяТП+,Позиция+";
не выходит.
Менять запрос??
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #715 - 19. Мая 2010 :: 09:59
Печать  
Поставщиков данных основанных на динамическом чтении (Справочник, Документы, Журнал и т.п) никак.
Что касается ИТЗ, Табличной части и Списка значений подшаманить можно. Подумаю.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #716 - 19. Мая 2010 :: 10:33
Печать  
Как лучше тогда сортировать ? По двум реквизитам...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #717 - 19. Мая 2010 :: 10:42
Печать  
В общем варианте если данных не много - прямой запрос + поставщик ИТЗ.
Иначе составной реквизит с признаком Отбор+Сортировка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #718 - 19. Мая 2010 :: 10:46
Печать  
Состовной реквизит может формироваться на лету? Наверное нет.
Тогда придеться обрабатывать прямой запрос.
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #719 - 19. Мая 2010 :: 17:55
Печать  
ПоставщикДанных.Журнал

При первом вызове диалога выбора периода ругается на:

НачалоПериода = ПараметрыФормы.ПолучитьЗначение(1);
КонецПериода = ПараметрыФормы.ПолучитьЗначение(2);

пишет, что индекс не входит в границы списка значений.

И еще, можно ли зафиксировать период так, чтобы он изменялся только кнопкой выбора интервала дат.
А то очень неудобно, когда отключаешь отбор или устанавливаешь отбор по значению в текущей колонке. Отбор по датам отключается и приходится его каждый раз устанавливать заново.
Я из этого положения вышел так:
внес в процедуру УстановитьИнтервалДат() строку:
СвойствоДатаДокумента.ИзменятьИспользование = 0;
  
Наверх
 
IP записан
 
Stalker_9000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #720 - 20. Мая 2010 :: 04:39
Печать  
Вопрос возник:

Процедура ТабличноеПолеМногострочнойЧастиПриВыводеСтроки(ПоставщикДанныхТаблица, ОформлениеСтроки,ДанныеСтроки,ТипРегионов)
     Если ДанныеСтроки.Сумма=0 тогда
           о");
.... тут надо написать присваивание колонке "Сумма" значения от глСуммаДокумента

     КонецЕсли;
КонецПроцедуры

Не могу разобраться - как добраться до реквизита "Сумма" в таблице, чтобы изменить его.
ТекущаяСтрока дает ссылку на документ, а не на строку в таблице.


Просто приравнять ДанныеСтроки.Сумма=....
нельзя, ошибка:  Попытка присвоить значение недоступной для записи переменной (Сумма)
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #721 - 20. Мая 2010 :: 06:01
Печать  
Код
Выбрать все
оки.ТекущийДокумент,"Число")); 



Конкретное значение ячейки тебе присваивать не надо, а надо только вывести в видимую часть ТП значение этой суммы. Для этого и существует метод "УстановитьТекст"
  
Наверх
 
IP записан
 
Stalker_9000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 27. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #722 - 20. Мая 2010 :: 06:37
Печать  
Спасибо огромное!
Все заработало)) Очень довольный
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #723 - 21. Мая 2010 :: 12:46
Печать  
Добрый день
Поставил -> 1Cv7_ext_TF_filter_003.rar
Поставщик -  регистр
При установки отбора выдает следующее
      Тут: Справочник, а оно пустое? 0
      А Тут: Справочник

Выдает и когда программно ставиться и интерактивно.

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #724 - 21. Мая 2010 :: 18:43
Печать  
Хотелось бы попросить перепроверить, но вполне возможно что сообщения были.
На текущий момент планируется выпуск значительно переработанной версии класса (очень много исправлений вносится), так что надо подождать. Срок - неделька-полторы-две, как пойдет работа. Если есть силы поправь самостоятельно, а я учту в новой версии.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #725 - 24. Мая 2010 :: 05:35
Печать  
Сообщения выдает в "ПоставщикДанных.Сервис"
Функция СформироватьТекстОтбора(ЭлементОтбора,ПрямойЗапрос) Экспорт
Строка 537
     
Код
Выбрать все
Сообщить("Тут: "+ТипЗначенияСтр(ЗначениеСравнения)+", а оно пустое? "+ПустоеЗначение(ЗначениеСравнения)); 


и строка 658
     
Код
Выбрать все
Сообщить("А Тут: "+ТипЗначенияСтр(ЗначениеСравнения)); 


Можно просто закоментировать. Или убрать. на функциональность не нашел где повлияет. Просто сообщения

Большое спасибо за классы!!!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #726 - 24. Мая 2010 :: 06:27
Печать  
Просто удали.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #727 - 24. Мая 2010 :: 15:35
Печать  
Оказалось, что внесенные изменения необходимо по хорошему внести везде. Новый официальный релиз будет не ранее конца недели. Запасаемся терпением.
При желании внесения нового функционала, или исправления старых багов прошу напомнить. Если нечего, то нечего.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #728 - 25. Мая 2010 :: 05:04
Печать  
vandalsvq писал(а) 24. Мая 2010 :: 15:35:
Оказалось, что внесенные изменения необходимо по хорошему внести везде. Новый официальный релиз будет не ранее конца недели. Запасаемся терпением.
При желании внесения нового функционала, или исправления старых багов прошу напомнить. Если нечего, то нечего.


ПоставщикДанных.Справочник

1. Хотелось бы, что бы при изменении режима иерархического просмотра сохранялась текущая позиция.

Я у себя решил эту проблему так:

Код
Выбрать все
Процедура ПриИзмененииИерархическогоПросмотра()
	Если ИзменятьИерархическийПросмотр = 0 Тогда
		ийПросмотр);
		Возврат;
	КонецЕсли;
	//Добавления Bill
	Если ИерархическийПросмотр = 0 Тогда
		ТекущийЭлемент = ТабличноеПоле.ТекущаяСтрока;
		Если ПустоеЗначение(ТекущийЭлемент) = 0 Тогда
			РодительВерхнегоУровня = ТекущийЭлемент.Родитель;
		КонецЕсли;
	КонецЕсли;
	//Конец добавлений
	ИерархическийПросмотр = ?(ИерархическийПросмотр = 1,0,1);
	ийПросмотр);
	ТабличноеПоле.Обновить();
КонецПроцедуры

Процедура Обновить() Экспорт
	ТекКолонка = ТабличноеПоле.ТекущаяКолонка;
	ТекСтрока = ТабличноеПоле.ТекущаяСтрока;

	СформироватьТекстЗапросаСписка();
	ЗаполнитьШапку();
	ЗаполнитьПодвал();
	УстановитьПоставщикаДанных();

	АктивизацияКнопокОтбора();

	ОбновитьСтрокиТабличногоПоля();
	АктивизироватьСтроку(ТекСтрока); //Bill убран комментарий
	ТабличноеПоле.ТекущаяКолонка = ТекКолонка; //Bill убран комментарий
КонецПроцедуры	// Обновить
 



2. Хотелось бы, чтобы можно было копировать не только элемент, но и группу:

Код
Выбрать все
Процедура СкопироватьСтроку() Экспорт
	Если ПраваПользователя.ВводНового = 0 Тогда
		Предупреждение("Недостаточно прав доступа.",25);
		Возврат;
	КонецЕсли;

	ТекущийЭлемент = ТабличноеПоле.ТекущаяСтрока;
	Если ПустоеЗначение(ТекущийЭлемент) = 1 Тогда
		Возврат;
	КонецЕсли;
	//Изменения Bill
	//Было:
	//Если ТекущийЭлемент.ЭтоГруппа() = 1 Тогда
	//	Возврат;
	//КонецЕсли;
	//Стало:
	ЭтоГруппа = ТекущийЭлемент.ЭтоГруппа();
	//Конец изменений

	ИмяМетода = Сервис.ПолучитьИмяМетода(КонтейнерТабличногоПоля,"ПередНачаломДобавления");
	Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда
		СтруктураПараметров = СоздатьОбъект("СписокЗначений");
		СтруктураПараметров.Установить("ОбъектТП",ТабличноеПоле.ЭлементУправления);
		СтруктураПараметров.Установить("Копирование",1);
		СтруктураПараметров.Установить("Родитель",РодительВерхнегоУровня);
		//Изменения Bill
		//Было:
		//СтруктураПараметров.Установить("ЭтоГруппа",0);
		//Стало:
		СтруктураПараметров.Установить("ЭтоГруппа",ЭтоГруппа);
		//Конец изменений
		СтруктураПараметров.Установить("ФСО",-1);
		араметров);
		Если СтруктураПараметров.Получить("ФСО") = 0 Тогда
			Возврат;
		КонецЕсли;
	КонецЕсли;

	Если СпособРедактирования = 1 Тогда // редактирование в отдельном окне
		КонтФормы = "";
		//Изменения Bill
		//Было:
		елец);
		//Стало:
		а,Владелец);
		//Конец изменений
		КонтФормы.Наименование = ТекущийЭлемент.Наименование;
		Для НомерРеквизита = 1 По МетаСправочник.Реквизит() Цикл
			МетаРеквизит = МетаСправочник.Реквизит(НомерРеквизита);
			ЗначениеРеквизита = ТекущийЭлемент.ПолучитьАтрибут(МетаРеквизит.Идентификатор);
			КонтФормы.УстановитьАтрибут(МетаРеквизит.Идентификатор,ЗначениеРеквизита);
		КонецЦикла;
		КонтФормы.Форма.Обновить();
	ИначеЕсли СпособРедактирования = 0 Тогда // редактирование в форме списка
		// создаем новый элемент
		Спр = СоздатьОбъект("Справочник."+ВидСправочника);
		Спр.ИспользоватьВладельца(Владелец);
		Спр.ИспользоватьРодителя(РодительВерхнегоУровня);
		Спр.ИспользоватьДату(ДатаПериодическихРеквизитов);
		//Изменения Bill
		//Было:
		//Спр.Новый();
		//Стало:
		Если ЭтоГруппа=0 Тогда
			Спр.Новый();
		Иначе
			Спр.НоваяГруппа();
		КонецЕсли;
		//Конец изменений
		Спр.Наименование = ТекущийЭлемент.Наименование;
		Для НомерРеквизита = 1 По МетаСправочник.Реквизит() Цикл
			МетаРеквизит = МетаСправочник.Реквизит(НомерРеквизита);
			ЗначениеРеквизита = ТекущийЭлемент.ПолучитьАтрибут(МетаРеквизит.Идентификатор);
			Спр.УстановитьАтрибут(МетаРеквизит.Идентификатор,ЗначениеРеквизита);
		КонецЦикла;
		Спр.Записать();
		// обновляем табличное поле
		ОбновитьСтрокиТабличногоПоля();
		// активизируем созданный элемент
		АктивизироватьСтроку(Спр.ТекущийЭлемент());
	КонецЕсли;
КонецПроцедуры	// СкопироватьСтроку
 




Ну и вот это: http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/705#719
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #729 - 25. Мая 2010 :: 05:54
Печать  
1. Активизация - без проблем, сделаем если не забудем Подмигивание
2. Убрать ошибку - тоже уберем.
По поводу копирования группы... у тебя же копируется только сам каталог без вложенности. Собственно большего может и не надо. Подумаю в общем.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #730 - 25. Мая 2010 :: 13:47
Печать  
vandalsvq писал(а) 25. Мая 2010 :: 05:54:
По поводу копирования группы... у тебя же копируется только сам каталог без вложенности. Собственно большего может и не надо. Подумаю в общем.


В стандартном, одинэсовском варианте так и сделано. А если кому вложенность нужна, то это можно самому сделать в ПередНачаломДобавления.

Короче спасибо.
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #731 - 25. Мая 2010 :: 14:01
Печать  
Хотелки:
1. Поиск по подстроке для строковых колонок!
2. Кнопка поиска на панели по умолчанию (ctrl-F)
3. Запрос на отключение отбора при безуспешном поиске.
4. Сохранять фокус (активизировать) на текущем объекте по возможности при наложении/отмене отбора
5. Изменение времени документа в контекстном меню журнала
6. По кнопке "отбор по текущей.." ДОБАВЛЯТЬ поле к отбору (а не отключать все текущие, включая период). Или сделать отдельную кнопку/пункт меню. Или использовать комбинацию с клавишей (shift?)
7. Возможность интерактивного влючения итога по колонке
8. Интерактивное добавление новых колонок и отборов с использованием расширенного функционала (через точку)
9. Сохранение списка выбранных полей при печати
10. Стандартный "переход в конец" при открытии журнала
уф... кароче много чего надо Улыбка
  
Наверх
GTalkICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #732 - 25. Мая 2010 :: 14:11
Печать  
+Kalen
11.Да, и вообще автор, не расслабляйся!
Улыбка)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #733 - 26. Мая 2010 :: 03:21
Печать  
Хотелки:
1. Поиск по подстроке для строковых колонок! - быстрый поиск по подстроке работает и не расслабляется. Используем его публичный метод Подмигивание.
2. Кнопка поиска на панели по умолчанию (ctrl-F) - принято в части "горящей клавиши". Кнопок на панели инструментов новых не будет.
3. Запрос на отключение отбора при безуспешном поиске. - подумаем
4. Сохранять фокус (активизировать) на текущем объекте по возможности при наложении/отмене отбора - принято
5. Изменение времени документа в контекстном меню журнала - в новой версии уже реализовано
6. По кнопке "отбор по текущей.." ДОБАВЛЯТЬ поле к отбору (а не отключать все текущие, включая период). Или сделать отдельную кнопку/пункт меню. Или использовать комбинацию с клавишей (shift?) - изучается
7. Возможность интерактивного влючения итога по колонке - принято
8. Интерактивное добавление новых колонок и отборов с использованием расширенного функционала (через точку) - отклонено. Отборы уже реализованы (читай последние версии в документации), для колонок есть соответствующие методы.
9. Сохранение списка выбранных полей при печати - поясни
10. Стандартный "переход в конец" при открытии журнала - реализовано в новой версии

Пы.сы. по 10-му пункту используй атрибут ТП - НачальноеПредставление.

Цитата:
11.Да, и вообще автор, не расслабляйся!

Смотрите блин  Смех договоритесь ведь Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #734 - 26. Мая 2010 :: 05:17
Печать  
vandalsvq писал(а) 26. Мая 2010 :: 03:21:
Хотелки:
1. Поиск по подстроке для строковых колонок! - быстрый поиск по подстроке работает и не расслабляется. Используем его публичный метод Подмигивание.

У меня получается только поиск ПО ПЕРВЫМ СИМВОЛАМ, как в быстром, так и в "медленном".
О каком методе речь? НайтиЗначение(,,,,ТочныйПоиск = 0) тоже ищет по первым символам.
Цитата:
2. Кнопка поиска на панели по умолчанию (ctrl-F) - принято в части "горящей клавиши".

Дык, ctrl-F и так есть.
Цитата:
..Кнопок на панели инструментов новых не будет.

жаль. это же базовый функционал
Цитата:
8. Интерактивное добавление новых колонок и отборов с использованием расширенного функционала (через точку) - отклонено. Отборы уже реализованы (читай последние версии в документации), для колонок есть соответствующие методы.

Я про ИНТЕРАКТИВНОЕ. В табличном поле формы отбора сейчас отрабатывает клавиша Ins. При этом возникает ошибка, ибо не предусмотрено. Логично было бы выбрать реквизит.
Цитата:
9. Сохранение списка выбранных полей при печати - поясни

В ПоставщикДанных.ПечатьТабличногоПоля хочется, чтобы галочки запоминались
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #735 - 26. Мая 2010 :: 08:47
Печать  
1. Поиск по подстроке... понял. Нужен поиск на вхождение. Ну а у меня везде на "начало". Собственно like мне не очень нравится. Ладно, в найти значение добавлю ТочныйПоиск = 2 Подмигивание
2. Ctrl+F уже есть, точно. Как давно это было, я аж забыл. А про кнопки... свои решения я переписывать не хочу, а местами я кнопки удалял по именам, а не перебором.
3. Про отборы ты бежишь вперед паровоза. Хорошо что про ошибку сказал, я исправлю. Все остальное ждите. Когда нибудь найду силы написать.
4. Эт можно.. но с появлением объекта "УправлениеНастройками". Счас нет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #736 - 28. Мая 2010 :: 13:08
Печать  

сделал журнал документов поставщик "Документ.РезервированиеТовара" и все бы хорошо, но никак не удается решить два вопроса

1. как убрать из командной панели лишние кнопки? (нужно оставить только 5 первых) пример приведите, то , что то никак не получается (жаль в документации примеров нет)

2. есть три колонки ТП которые участвуют в расчете вычисляемого поля в ПриВыводеСтроки - и в интерфейсе они не нужны.
назвачаю им видимость  = 0, а они все равно на форме (последние три колонки).

Код
Выбрать все
	ПоставщикДанныхМногострочнаяЧасть = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанныхМногострочнаяЧасть.ТипЗначений = "Документ.РезервированиеТовара";
	ПоставщикДанныхМногострочнаяЧасть.КонтейнерТабличногоПоля = "ТабличноеПолеМногострочнойЧасти";
	ПоставщикДанныхМногострочнаяЧасть.КонтейнерКоманднойПанели = "КоманднаяПанельМногострочнойЧасти";
	//ПоставщикДанныхМногострочнаяЧасть.КонтейнерКоманднойПанели.Удалить(8);

	//Кнопка = КоманднаяПанель.Получить("ОткрытыеЗаявки");
	//Форма.КоманднаяПанельМногострочнойЧасти.Видимость(0)
	//КоманднаяПанель = СоздатьОбъект("ПоставщикДанных.КоманднаяПанель");
	//КоманднаяПанель.Доступность("8",0);
	//Кнопка.Удалить(8);

	Данные = ПоставщикДанныхМногострочнаяЧасть.Данные;
	//Данные.КнопкаПросмотр = 1;
	//Данные.СоздатьКнопкиПоУмолчанию();

	ТабличноеПоле = ПоставщикДанныхМногострочнаяЧасть.ТабличноеПоле;
	ТабличноеПоле.ИзменятьНастройкуКолонок = 0;
	ТабличноеПоле.ИзменятьСоставСтрок = 1;
	ТабличноеПоле.ИзменятьПорядокСтрок = 1;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.НомерДокумента;
	Колонка.Ширина = 10;
	Колонка = Колонки.ДатаДокумента;
	Колонка.Ширина = 10;

	Колонка = Колонки.Добавить("Клиент");
	Колонка.Заголовок = "Контрагент";
	Колонка.Данные = "Клиент";
	Колонка.Ширина = 80;
	Колонка.ГоризонтальноеВыравнивание = 1;

	Колонка = Колонки.Добавить("Сумма");
	Колонка.Заголовок = "Сумма";
	Колонка.Данные = "Сумма";
	Колонка.Ширина = 15;
	Колонка.ГоризонтальноеВыравнивание = 2;

	Колонка = Колонки.Добавить("СумСкидки");
	Колонка.Заголовок = "СумСкидки";
	Колонка.Данные = "СумСкидки";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	Колонка.Видимость = 0;

	Колонка = Колонки.Добавить("СумНаценки");
	Колонка.Заголовок = "СумНаценки";
	Колонка.Данные = "СумНаценки";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	Колонка.Видимость = 0;

	Колонка = Колонки.Добавить("ЗаРазбиение");
	Колонка.Заголовок = "ЗаРазбиение";
	Колонка.Данные = "ЗаРазбиение";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	Колонка.Видимость = 0;

	Данные.АвтоОбновление = 1;
	Данные.ПериодАвтоОбновления = 10;
	Данные.СоздатьКнопкиПоУмолчанию();

 



как исправить?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #737 - 28. Мая 2010 :: 16:24
Печать  
По первому вопросу... кнопки можно удалить по номеру или по идентификатору. Номер колонки можно посчитать. А лучше идентификаторами, так вернее.
Код
Выбрать все
// по номеру
КоличествоКнопок = КоманднаяПанель.Количество();
Для НомерКнопки = 6 По КоличествоКнопок Цикл
	  КоманднаяПанель.Удалить(6);
КонецЦикла;
// по идентификатору
КоманднаяПанель.Удалить("Настройка");
КоманднаяПанель.Удалить("Печать"); // и т.д. 


По второму вопросу, вероятнее всего после "Видимость = 0" у тебя стоит "ВосстановитьПозициюКолонок()", а при закрытии колонки видны. Можно после этой процедуры Видимость = 0 поставить, и будет все путем.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #738 - 31. Мая 2010 :: 05:21
Печать  
спасибо, буду пробовать
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #739 - 31. Мая 2010 :: 05:47
Печать  
что-то по второму вопросу пока не получается
пробую так в процедуре инициализации ТП

Код
Выбрать все
	ТабличноеПоле.ВосстановитьПозициюКолонок();

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.СумСкидки;
  Колонка.Видимость = 0;
	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.СумНаценки;
  Колонка.Видимость = 0;
	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.ЗаРазбиение;
  Колонка.Видимость = 0;
	ПоставщикДанныхМногострочнаяЧасть.Обновить();
 



но вываливается ошибка
аСумма  = ДанныеСтроки.Получить("Сумма") - ДанныеСтроки.Получить("СумСкидки") + ДанныеСтроки.Получить("СумНаценки") + ДанныеСтроки.Получить("ЗаРазбиение");
{Обработка.ЖурналРезервов.Форма.Модуль(284)}: Недопустимое значение первого параметра.
эта строка из процедуры ПриВыводеСтроки

Код
Выбрать все
Процедура ТабличноеПолеМногострочнойЧастиПриВыводеСтроки(ТабличноеПоле, ОформлениеСтроки, ДанныеСтроки,ТипРегиона)
	Для сч=0 По ОформлениеСтроки.Ячейки.Количество()-1 Цикл
		ОфЯч = ОформлениеСтроки.Ячейки.Получить(сч); аСумма=0;
		Если ОфЯч.Имя = "Сумма" Тогда
			аСумма  = ДанныеСтроки.Получить("Сумма") - ДанныеСтроки.Получить("СумСкидки") + ДанныеСтроки.Получить("СумНаценки") + ДанныеСтроки.Получить("ЗаРазбиение");
			ОформлениеСтроки.Ячейки.Сумма.УстановитьТекст(Формат(аСумма,"Ч-15.2. "));
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
 






  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #740 - 31. Мая 2010 :: 06:03
Печать  
что-то, я наверно еще от выходных не отошел, не получается пока и кнопки лишние удалить. Никаких ошибок не вываливается, но лишние кнопки остаются, пробовал обеими способами

Код
Выбрать все
	КоманднаяПанель = СоздатьОбъект("ПоставщикДанных.КоманднаяПанель");

	//КоманднаяПанель.Удалить("Настройка");
  //КоманднаяПанель.Удалить("Печать");

	КоличествоКнопок = КоманднаяПанель.Количество();
	Для НомерКнопки = 6 По КоличествоКнопок Цикл
		КоманднаяПанель.Удалить(НомерКнопки);
	КонецЦикла;

 



может не в том месте подставляю

вот весь код процедуры

Код
Выбрать все
Процедура ИнициализацияМногострочнойЧасти()
	ПоставщикДанныхМногострочнаяЧасть = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанныхМногострочнаяЧасть.ТипЗначений = "Документ.РезервированиеТовара";
	ПоставщикДанныхМногострочнаяЧасть.КонтейнерТабличногоПоля = "ТабличноеПолеМногострочнойЧасти";
	ПоставщикДанныхМногострочнаяЧасть.КонтейнерКоманднойПанели = "КоманднаяПанельМногострочнойЧасти";

	КоманднаяПанель = СоздатьОбъект("ПоставщикДанных.КоманднаяПанель");

	//КоманднаяПанель.Удалить("Настройка");
  //КоманднаяПанель.Удалить("Печать");

	КоличествоКнопок = КоманднаяПанель.Количество();
	Для НомерКнопки = 6 По КоличествоКнопок Цикл
		КоманднаяПанель.Удалить(НомерКнопки);
	КонецЦикла;


	//КоманднаяПанель.Доступность("8",0);
	//Кнопка.Удалить(8);

	Данные = ПоставщикДанныхМногострочнаяЧасть.Данные;

	ТабличноеПоле = ПоставщикДанныхМногострочнаяЧасть.ТабличноеПоле;
	ТабличноеПоле.ИзменятьНастройкуКолонок = 0;
	ТабличноеПоле.ИзменятьСоставСтрок = 1;
	ТабличноеПоле.ИзменятьПорядокСтрок = 1;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.НомерДокумента;
	Колонка.Ширина = 10;
	Колонка = Колонки.ДатаДокумента;
	Колонка.Ширина = 10;

	Колонка = Колонки.Добавить("Клиент");
	Колонка.Заголовок = "Контрагент";
	Колонка.Данные = "Клиент";
	Колонка.Ширина = 80;
	Колонка.ГоризонтальноеВыравнивание = 1;

	Колонка = Колонки.Добавить("Сумма");
	Колонка.Заголовок = "Сумма";
	Колонка.Данные = "Сумма";
	Колонка.Ширина = 15;
	Колонка.ГоризонтальноеВыравнивание = 2;

	Колонка = Колонки.Добавить("СумСкидки");
	Колонка.Заголовок = "СумСкидки";
	Колонка.Данные = "СумСкидки";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	//Колонка.Видимость = 0;

	Колонка = Колонки.Добавить("СумНаценки");
	Колонка.Заголовок = "СумНаценки";
	Колонка.Данные = "СумНаценки";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	//Колонка.Видимость = 0;

	Колонка = Колонки.Добавить("ЗаРазбиение");
	Колонка.Заголовок = "ЗаРазбиение";
	Колонка.Данные = "ЗаРазбиение";
	//Колонка.Ширина = 0;
	//Колонка.ГоризонтальноеВыравнивание = 2;
	//Колонка.Видимость = 0;

	Данные.АвтоОбновление = 1;
	Данные.ПериодАвтоОбновления = 10;
	Данные.СоздатьКнопкиПоУмолчанию();


	//ТабличноеПоле = Данные.ТабличноеПоле;
	//ТабличноеПоле.СтильЗаголовков = 1;
	//ТабличноеПоле.СтильРамки = 1;

	СвойСписок=СоздатьОбъект("СписокЗначений");
	RS = СоздатьОбъект("ODBCRecordset");
	RS.УстБД1С();
	ТекстЗапроса = "
	|SELECT
  |	Спр1.Code as Код,
  |	$Спр.Объект as [Наименование $Справочник.Контрагенты],
  |	$Спр1.ФактАдрес as Адрес
	|FROM
	| $Справочник.Пользователи_Избранное as Спр
	|INNER JOIN $Справочник.Контрагенты Спр1(nolock) on Спр1.[id] = $Спр.Объект
	|WHERE
  |	Спр.ParentExt = :аПользователь
	| Order by Спр1.Descr
	|";

	RS.УстановитьТекстовыйПараметр("аПользователь", глПользователь);
	ТЗ1 = RS.ВыполнитьИнструкцию(ТекстЗапроса);
  ТЗ1.Выгрузить(СвойСписок,,,"Наименование");


	//ОтборКлиент = Данные.Отбор.Клиент;
	//ОтборКлиент.Использование = 1;
	//ОтборКлиент.ВидСравнения = ВидыСравнения.ВСписке;
	//ОтборКлиент.Значение = СвойСписок;

	ОтборДата = Данные.Отбор.ДатаДокумента;
	ОтборДата.Использование = 1;
	ОтборДата.ВидСравнения = ВидыСравнения.Интервал;
	ОтборДата.ЗначениеС = НачМесяца(РабочаяДата());
	ОтборДата.ЗначениеПО = РабочаяДата();
	ОтборДата.Значение = РабочаяДата();

	ТабличноеПоле.ВосстановитьПозициюКолонок();

	//Колонки = ТабличноеПоле.Колонки;
	//Колонка = Колонки.СумСкидки;
  //Колонка.Видимость = 0;
	//Колонки = ТабличноеПоле.Колонки;
	//Колонка = Колонки.СумНаценки;
  //Колонка.Видимость = 0;
	//Колонки = ТабличноеПоле.Колонки;
	//Колонка = Колонки.ЗаРазбиение;
  //Колонка.Видимость = 0;
	ПоставщикДанныхМногострочнаяЧасть.Обновить();

КонецПроцедуры // ИнициализацияМногострочнойЧасти

 


  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #741 - 31. Мая 2010 :: 06:29
Печать  
попробуй вместо

     Колонки = ТабличноеПоле.Колонки;
     Колонка = Колонки.НомерДокумента;


вот так
Код
Выбрать все
	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.Получить("НомерДокумента"); 



а по командной панеле...
он не живет сама по себе

ПоставщийДанных.КоманднаяПанель

и ничего создавать не нужно
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #742 - 31. Мая 2010 :: 06:29
Печать  
Смотри удаляя кнопки ты сдвигаешь и их номер, поэтому удаление надо производить всегда одной и той же кнопки (6 например), но ровно столько раз, сколько после нее кнопок (вместе с ней).

Что касается ошибки когда у тебя видимость = 0, не удивительно. Дело в том что оптимизация поставщика просто не считывает данные колонок которые не отображаются. Т.о. и получается что ты не видишь "что происходит".
Вообще данный расчет  можно добавить с помощью метода "ДобавитьКолонкуДанных", только написать его на SQL.
Код
Выбрать все
ДобавитьКолонкуДанных("ВычисляемаяСумма","Сумма","$ШапкаДокумента.Сумма - $шапкаДокумента.СумСкидки + $ШапкаДокумента.СумНаценки + $ШапкаДокумента.ЗаРазбиение","Число",15,2,1); 



Только учти что имя колонки не должно совпадать с именами колонок поставщика. У тебя уже есть сумма, значит пусть будет Сумма2 (или как я назвал "ВычисляемаяСумма").
Далее методом НоваяКолонка добавляешь.
Код
Выбрать все
Данные.НоваяКолонка("ВычисляемаяСумма"); 

  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #743 - 31. Мая 2010 :: 06:59
Печать  
Опа, а я и не заметил что КоманднаяПанель создается отдельно. Это зачем? ПоставщикДанных.ТабличноеПоле.КоманднаяПанель - вот то что надо.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #744 - 31. Мая 2010 :: 07:50
Печать  
vandalsvq писал(а) 31. Мая 2010 :: 06:59:
Опа, а я и не заметил что КоманднаяПанель создается отдельно. Это зачем? ПоставщикДанных.ТабличноеПоле.КоманднаяПанель - вот то что надо.



в каком-то примере (или кто-то приклыдывал в вопросе свой пример кода) было так, я и взял за основу


слушай, а почему при каждом открытии формы он мне пишет

"Тут: Дата, а оно пустое? 0"   - хотя дата документа отображается номально?
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #745 - 31. Мая 2010 :: 08:10
Печать  
ну не мой сегодня день - явно, ничего с ходу не получается

пробовал так
Код
Выбрать все
	КоманднаяПанель = ПоставщикДанных.ТабличноеПоле.КоманднаяПанель;

	КоличествоКнопок = КоманднаяПанель.Количество();
	Для НомерКнопки = 6 По КоличествоКнопок Цикл
		КоманднаяПанель.Удалить(6);
	КонецЦикла;

 


- все кнопки на месте (первым способом (с индентификатором) тоже)

во вопросу о вычисляемом поле
Код
Выбрать все
	Данные.ДобавитьКолонкуДанных("Сумма2","Сумма2","$ШапкаДокумента.Сумма - $шапкаДокумента.СумСкидки + $ШапкаДокумента.СумНаценки + $ШапкаДокумента.ЗаРазбиение","Число",15,2,1);

	Данные.НоваяКолонка("Сумма2");
 


пишет ошибку
ПоставщикДанных.Документы::УстановитьПоставщикаДанных() : Meta name parser: неизвестное метаимя или алиас "$шапкаДокумента"
ПоставщикДанных.УстТекстЗапроса(ТекстЗапроса);
{D:\1C\Base\Classes\ПоставщикДанных\ПоставщикДанных.Документы.ert(757) }

может у меня не последняя версия?
класс брал из 1Cv7_ext_TF_filter_003
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #746 - 31. Мая 2010 :: 08:14
Печать  
Полный текст создания напиши, убери добавить соединение данных (в комментарий) + РежимОтладки = 1 покажи хоть маленький кусочек.
Все это в архив и сюда давай Подмигивание.

Стоп не надо.

Обрати внимание что у тебя шапкаДокумента с маленькой буквы написано. Там на текущий момент еще регистрозависимость Печаль.
Пиши как надо "$ШапкаДокумента".

Пы.сы. надо бы эту байду победить.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #747 - 31. Мая 2010 :: 08:18
Печать  
И это... кнопки после создания удаляй Улыбка.
А то ты сначала пишешь удаление, потом вызов "СоздатьКнопкиПоУмолчанию"  Очень довольный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #748 - 31. Мая 2010 :: 08:34
Печать  
Отлично! Смех Все заработало, остался только маленький нюанс :

почему при каждом открытии формы он мне пишет

"Тут: Дата, а оно пустое? 0"   - хотя дата документа отображается номально?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #749 - 31. Мая 2010 :: 08:40
Печать  
Об этом я уже писал... артефакт. В новой версии "уйдет" в небытие. Я точно не помню то ли в ПоставщикДанных.ЭлементОтбора то ли в ПоставщикДанных.Сервис это. Найди удали, ничего не произойдет Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #750 - 31. Мая 2010 :: 08:50
Печать  
нашел эту строчку - она в сервисе.

Спасибо огромное!!!
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #751 - 31. Мая 2010 :: 08:59
Печать  
еще вопросик всплыл:

ненужные кнопки с панели убрали, а как их аналоги из контекстного меню убрать (которое вызывается правым кликом мыши) ?
в хелпе ничего для этого объекта не нашел  Нерешительный
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #752 - 31. Мая 2010 :: 09:33
Печать  
как в добавленной колонке отобразить пиктограмму?
в этом столбце должен отражаться статус документа резерва в виде пиктограммы (создана по нему накладная или нет)

приВыводеСтроки - я могу определять статус документа, и следовательно могу запихнуть какое-то значение (булево) в колонку пиктограммы, но как его из 0/1 преобразовать в пиктограмму?

Выделять цветом не подходит - цветом выделяется просроченный резерв
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #753 - 31. Мая 2010 :: 09:40
Печать  
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #754 - 31. Мая 2010 :: 09:57
Печать  
Контекстное меню на 90% управляется различными флагами.
Можно вообще АвтоКонтекстноеМеню = 0 поставить. И в событии ПриКонтекстномМеню формировать свой список и отдавать его в метод объекта ПоставщикДанных.Сервис (название не помню).
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #755 - 31. Мая 2010 :: 12:54
Печать  
по поводу пиктограмм,
пиктограмы отображаются нормально, вот только колонка с ними  последняя

как мне передвинуть программно колонку с пиктограммами из последней колонки на вторую позицию ?

пытался использовать Сдвинуть, но вываливается ошибка
Поле агрегатного объекта не обнаружено (Сдвинуть)
Код
Выбрать все
	Колонка = Колонки.Добавить("Картинка");
	Колонка.Заголовок = "ИС";
	Колонка.Данные = "Картинка";
	Колонка.Ширина = 6;
	Колонка.ГоризонтальноеВыравнивание = 3;
  Колонка.Сдвинуть(7,6);
 



как правильно ее использовать?
« Последняя редакция: 01. Июня 2010 :: 05:59 - dimm73 »  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #756 - 01. Июня 2010 :: 10:02
Печать  
Не знаю, было или нет.
Версия 3.05.003 от 05.05.10 г

При попытке пометки на удаление заблокированного элемента справочника (открыта форма элемента) вываливается исключение, вместо внятного сообщения о заблокированности.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #757 - 01. Июня 2010 :: 11:14
Печать  
Версия 3.05.003 от 05.05.10 г
Зашел в группу справочника, в которой нет ни одного элемента, нажал Ctrl+Down
Исключение:

Код
Выбрать все
ПоставщикДанных.Справочник::ПриВыбореКоманды(Число НомерКоманды=205) : Значение не представляет агрегатный объект
Если ТабличноеПоле.ТекущиеДанные.ЭтоГруппа = 1 Тогда
) } 



Кроме того, без кода
Код
Выбрать все
	ДанныеСправочник.РодительВерхнегоУровня = ПолучитьПустоеЗначение("Справочник.Товары");
	ДанныеСправочник.Обновить();
 



табличное поле открывается пустым, и ничего не отображает, пока не переключишь иерархический просмотр.
Так и задумано?

База sql.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #758 - 01. Июня 2010 :: 11:31
Печать  
Все будет исправлено в новой версии. Спасибо за ошибки Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #759 - 01. Июня 2010 :: 15:09
Печать  
Подскажите как для поставщика данных справочник раскрасить строки в табличном поле разными цветами ? Пробовал описать процедуру ПриВыводеСтроки, но она не вызывается в моем коде
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #760 - 01. Июня 2010 :: 18:23
Печать  
Покажи код (в тхт прикрепи) Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #761 - 01. Июня 2010 :: 18:30
Печать  
Мне кажется, что будет достаточно взглянуть на объявление ф-ии  Подмигивание
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #762 - 01. Июня 2010 :: 18:58
Печать  
Я тоже так думаю. Но вдруг  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #763 - 01. Июня 2010 :: 22:01
Печать  
orefkov писал(а) 01. Июня 2010 :: 11:14:
Кроме того, без кода
Код
Выбрать все
	ДанныеСправочник.РодительВерхнегоУровня = ПолучитьПустоеЗначение("Справочник.Товары");
	ДанныеСправочник.Обновить();
 



табличное поле открывается пустым, и ничего не отображает, пока не переключишь иерархический просмотр.
Так и задумано?


Слушай, странное дело, покажи полный код как получается так что оно пустое вываливается (табличное поле). Данную ошибку повторить не смог.

Блокировки я исправил. В новой версии выложу (в течении недели), события клавиатуры вроде и в текущей актуальной должны отрабатываться корректно (версия 3.05.006 от 12.05.10 г., там только надо в Сервис убрать парочку лишних сообщений) %).
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #764 - 02. Июня 2010 :: 00:19
Печать  
vandalsvq писал(а) 01. Июня 2010 :: 18:58:
Я тоже так думаю. Но вдруг  Смех

Код
Выбрать все
Процедура ПриВыводеСтроки(ОформлениеСтроки,ДанныеСтроки,ТипРегиона) Экспорт
	Сообщить("!!!");
КонецПроцедуры
 


  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #765 - 02. Июня 2010 :: 03:43
Печать  
Все события ТП объявляются как
<ИдентификаторТП><ИмяСобытия>(ТабличноеПоле[,Параметр1][,ПараметрN]).
Т.е. у тебя минимум две ошибки.
1. В процедуре не указан идентификатор ТП перед именем события
2. Первым параметром всегда будет ТабличноеПоле, а потом все остальные указанные в документации.

Читать надо внимательнее. Это написано в доке.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #766 - 02. Июня 2010 :: 05:23
Печать  
vandalsvq писал(а) 01. Июня 2010 :: 22:01:
orefkov писал(а) 01. Июня 2010 :: 11:14:
Кроме того, без кода
Код
Выбрать все
	ДанныеСправочник.РодительВерхнегоУровня = ПолучитьПустоеЗначение("Справочник.Товары");
	ДанныеСправочник.Обновить();
 



табличное поле открывается пустым, и ничего не отображает, пока не переключишь иерархический просмотр.
Так и задумано?


Слушай, странное дело, покажи полный код как получается так что оно пустое вываливается (табличное поле). Данную ошибку повторить не смог.


Хм, оказалось достаточно вставить
ДанныеСправочник.Обновить();
тогда ТП заполняется. Но это как-то нелогично, оно же выводиться в первый раз, зачем надо обновлять?
Хотя я наверное не прав, там же всякие колонки добавляются и тп и тд...

На всякий случай код:
Код
Выбрать все
Процедура ПослеСозданияФормы()
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Справочник.Товары";
	ПоставщикДанных.КонтейнерТабличногоПоля = "ТабличноеПоле";
	ПоставщикДанных.КонтейнерКоманднойПанели = "КоманднаяПанель";

	ДанныеСправочник = ПоставщикДанных.Данные;
	ДанныеСправочник.КнопкаПросмотр = 0;
	ДанныеСправочник.СпособРедактирования = 0;
	ДанныеСправочник.СоздатьКнопкиПоУмолчанию();

	ТабличноеПоле = ДанныеСправочник.ТабличноеПоле;
	ТабличноеПоле.СтильЗаголовков = 0;
	ТабличноеПоле.СтильРамки = 0;

	ДанныеСправочник.НоваяКолонка("Код");
	ДанныеСправочник.НоваяКолонка("Наименование");

	//ДанныеСправочник.РодительВерхнегоУровня = ПолучитьПустоеЗначение("Справочник.Товары");
	//ДанныеСправочник.Обновить();
КонецПроцедуры // ПослеСозданияФормы
 


  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #767 - 02. Июня 2010 :: 05:33
Печать  
Версия 3.05.003 от 05.05.10 г

Отображаем иерархический справочник. Редактирование в списке. Жмем Enter, начинается редактирование строки. Жмем Esc. Вышли из редактирования строки. Перестали работать клавиши - ins, ctrl+down, ctrl+up, ctrl+F9, F5 и тд. Снова жмем Enter, Enter - все работает.
И еще такой вопрос - при редактировании в списке вставку элемента по Insert уже не отменить? те новый элемент создается сразу и отказаться уже нельзя?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #768 - 02. Июня 2010 :: 07:22
Печать  
Вызов "Обновить" прийдется делать по любому. Т.к. при этом происходит перестроение текста запроса (с учетом добавленных колонок, наложенных отборов и соединений). Так что пускай это будет относится к логике работы программы. Создал, добавил, настроил, обновил. Подмигивание
Редактирование и клавиатура... я такое отлавливал некоторое количество раз, по видимому это в ТП где-то (в самом табличном поле). Если смогу выявить закономерность попрошу посмотреть и поправить поведение. Класс только отрабатывает события клавиш и если они не доходят, то соответственно и ничего не происходит. - видимо ошибка в КОП все таки.
Добавление элементов при редактировании в форме списка - больной вопрос для меня. Логику поведения ТП я не придумал. На текущий момент поставщик что ODBC что SQLite не позволяет добавлять в ТП произвольную строку. Она должна быть в запросе. Вот и получается что добавление вызывает создание и запись элемента, а потом отображение и далее работа как с обычным элементом. Малость отличается от штатного, согласен. Но идеи как иначе у меня пока нет. Если есть предложения, с удовольствием рассмотрю. Как вариант в событии ПередУдалением можно самостоятельно добавлять проверку на заполненность реквизита и удалять его непосредственно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #769 - 02. Июня 2010 :: 08:00
Печать  
Так. Принимаются ли доработки?

Вот хочу предложить, в ПоставщикДанных.Справочник в Процедура ИзменитьСтроку() Экспорт, со строки 2343 изменить так:

Код
Выбрать все
Если Врег(Лев(ТипВидДанных,10)) = "СПРАВОЧНИК" Тогда
	ВладелецРеквизита = ДанныеРеквизита.Владелец;
	Если ПустоеЗначение(ВладелецРеквизита) = 0 Тогда
		Если ТипЗначения(ВладелецРеквизита) = 2 Тогда
			Если ВладелецРеквизита = "ТекущаяСтрока" Тогда
				ВладелецРеквизита = ТекущаяСтрока;
			Иначе
				ВладелецРеквизита = ТекущаяСтрока.ПолучитьАтрибут(ВладелецРеквизита);
			КонецЕсли;
		КонецЕсли;
		КонтекстФормы.РедактированиеТП.ИспользоватьВладельца(ВладелецРеквизита);
	КонецЕсли;
	РодительРеквизита = ДанныеРеквизита.Родитель;
	Если ПустоеЗначение(РодительРеквизита) = 0 Тогда
		Если ТипЗначения(РодительРеквизита) = 2 Тогда
			Если ВладелецРеквизита = "ТекущаяСтрока" Тогда
				РодительРеквизита = ТекущаяСтрока;
			Иначе
				РодительРеквизита = ТекущаяСтрока.ПолучитьАтрибут(РодительРеквизита);
			КонецЕсли;
		КонецЕсли;
		КонтекстФормы.РедактированиеТП.ИспользоватьРодителя(РодительРеквизита);
	КонецЕсли;
 



Это позволяет писать такой код при инициализации поставщика:
Код
Выбрать все
	ТабличноеПоле.Реквизиты.БазоваяЕдиница.Владелец = "ТекущаяСтрока";
	ТабличноеПоле.Реквизиты.ДоговорПоставщика.Владелец = "ОсновнойПоставщик";
 


Ну, типа атрибута "Связан с" в штатных формах.


Про кнопки - очевидно, что-то происходит в
Код
Выбрать все
Процедура ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО) Экспорт
	Если МоментРедактирования = 1 Тогда
		Возврат;
	КонецЕсли;
 

в ПоставщикДанных.ТабличноеПоле
Видимо при отмене редактирования МоментРедактирования не сбрасывается в 0.
Про новую строку я подумаю еще...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #770 - 02. Июня 2010 :: 08:08
Печать  
Доработки принимаются.
Про Владельца, интересная тема. Согласен. Добавимс.

МоментРедактирования... вот черт, а слона то я и не заметил. Ладно поправим.

Пы.сы. спасибо за проявленный интерес и предложения по делу Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #771 - 02. Июня 2010 :: 09:46
Печать  
vandalsvq писал(а) 02. Июня 2010 :: 08:08:
Пы.сы. спасибо за проявленный интерес и предложения по делу Подмигивание.

Это я пока еще со справочниками пытаюсь разобраться, потом и до других расширений дело дойдет...
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #772 - 02. Июня 2010 :: 11:02
Печать  
Версия 3.05.003 от 05.05.10 г
Хотелось бы, чтобы при включении в справочнике РежимВыбора = 1, Shift + Enter работало как "Изменить", а не как "Выбрать", как сейчас.
И чтобы в этом же режиме, при входе в группу справочника по Enter, сохранялась текущая колонка, сейчас она сбрасывается.
Хотя при входе в группу по Ctrl+Down - текущая колонка сохраняется. Это делается разным кодом? Рефакторить.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #773 - 02. Июня 2010 :: 11:34
Печать  
Александр, главное чтобы твой интерес носил прикладной характер, а не праздный Подмигивание. В остальном твои пожелания сча добавлю в wishlist

Пы.сы. ушел добавлять....  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #774 - 02. Июня 2010 :: 12:14
Печать  
По потере текущей колонки при заходе в группу по Enter при РежимВыбора = 1
Посмотрел код - в обоих случаях работает один и тот же код, что и при заходе в группу по Cttrl+Down.
Очевидно, трабла связана с тем, что вход по Enter вызывается из обработки события Выбор.
Немного модифицировал код в ПриНажатииКлавиши:

Код
Выбрать все
Процедура ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО) Экспорт
	ФлагShift = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_SHIFT);
	ФлагCtrl = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_CONTROL);
	КлавишаВверх = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_UP);
	КлавишаВниз = Клавиатура.ПолучитьСостояниеКлавиши(Клавиатура.VK_DOWN);

	Если (КодКлавиши = 13) и (РежимВыбора = 1) Тогда
		Если ПустоеЗначение(ТабличноеПоле.ТекущиеДанные) = 0 Тогда
			Если ТабличноеПоле.ТекущиеДанные.ЭтоГруппа = 1 Тогда
				ПриИзмененииРодителя(ТабличноеПоле.ТекущаяСтрока,1);
				ФСО = 0;
				Возврат;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
 


Так работает.
Интерес не праздный, надо писать конфу с нуля под sql для своей старой работы. Отличная возможность для прикручивания свистелок.
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #775 - 03. Июня 2010 :: 05:27
Печать  
Цитата:
Добавление элементов при редактировании в форме списка - больной вопрос для меня. Логику поведения ТП я не придумал. На текущий момент поставщик что ODBC что SQLite не позволяет добавлять в ТП произвольную строку. Она должна быть в запросе. Вот и получается что добавление вызывает создание и запись элемента, а потом отображение и далее работа как с обычным элементом. Малость отличается от штатного, согласен. Но идеи как иначе у меня пока нет. Если есть предложения, с удовольствием рассмотрю. Как вариант в событии ПередУдалением можно самостоятельно добавлять проверку на заполненность реквизита и удалять его непосредственно.


Я выходил из этой ситуации следующим образом:
К запросу поставщика добавлял примерно такую секцию:
Код
Выбрать все
|UNION ALL
|
|SELECT -1 --ROW_ID
|  , 0  --IsMark
|  , 3  --Картинка
|  , $ПустойИД --ID
|  , ?Код(14, 10) --Код
|  , ?Наименование(14, 50) --Наименование
|  , ?Реквизит1(14, 10)
|  , ?Реквизит2(14, 20)
.....
|  , ?РеквизитN(14, 15)
|WHERE ?ВводНового(4, 1, 0)=1
 



При создании ТП:
Код
Выбрать все
ПоставщикДанных.Параметры.Установить("ВводНового", 0);
ПоставщикДанных.Параметры.Установить("Код", "");
ПоставщикДанных.Параметры.Установить("Наименование", "");
ПоставщикДанных.Параметры.Установить("Реквизит1", "");
ПоставщикДанных.Параметры.Установить("Реквизит2", "");
....
ПоставщикДанных.Параметры.Установить("РеквизитN", ""); 



При вводе новой строки:
Код
Выбрать все
ПоставщикДанных.Параметры.Установить("ВводНового", 1);
ПоставщикДанных.Обновить();
НоваяСтрока = 1;
ТП.ТекущаяСтрока=-1;
тп.РедактироватьЗначение(...)
 



В ПриРедактированииЗначения

Код
Выбрать все
Если НоваяСтрока = 1 Тогда
    тп.ПоставщикДанных.Параметры.Установить(кол.Имя,Значение);
    тп.ПоставщикДанных.Обновить(стр);
КонецЕсли;
 



После окончания ввода значения в последнюю колонку проверяю корректность введенных данных, если все в порядке, то создаю элемент справочника и обнуляю все параметры поставщика.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #776 - 03. Июня 2010 :: 07:20
Печать  
Идея интересная. Как мне в голову не пришло просто подсунуть ему "пустую" строку.
В принципе можно не через параметризированный запрос, а через обычный (для 1sqlite нет параметризированных запросов).

В общем попробую одолеть на досуге. Ведь прийдется тогда и логику редактирования для новой строки поменять. Чтобы при редактировании завершал текущую ячейку и переходил к следующей видимой и редактировал уже ее.

Пы.сы. спасибо за направление для размышления. В любом случае уже неплохая идея.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #777 - 03. Июня 2010 :: 15:11
Печать  
Непонятная для меня ситуация с поставщиком данных справочник.
Если в процедуре ПриПолученииЗапроса я меняю строку условия на свою, то группы выводятся внизу или выводятся только группы в зависимости от условий, хотя сам запрос возвращает строки в нормальном виде, что с моим условием , что со стандартным, группы сверху товары внизу, все отсортировано как надо.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #778 - 03. Июня 2010 :: 20:20
Печать  
vandalsvq писал(а) 03. Июня 2010 :: 07:20:
для 1sqlite нет параметризированных запросов

Неправда ваша.
А по новой строке - такую же мысль примерно думал, но не додумал. А решение то изящное...

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #779 - 04. Июня 2010 :: 03:22
Печать  
Александр, ткни меня носом плиз...  Подмигивание (по параметризированным запросам).
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #780 - 04. Июня 2010 :: 03:26
Печать  
orefkov писал(а) 03. Июня 2010 :: 20:20:
А по новой строке - такую же мысль примерно думал, но не додумал. А решение то изящное...


Решение хорошее, одно "но", я так понял что у Billа текущей строкой является row_id (по крайней мере по данному коду судил ТП.ТекущаяСтрока = -1). У меня является id типизированное к значению справочника. Уж точно счас не помню, но вроде и присваивать ему надо типизированный элемент. Это в принципе не страшно, я могу row_id включить в список обязательных колонок, id пускай будет "ПустойИД" и аналогично понимать что идет редактирование.
Я в голове обдумываю реализацию до конца, просто на неделе зарекся 7-кой не заниматься ибо снеговик на бок валится из-за этого.

Пы.сы. добавил в свой список изменений в новой версии. Да уж прилично накопилось, думаю надо уже заканчивать, а то так никогда он не выйдет.  Очень довольный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #781 - 04. Июня 2010 :: 03:56
Печать  
Поменял немного логику ведения темы с обновлениями:
1. Обновления всегда будут в первом сообщении и в конце темы.
2. В последнее сообщение "Ближайшее будущее" будут заносится пожелания которые найдут реализацию в следующем релизе. А также степень готовности и реализации изменений.
3. В предпоследнем сообщении "Стратегические планы" будет отражена информация о возможных значительных изменениях. Сроки по таким изменениям, а также их реальное отражение в жизни - неопределены.

Хотелось бы большей активности... - не... передумал  Класс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #782 - 04. Июня 2010 :: 05:05
Печать  
vandalsvq писал(а) 04. Июня 2010 :: 03:22:
Александр, ткни меня носом плиз...  Подмигивание (по параметризированным запросам).

В тексте запроса для поставщика sql-параметры обозначаются как @ИмяПараметра, далее смотрим доку:

Объект SQLiteDataProvider :: УстановитьПараметр / SetParam

Синтаксис: УстановитьПараметр(ИмяПараметра, Значение, [Модификатор])

Параметры:
ИмяПараметра - тип: Строка. Название именнованого sql-параметра.
Значение - тип: Любой. Устанавливаемое значение параметра.
Модификатор - тип: Число. Модификатор, задающий правило преобразования значения 1С в значение базы данных. Подробнее см. Преобразование значений 1С в значения базы данных (работа с параметрами). Необязательный параметр. По умолчанию 0.
Возвращает: нет.

Описание: Аналогично SQLiteQuery::УстановитьПараметр.

SQL-параметры можно устанавливать в любое время, поставщик хранит их и по мере надобности применяет к текущему выполняемому запросу.


Вот пример для поставщика, отображающего доки по графе отбора Контрагент:
Код
Выбрать все
Процедура Создать()
	Пост=СоздатьОбъект("SQLiteDataProvider");
	Пост.УстановитьБД();

	Пост.УстановитьТекстЗапроса("
	|SELECT
	|О.idx_MDID_PARENTVAL_CHILDDATE_CHILDTIME_CHILDID [key]
	|,Ж.iddoc [Док :Документ]
	|,Ж.iddocdef [Док_вид :ВидДокументаПредставление]
	|,Ж.DocNo Номер
	|,Ж.date [Дата :Дата]
	|,Ж.time [Время :Время]
	|,О.ParentVal [Контрагент :Неопределенный]
	|FROM __1S_Crdoc О inner join Журнал Ж
	|  ON О.ChildID=Ж.IdDoc
	|WHERE
	|О.MdID=:ГрафаОтбора.Контрагент and О.parentval = @Клиент
	|and О.childdate BETWEEN @НачДата AND @КонДата
	|", "key", "Док");

	Пост.УстановитьПараметр("@Клиент", выбКлиент, -1);
	Пост.УстановитьПараметр("@НачДата", НачДата);
	Пост.УстановитьПараметр("@КонДата", КонДата);

	ДобавитьКолонку("Док_вид", "Документ");
	ДобавитьКолонку("Дата");
	ДобавитьКолонку("Время");
	ДобавитьКолонку("Номер");
	ДобавитьКолонку("Контрагент");

	_ТП.ПоставщикДанных=Пост;
КонецПроцедуры

Процедура ПриСменеУсловий()
	Пост = _ТП.ПоставщикДанных;
	Пост.УстановитьПараметр("@Клиент", выбКлиент, -1);
	Пост.УстановитьПараметр("@НачДата", НачДата);
	Пост.УстановитьПараметр("@КонДата", КонДата);
	Пост.Перечитать();
	//_ТП.ПоставщикДанных = "";
	//_ТП.ПоставщикДанных = Пост;
КонецПроцедуры

 

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #783 - 04. Июня 2010 :: 07:58
Печать  
* посыпаю голову пеплом  Язык
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #784 - 04. Июня 2010 :: 08:24
Печать  
Цитата:
У меня является id типизированное к значению справочника. Уж точно счас не помню, но вроде и присваивать ему надо типизированный элемент.

Я думаю, что ничего страшного не будет, если в id новой строки будет ПустойИД. Ну оттипизируется он как пустое значение типа и вида текущего справочника. Все равно на время ввода новой строки этот id не нужен.
Встанет другой вопрос, как сделать так, что бы новая строка на время редактирования всегда была последней, независимо от ключа порядка. Тут наверное нужно будет добавлять дополнительное поле в запрос. Для новой строки это поле равно 1, а для всех остальных строк 0. И всегда это поле добавлять первым в ключ порядка.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #785 - 04. Июня 2010 :: 08:32
Печать  
Собственно не выходит у меня с новой строкой... (пока только на DBF пытаюсь реализовать).

Александр если я буду не прав, поправь меня плиз.
Формат текст запроса для поставщика:
Код
Выбрать все
select <набор полей> from <источник> where <условия> 


Собственно текст запроса для отображения справочника:
Код
Выбрать все
select id, code, descr, idx_ID as Ключ
from Справочник.Контрагенты as sc13
where parentid = '     0   ' 


Но как ему подсунуть пустую строку?
Писать текст запроса + добавить в конце union all select <пустые поля>, не выйдет. Во-первых это не правильно, во-вторых 1С-ка падает Улыбка.
А писать
Код
Выбрать все
select *
from (select <поля запроса>
	  from Справочник.Контрагенты as sc13
	  where parentid = '     0   '
	  union all select <пустые поля>) 


Нельзя потому как оптимизации в данном решении никакой.

Или я не туда пошел?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #786 - 04. Июня 2010 :: 08:35
Печать  
Bill писал(а) 04. Июня 2010 :: 08:24:
Встанет другой вопрос, как сделать так, что бы новая строка на время редактирования всегда была последней, независимо от ключа порядка. Тут наверное нужно будет добавлять дополнительное поле в запрос. Для новой строки это поле равно 1, а для всех остальных строк 0. И всегда это поле добавлять первым в ключ порядка.

Собственно в ключ порядка я бы не лез. Он у меня для SQL составлен с точностью как 1С строит индексы (даже порядок полей соблюден, в dds постоянно смотрел когда делал).
Можно для таких полей в union-е добавить максимально-возможные значения.
Но имхо не это вопрос, а вопрос в том как вообще этот union all добавить?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #787 - 04. Июня 2010 :: 08:39
Печать  
Цитата:
Писать текст запроса + добавить в конце union all select <пустые поля>, не выйдет. Во-первых это не правильно

А почему не правильно?

Попробуй добавить в секцию union all условие
Код
Выбрать все
WHERE @ВводНового=1
 



И установи параметр ВводНового=0.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #788 - 04. Июня 2010 :: 08:48
Печать  
Bill, т.е. хочешь сказать что ODBC съедает такой запрос?
Код
Выбрать все
select <поля запроса>
from Справочник.Контрагенты as sc13
where parentid = '     0   '
union all
select <пустые поля>
where 0=0 



* ушел проверять
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #789 - 04. Июня 2010 :: 08:51
Печать  
Ну получается не 0=0, а 0=1 или 1=1.
У меня съел.
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #790 - 04. Июня 2010 :: 08:55
Печать  
Цитата:
* ушел проверять


Только не забудь в первом Selecte всем полям алиасы назначить, а не только idx_ID, иначе может ругаться.
И набор и порядок полей в обои селектах должен быть одинаковый (ну это ты знаешь).
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #791 - 04. Июня 2010 :: 09:11
Печать  
Bill писал(а) 04. Июня 2010 :: 08:55:
Только не забудь в первом Selecte всем полям алиасы назначить, а не только idx_ID, иначе может ругаться.
И набор и порядок полей в обои селектах должен быть одинаковый (ну это ты знаешь).

Не алиасы наверное, а написать as [имя поля] (можно без []). Пока на SQL проверить не могу, но dbf точно не взлетает.

Собственно я вот подумал, можно так не париться, это конечно хорошо, но у меня есть еще "ПриПолученииЗапроса" и модифицированные запросы в некоторых местах встречаются.
Может переделать порядок редактирования? Запоминать ссылку на новый, редактирование делать по порядку, а не заканчивать, и проверять если пользователь прекратил новый редактировать (esc) то удалять его Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #792 - 04. Июня 2010 :: 09:20
Печать  
vandalsvq писал(а) 04. Июня 2010 :: 09:11:
Bill писал(а) 04. Июня 2010 :: 08:55:
Только не забудь в первом Selecte всем полям алиасы назначить, а не только idx_ID, иначе может ругаться.
И набор и порядок полей в обои селектах должен быть одинаковый (ну это ты знаешь).

Не алиасы наверное, а написать as [имя поля] (можно без []). Пока на SQL проверить не могу, но dbf точно не взлетает.

Собственно я вот подумал, можно так не париться, это конечно хорошо, но у меня есть еще "ПриПолученииЗапроса" и модифицированные запросы в некоторых местах встречаются.
Может переделать порядок редактирования? Запоминать ссылку на новый, редактирование делать по порядку, а не заканчивать, и проверять если пользователь прекратил новый редактировать (esc) то удалять его Улыбка.

Можно и так. Только если во время редактирования одинэсина вдруг упадет, мусор останется.

Странно, что в dbf не пролазит конструкция 0=1.
В скуле нормально работает. Я даже частенько при динамическом построении запроса специально пишу WHERE 1=1, чтобы потом при добавлении условий не париться с тем, какое слово писать WHERE или AND.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #793 - 04. Июня 2010 :: 09:44
Печать  
Ну падеж 1С - это дело такое, и от 1С-ины может остаться мусор.
Что касается поставщика 1sqlite... кхм, может счас прийдет Александр и все расскажет что да как.
Пока я и SQL нормально подружить не смог.

В принципе модель редактирования все равно переделывать надо, мне не очень нравится что не переходит в следующую ячейку (и в ИТЗ и в справочнике), так что эмуляция потом возможна.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #794 - 04. Июня 2010 :: 09:54
Печать  
Цитата:
Пока я и SQL нормально подружить не смог.


А с SQL какие проблемы?

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #795 - 05. Июня 2010 :: 07:22
Печать  
Ну главная проблема не в SQL, а в том что в DBF это не реализовать. А значит надо другой способ реализовывать.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #796 - 06. Июня 2010 :: 20:12
Печать  
Медленно, но верно приближаюсь в выходу релиза. Надеюсь перед праздниками всех обрадовать. Изменений там вагон и маааааленькая тележка Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #797 - 06. Июня 2010 :: 21:54
Печать  
Собственно все... пожалуй я еще на месяц уйду в отпуск. В ближайшее время только багофикс в свободное от работы время.

3.06.001 от 07.06.10 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.07.007 от 03.06.10 г.
- Добавлен новый объект-расширение «ПоставщикДанных.Проводки».
- Изменено контекстное меню у объектов-расширений «ПоставщикДанных.Документы», «ПоставщикДанных.Журнал», «ПоставщикДанных.Операции».
- Проведены работы по оптимизации быстрого поиска по подстроке. Также полностью унифицированы все процедуры поиска. Правила общие для всех динамических поставщиков данных.
- Изменена форма управления настройкой ТП. Добавлена возможность управления положением колонок, переносом строк по словам, позиционированием табличного поля при открытии, а также параметрами автообновления списка.
- Добавлена возможность пользовательского управления настройкой позиционирования ТП и автообновления.
- Доработана процедура сохранения/восстановления настройки ТП с целью сохранения положения колонок.
- Доработана печать табличных полей. Учитываются положения колонок.
- При нажатии на кнопку из командной панели объект-расширение старается не терять фокус на табличном поле (активизация ТП).
- Изменения в объекте-расширении «ПоставщикДанных.Справочник»: в качестве значений атрибутов коллекции «Реквизиты» можно использовать текстовые представления реквизитов: «ТекущийЭлемент» и пр.; исправлена ошибка при потере обработки событий клавиатуры; изменить поведение события Shift+Enter если РежимВыбрать = 1; добавлена возможность копирования групп справочника.
- При изменении данных в ТП расширения пытаются сохранить текущую строку и колонку.
- Исправлена ошибка отбора по полю ТекущийДокумент у поставщиков Документы, Журнал, Регистр, Операции.

ВНИМАНИЕ:
- начиная с версии 3.06.001 обязательно наличие ВК Yoksel.
- начиная с версии 3.06.001 всегда при создании объектов расширений табличного поля «ПоставщикДанных.Журнал», «ПоставщикДанных.Проводки»  «ПоставщикДанных.Документы», «ПоставщикДанных.Справочник», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» в SQL формате БД создаются функции: «IdToStr», «StrToId», «ConvertPlanIdToStr», «ConvertIDTimeToTime».

1С++ в комплекте.
Скриншот прилагается... теперь это доступно всем.
Что касается новых параметров колонки табличного поля, все найдет отражение в документации 1С++ когда ВК будет выпущена официально.

И... большое спасибо всем тем кто принимал участие, и благодаря кому этот релиз стал возможен.

Пы.сы. оказалось что мое сообщение для меня юбилейное - 1800  Очень довольный
  

DP.JPG ( 89 KB | Загрузки )
DP.JPG

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #798 - 07. Июня 2010 :: 05:36
Печать  
Хо-хоу, дождались!!!
Дима, Саша, спасибо за новые фичи!!  Очень довольный
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #799 - 07. Июня 2010 :: 05:41
Печать  
.... еще б фоновую картинку и текст для ТП..  Круглые глаза
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #800 - 07. Июня 2010 :: 05:43
Печать  
Помимо нового ТП, еще чего-нить добавили в 1сpp ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #801 - 07. Июня 2010 :: 05:56
Печать  
Eprst писал(а) 07. Июня 2010 :: 05:43:
Помимо нового ТП, еще чего-нить добавили в 1сpp ?

Насколько я знаю кроме ТП изменений более нет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #802 - 07. Июня 2010 :: 06:21
Печать  
Не могу нормально потестить - 1с-ина падает всегда, что при нажатии на правую кнопку мыши над табличным полем, что при нажатии левой..
Щас попробую на чистой конфе и чистой платформе..
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #803 - 07. Июня 2010 :: 06:34
Печать  
Eprst писал(а) 07. Июня 2010 :: 06:21:
Не 1с-ина падает всегда, что при нажатии на правую кнопку мыши над табличным полем, что при нажатии левой..


Интересно, интересно, ну давай тести. Дело в том, что я на нескольких конфах проверяю и на всех проблем не было.... кхм...
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #804 - 07. Июня 2010 :: 06:52
Печать  
Eprst писал(а) 07. Июня 2010 :: 06:21:
Не могу нормально потестить - 1с-ина падает всегда, что при нажатии на правую кнопку мыши над табличным полем, что при нажатии левой..
Щас попробую на чистой конфе и чистой платформе..

На моей конфе не падает. Но у меня табличная часть дока, журнал.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #805 - 07. Июня 2010 :: 07:05
Печать  
Всё заработало..
просто был целый зоопарк компонент, и все по разным каталогам раскиданы.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #806 - 07. Июня 2010 :: 07:10
Печать  
Ну ты своим зоопарком народ то честной не пугай. А то решат что у нас тут львы, гориллы, слоны, черепахи и всячая прочая живность вместо рабочего ТП  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #807 - 07. Июня 2010 :: 09:13
Печать  
Скажите пожалуйста, а такую штуку можно?
http://www.1cpp.ru/forum/YaBB.pl?num=1275639015
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #808 - 07. Июня 2010 :: 09:29
Печать  
В самом ТП можно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #809 - 07. Июня 2010 :: 09:31
Печать  
Наглею... Не пнешь? куда рыть?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #810 - 07. Июня 2010 :: 10:31
Печать  
Да собственно рыть особо некуда. Вот тут - http://www.1cpp.ru/docum/icpp/html/TableField.html - мануал по табличному полю.
Надо просто один раз набраться смелости и попробовать Улыбка.
И вот собственно про значения флажка - http://www.1cpp.ru/docum/icpp/html/TableField.html#checkvalue
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #811 - 07. Июня 2010 :: 12:39
Печать  
Большое спасибо!
Все как мне надо получилось!!!!
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #812 - 07. Июня 2010 :: 13:03
Печать  
Спасибо!
Начинаем тестить.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #813 - 08. Июня 2010 :: 07:01
Печать  
Думая над реализацией поставщика данных периодических значений столкнулся с ранее мне не очень то интересными вещами.

Речь идет о таблице _1sconst
Поле objid хранит внутренний идентификатор элемента справочника. 9 символов, т.е. без вида справочника.
Поле id хранит внутренний идентификатор периодического реквизита. Собственно возникает вопрос, как из этого самого id получить Метаданные реквизита?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #814 - 08. Июня 2010 :: 07:20
Печать  
vandalsvq писал(а) 08. Июня 2010 :: 07:01:
Думая над реализацией поставщика данных периодических значений столкнулся с ранее мне не очень то интересными вещами.

Речь идет о таблице _1sconst
Поле objid хранит внутренний идентификатор элемента справочника. 9 символов, т.е. без вида справочника.
Поле id хранит внутренний идентификатор периодического реквизита. Собственно возникает вопрос, как из этого самого id получить Метаданные реквизита?

В моей обработке ПоискОшибок_в_Регистрах ( здесь или на инфостарте )
есть функция ОпределитьПоБД_Табл_Спр_Документов()
там это сделано.(только в функции рассматриваются только периодические меняемые документами а тебе нужны все )
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #815 - 08. Июня 2010 :: 07:29
Печать  
Ну от обратного (все метаданные изучить и получить все id в таблицу) - это неинтересно Улыбка. В смысле что так я и сам понимаю что можно. А вот как исходя из id получить реквизит Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #816 - 08. Июня 2010 :: 07:38
Печать  
У меня вот такой запрос выводит статистику по кол-ву реквизитов разного вида, может поможет
Код
Выбрать все
select
  id as [Название :ИмяВида],
  count(id) as Кол
from
  __1s_const
group by id 



это правда не совсем то..
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #817 - 08. Июня 2010 :: 07:43
Печать  
1sqlite - в зачет за наличие типизации $ИмяВида - хоть имя реквизита можно получить. А как же быть с SQL (ODBC)?
Хотя в конечном итоге хотелось бы получать Метаданные... Печаль. Эх
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #818 - 08. Июня 2010 :: 11:42
Печать  
Ну а чем плох вариант:
Цитата:
все метаданные изучить и получить все id в таблицу


Я думаю это не долгий процесс.
Можно в конструкторе класса формировать временную таблицу на сервере и потом присоеденять ее к запросам.

  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #819 - 08. Июня 2010 :: 12:13
Печать  
vandalsvq писал(а) 08. Июня 2010 :: 07:43:
1sqlite - в зачет за наличие типизации $ИмяВида - хоть имя реквизита можно получить. А как же быть с SQL (ODBC)?
Хотя в конечном итоге хотелось бы получать Метаданные... Печаль. Эх

Ну надо MetaDataWork допилить.
Завтра гляну.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #820 - 08. Июня 2010 :: 12:19
Печать  
Bill писал(а) 08. Июня 2010 :: 11:42:
Ну а чем плох вариант:
Можно в конструкторе класса формировать временную таблицу на сервере и потом присоеденять ее к запросам.

Ну аналогично счас в ODBC работает типизация к плану счетов (ПоставщикДанных.Проводки). Думаю... думаю... думаю...

Пы.сы. отпуск обещался быть... вот поэтому пока не горит нифига.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #821 - 08. Июня 2010 :: 12:45
Печать  
Думаю, это первый баг

ПоставщикДанных.ПрямойЗапрос::ВыполнитьЗапрос(Строка ТекстЗапроса=create function ConvertPlanIDToStr(@PlanID int)
     returns char(100) as
     begin
           declare @PlanStr Char(100)
           select
                 @PlanStr = case @PlanID
           end
           return(@PlanStr)
     end, Число БезПодготовки=1) : State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'end'.
ЗапросODBC.ВыполнитьИнструкцию(ПодготовленныйТекстЗапроса);

У меня ЗиК, планов счетов нет вообще.

Пока обошел так:
Код
Выбрать все
//Изменения Bill
//Было:
//ТекстПроверки = "case @PlanID";
//КоличествоПлановСчетов = Метаданные.ПланСчетов();
//Для НомерПланаСчетов = 1 По КоличествоПлановСчетов Цикл
//	МетаПланСчетов = Метаданные.ПланСчетов(НомерПланаСчетов);
//	Представление = МетаПланСчетов.Представление();
//	ИДПланаСчетов = МетаДата.ИДОбъекта(МетаПланСчетов);
//	ТекстПроверки = ТекстПроверки + "
//	|			when "+ИДПланаСчетов+" then '"+СокрЛП(Представление)+"'";
//КонецЦикла;
//ТекстПроверки = ТекстПроверки + "
//|		end";
//Стало:
КоличествоПлановСчетов = Метаданные.ПланСчетов();
Если КоличествоПлановСчетов>0 Тогда
	ТекстПроверки = "case @PlanID";
	Для НомерПланаСчетов = 1 По КоличествоПлановСчетов Цикл
		МетаПланСчетов = Метаданные.ПланСчетов(НомерПланаСчетов);
		Представление = МетаПланСчетов.Представление();
		ИДПланаСчетов = МетаДата.ИДОбъекта(МетаПланСчетов);
		ТекстПроверки = ТекстПроверки + "
		|		when "+ИДПланаСчетов+" then '"+СокрЛП(Представление)+"'";
	КонецЦикла;
	ТекстПроверки = ТекстПроверки + "
	|		end";
Иначе
	ТекстПроверки = "''";
КонецЕсли;
//Конец изменений 

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #822 - 08. Июня 2010 :: 12:49
Печать  
Эгегей.... баги побежали Смех
Все путем исправимся  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #823 - 08. Июня 2010 :: 12:51
Печать  
Нормально, тестим дальше   Подмигивание
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 855
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #824 - 08. Июня 2010 :: 13:36
Печать  
Ага. И у меня в примере на спр. Контрагенты вместо номера мобильного телефона (поле числовое) показалась ерунда
  

Telephone.jpg ( 37 KB | Загрузки )
Telephone.jpg

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #825 - 08. Июня 2010 :: 14:56
Печать  
ПоставщикДанных.Журнал.

Код
Выбрать все
Процедура ПослеСозданияФормы()

	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.КонтейнерТабличногоПоля = "кнТаблица_";
	ПоставщикДанных.КонтейнерКоманднойПанели = "кнПанельКнопок_";
	ПоставщикДанных.ТипЗначений="Журнал.Сборный";
 



Вываливает ошибку на строке
Код
Выбрать все
ПоставщикДанных.ТипЗначений="Журнал.Сборный"; 


:

ПоставщикДанных.ТипЗначений="Журнал.Сборный";
{C:\ДАННЫЕ\ЖУРНАЛДОКОВ.ERT(86)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Журнал.Сборный) : ПоставщикДанных.Журнал::ПриЗаписи_ВидЖурнала(Строка Параметр=Сборный) : ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Значение не представляет агрегатный объект
Поле.Автоудаление = 0;
{C:\Данные\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.Журнал.ert(960) }

вирт().Обновить();
525) }

ТабличноеПоле.Обновить();
{C:\Данные\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.Журнал.ert(1103) }

ПоставщикДанных.ВидЖурнала = Сред(ТипЗначений,8);
{C:\Данные\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ert(115) }


В предыдущей версии работало.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #826 - 09. Июня 2010 :: 04:33
Печать  
Bill писал(а) 08. Июня 2010 :: 12:45:
У меня ЗиК, планов счетов нет вообще.


Исправлено

alyuev писал(а) 08. Июня 2010 :: 13:36:
Ага. И у меня в примере на спр. Контрагенты вместо номера мобильного телефона (поле числовое) показалась ерунда


Если в предыдущей версии было все нормально то прошу режим отладки текущей и предыдущей версии в txt дать на просмотр.

Bill писал(а) 08. Июня 2010 :: 14:56:
ПоставщикДанных.Журнал.
Вываливает ошибку на строке
Код
Выбрать все
Поле.Автоудаление = 0; 


В предыдущей версии работало.


Исправлено

Текущая версия: 3.06.002 от 09.06.10 г.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #827 - 09. Июня 2010 :: 04:47
Печать  
Хотелки: Дерево групп когда-нить в светлом будующем будет реализовано ?

Нельзя ли взять за основу классы ADirks-a ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #828 - 09. Июня 2010 :: 05:08
Печать  
Eprst писал(а) 09. Июня 2010 :: 04:47:
Хотелки: Дерево групп когда-нить в светлом будующем будет реализовано ?

Нельзя ли взять за основу классы ADirks-a ?


Классы Диркса можно прикрутить в виде поставщика данных самостоятельно, и подобную реализацию я обдумывал, но пока ни руки ни голова не дошли до этого. Время, время, время... думаю надо просто запастить терпением и все может быть.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 855
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #829 - 09. Июня 2010 :: 06:45
Печать  
vandalsvq писал(а) 09. Июня 2010 :: 04:33:
Если в предыдущей версии было все нормально...

Предыдущие версии не использовал.... Только начал тестировать.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #830 - 09. Июня 2010 :: 07:34
Печать  
Использую класс для отображения журнала документов (документа определенного типа)

одна из колонок - название контрагента, при поиске строки по первым буквам контрагента - строку находит, но почему-то курсор перепрыгивает в первый столбик - с номером документа.
Почему так происходит?

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #831 - 09. Июня 2010 :: 08:23
Печать  
dimm73 писал(а) 09. Июня 2010 :: 07:34:
Использую класс для отображения журнала документов (документа определенного типа)

одна из колонок - название контрагента, при поиске строки по первым буквам контрагента - строку находит, но почему-то курсор перепрыгивает в первый столбик - с номером документа.
Почему так происходит?


Посмотри плиз метод "БыстрыйПоискПоПодстроке" (вроде так называется не помню точно. Там в конце после поиска идет позиционирование на колонке. Обычно он встает в туже колонку, иначе пытается найти "НомерДокумента" иначе в первую попавшуюся. В твоем случае почему то он не правильно позиционируется на колонке. Ищи в данной процедуре баг. Я лично у себя подобного не встречал.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #832 - 09. Июня 2010 :: 08:24
Печать  
alyuev писал(а) 09. Июня 2010 :: 06:45:
Предыдущие версии не использовал.... Только начал тестировать.

Тогда могу только посоветовать внимательнее посмотреть в свой справочник, наверное вопрос все таки к нему, поставщик лишь отражает то что считал.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 855
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #833 - 09. Июня 2010 :: 10:15
Печать  
А что смотреть-то? Обычный реквизит с числовым типом. Длина - 11. По этому реквизиту установлены флажки "Сортировка" и "Отбор по реквизиту".
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #834 - 09. Июня 2010 :: 11:01
Печать  
Я не знаю что смотреть. Просто не может поставщик взять и "как попало, что попало поставить куда попало". Он что вытащил то и отобразил. Может какое преобразование должно быть может еще что, если поле чистое без функций я тогда не совсем понимаю как такое возможно и без теста скажу "не верю" (с).  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 855
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #835 - 09. Июня 2010 :: 11:33
Печать  
Поле чистое - без формул и функций.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #836 - 09. Июня 2010 :: 12:04
Печать  
Мелкая доработочка по работе с флажками. Если использовать ЗаполнитьИзОбъектаПрямойЗапрос() приходится дублировать обработку, т.к. не определен тип колонки и код в ДобавитьДанныеОКолонке не отрабатывает
Код
Выбрать все
Если ТипВид = "Число" Тогда
	Если (Длина = 1) и (Точность = 0) Тогда
		СтруктураФлажков.Добавить(Идентификатор,Идентификатор);
.... 


Прошу в ПоставщикДанных.ИндексированнаяТаблица.ert включить экспортный метод, если не потеряло актуальность.
Код
Выбрать все
Процедура ДобавитьВСтруктуруФлажков(Идентификатор,Колонка="") Экспорт
	СтруктураФлажков.Добавить(Идентификатор,Идентификатор);
	Если Колонка="" Тогда
		Колонка=ТабличноеПоле.Колонки.Получить(Идентификатор);
	КонецЕсли;
	Колонка.Ширина = 17;
	Колонка.ИзменениеРазмера = 0;
КонецПроцедуры // ДобавитьВСтруктуруФлажков 


В ДобавитьДанныеОКолонке соответственно можно вставить вызов.
  
Наверх
GTalkICQ  
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #837 - 09. Июня 2010 :: 12:33
Печать  
А отсюда http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/705#719 не стал делать?
Цитата:
И еще, можно ли зафиксировать период так, чтобы он изменялся только кнопкой выбора интервала дат.
А то очень неудобно, когда отключаешь отбор или устанавливаешь отбор по значению в текущей колонке. Отбор по датам отключается и приходится его каждый раз устанавливать заново.
Я из этого положения вышел так:
внес в процедуру УстановитьИнтервалДат() строку:
СвойствоДатаДокумента.ИзменятьИспользование = 0;


Имхо, раз есть специальная кнопка для управления периодом, то пусть только она и управляет отбором по датам.

И, это, так и должно ругаться, если устонавливаешь отбор по текущей колонке "Вид докумета": "Отбор по колонке с реквизитом 'Метаданные' невозможен"?

Это все по поводу ПоставщикДанных.Журнал.
  
Наверх
 
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #838 - 09. Июня 2010 :: 12:55
Печать  
И еще одна хотелка.
В ПоставщикДанных.ДвиженияДокумента не хватает движений по журналам расчетов и движений по периодике.

Цитата:
У меня ЗиК
Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #839 - 10. Июня 2010 :: 03:20
Печать  
Kalen писал(а) 09. Июня 2010 :: 12:04:
Мелкая доработочка по работе с флажками. Если использовать ЗаполнитьИзОбъектаПрямойЗапрос() приходится дублировать обработку, т.к. не определен тип колонки

В объекте ПрямойЗапрос (насколько помню) можно использовать типизачию Число.1.0, тогда он длину и точность поймет как 1 и 0, и присвоит ему флаг. Но если не помогает есть метод УстановитьПараметрыКолонки, в нем можно установить Тип, Длину, Точность. Ставишь "Число",1,0. Должно помочь.

Bill писал(а) 09. Июня 2010 :: 12:33:
А отсюда http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/705#719 не стал делать?

Если честно просто не отловил как это происходит.

Bill писал(а) 09. Июня 2010 :: 12:33:
И еще, можно ли зафиксировать период так, чтобы он изменялся только кнопкой выбора интервала дат.

Подумаю конечно, просто опять таки где я что понаписал ранее... х.з. как бы не получилось что тут уберу и кнопку еще где-нибудь удалил Улыбка.

Bill писал(а) 09. Июня 2010 :: 12:55:
В ПоставщикДанных.ДвиженияДокумента не хватает движений по журналам расчетов и движений по периодике.

А у меня не ЗиК  Подмигивание. Но раз мы "платформонезависимые" согласен что нужно. Как нибудь на досуге посмотрю. Что касается периодики, пока думаю как сделать, стандартным 1С-овским способом не хочется, а прямым запросом не получается пока.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #840 - 10. Июня 2010 :: 04:18
Печать  
Цитата:
Подумаю конечно, просто опять таки где я что понаписал ранее... х.з. как бы не получилось что тут уберу и кнопку еще где-нибудь удалил

Может можно добавить свойство типа ИзменятьПериодТолькоКнопкой?
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #841 - 10. Июня 2010 :: 05:13
Печать  
vandalsvq писал(а) 10. Июня 2010 :: 03:20:
Kalen писал(а) 09. Июня 2010 :: 12:04:
Мелкая доработочка по работе с флажками. Если использовать ЗаполнитьИзОбъектаПрямойЗапрос() приходится дублировать обработку, т.к. не определен тип колонки

В объекте ПрямойЗапрос (насколько помню) можно использовать типизачию Число.1.0, тогда он длину и точность поймет как 1 и 0, и присвоит ему флаг. Но если не помогает есть метод УстановитьПараметрыКолонки, в нем можно установить Тип, Длину, Точность. Ставишь "Число",1,0. Должно помочь.

Насколько я понимаю, в существующем виде не будет работать ни так, ни эдак. СтруктураФлажков.Добавить есть только в ДобавитьДанныеОКолонке. УстановитьПараметрыКолонки его не вызывает. Типизация в запросе ничего не даст, т.к. ЗаполнитьИзОбъектаПрямойЗапрос не передает параметр ТипВид Длина,Точность в ДобавитьДанныеОКолонке.
« Последняя редакция: 10. Июня 2010 :: 07:51 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #842 - 10. Июня 2010 :: 05:42
Печать  
Значит это баг метода "УстановитьПараметрыКолонки"  Подмигивание. В общем ладно обещаю посмотреть на этот счет что могу сделать и как.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #843 - 10. Июня 2010 :: 07:32
Печать  
vandalsvq писал(а) 10. Июня 2010 :: 05:42:
Значит это баг метода "УстановитьПараметрыКолонки"  Подмигивание. В общем ладно обещаю посмотреть на этот счет что могу сделать и как.

Имхо, не очень-то логично завязываться на УстановитьПараметрыКолонки. Ведь колонка уже имеет нужный тип. Правильнее подправить вызов ДобавитьДанныеОКолонке в ЗаполнитьИзОбъектаПрямойЗапрос на предмет передачи ТипВид Длина,Точность.
Впрочем, в УстановитьПараметрыКолонки тоже не вредно предусмотреть СтруктураФлажков
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #844 - 10. Июня 2010 :: 08:00
Печать  
Согласен... можно научить типизацию "$Число.1.0" разбирать. В общем ясно. Будем исправлять в будущем релизе.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #845 - 10. Июня 2010 :: 10:17
Печать  
vandalsvq писал(а) 10. Июня 2010 :: 08:00:
Согласен... можно научить типизацию "$Число.1.0" разбирать. В общем ясно. Будем исправлять в будущем релизе.

пока в ДобавитьДанныеОКолонке у себя поменял так
Код
Выбрать все
	//*Kalen Towr, 2010-06-10 15:19:43
	//Если ТипВид = "Число" Тогда
	//	Если (Длина = 1) и (Точность = 0) Тогда
	// -------- заменено на:
	Если Лев(ТипВид,5) = "Число" Тогда
		Если ((Длина = 1) и (Точность = 0)) или (ТипВид="Число.1.0")  Тогда
	//*/Kalen Towr, 2010-06-10 15:19:43 


Так лучше не делать  Со сжатыми губами
При повторном выполении запроса почему-то возникает ошибка в классе. А через предложенный ранее метод - все нормально. Подмигивание
« Последняя редакция: 11. Июня 2010 :: 15:07 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #846 - 10. Июня 2010 :: 11:07
Печать  
Сбрасывается галка "перносить по словам" в новой настройке списка ТП. Т.е. Открыл настройку, поставил галку, закрыл настройку, открыл настройку - галки нету. При этом сам перенос есть и даже восстанавливается при повторном открытии формы, только после закрытия окна настройки надо нажимать Обновить. Без регулирования высоты строки толку от переноса ~0.
  
Наверх
GTalkICQ  
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #847 - 11. Июня 2010 :: 02:20
Печать  
Отдельной темы не нашел, так что здесь спрошу:
класс "УправлениеФормой", на форме есть горизонтальный сплиттер, над ним "МногострочнаяЧасть" и "Дерево групп", под ним "ТабНоменклатуры".
Как "Дерево групп" привязать?... нет у него идентификатора Нерешительный ?
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #848 - 11. Июня 2010 :: 07:33
Печать  
Дерево групп сделать своё - взяв, например активикс от мелгомягких..
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #849 - 11. Июня 2010 :: 08:05
Печать  
мнмнм... еще варианты? в данном случае просто имеющуюся форму надо "оживить" немного... с чужим деревом долго разбираться..
Ёпрст - или пример дерева групп от Мелкомягких в студию))
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #850 - 11. Июня 2010 :: 08:55
Печать  
Вот тут, например

Или, редактировать класс привязок, в который передавать атрибут не по имени, а по ссылке типа АтрибутФормы, которую получить через формекс.
  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #851 - 11. Июня 2010 :: 21:43
Печать  
Вот Епрст скинул пример с ТП, где в качестве поставщика данных - справочник номенклатура (ТиС). Осилил установить, прописать, запустил.. - все ок вроде. "Трабла" такая - при пометке группы на удаление - помечаются элементы группы (как в шатном) + помечаются на удаление элементы подчиненных справочников (как в штатном) - это гуд. Но при снятии пометки удаления с группы - элементы группы тоже снимаются с удаления, а вот полдчиненные справочники - остаются помеченными на удаление... Беглый обзор доки по Поставщику данных - не пояснил.
.
Собственно сабж - как застаить снимать пометки на удаление у подчиненных?
.
Спсб.
  
Наверх
www  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #852 - 12. Июня 2010 :: 12:13
Печать  
Злоп писал(а) 11. Июня 2010 :: 21:43:
Собственно сабж - как застаить снимать пометки на удаление у подчиненных?


удаяй сам используя события ПередУдалением ПослеУдаления
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #853 - 13. Июня 2010 :: 19:46
Печать  
Я вернулся... но в работу не хочу Улыбка.
В общем что касается снятия пометки удаления владельца, то 1С в штатном поведении у подчиненных пометку не снимает, насколько я помню.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #854 - 14. Июня 2010 :: 14:42
Печать  
vandalsvq писал(а) 13. Июня 2010 :: 19:46:
Я вернулся... но в работу не хочу Улыбка.

Так бывает Подмигивание

Хочу в своей конфе использовать класс "Поставщик данных". Но возникает небольшое затруднение - в текущей реализации все файлы, к классу относящиеся, снаружи находятся.
Для меня это не слишком удобно - более 30 филиалов...
Обновить весь пакет файлов по всем филиалам непросто - прямого доступа к ним нет.

Предполагается ли реализовать поддержку хранения класса и файлов, к нему относящихся, в МД?
Если нет, как лучше поступить?

vandalsvq писал(а) 06. Июня 2010 :: 21:27:
Стратегические планы:
4. Форма отбора с возможностью группировки условий отбора + поддержка группировок условий отбора при построении текстов запросов.

Мне тоже хотелось бы поудобней форму отбора, можем обсудить, готов взяться за разработку, если нет возражений.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #855 - 14. Июня 2010 :: 15:32
Печать  
nvg писал(а) 14. Июня 2010 :: 14:42:
Предполагается ли реализовать поддержку хранения класса и файлов, к нему относящихся, в МД?
Если нет, как лучше поступить?


Думаю что как вариант - обновлять (накатывать) вручную. Как правило в сборке видно какие файлы изменились и их обновлять. Это конечно заморочка, но сборку в виде .MD я не планировал.

nvg писал(а) 14. Июня 2010 :: 14:42:
Мне тоже хотелось бы поудобней форму отбора, можем обсудить, готов взяться за разработку, если нет возражений.


Готов обсудить, но данный вопрос для меня упирается в один фактор - время. Есть подозрение что до августа месяца я наврядли буду заниматься чем-то кроме багофикса.
Все твои предложения я готов обсудить. Если описание большое - почта, если не очень - аська. Но лучше - ЛС или почта Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #856 - 15. Июня 2010 :: 09:15
Печать  
vandalsvq писал(а) 14. Июня 2010 :: 15:32:
nvg писал(а) 14. Июня 2010 :: 14:42:
Предполагается ли реализовать поддержку хранения класса и файлов, к нему относящихся, в МД?
Если нет, как лучше поступить?


Думаю что как вариант - обновлять (накатывать) вручную. Как правило в сборке видно какие файлы изменились и их обновлять. Это конечно заморочка, но сборку в виде .MD я не планировал.

Сами файлы классов обновлять в МД не проблема. С классом "ПрямойЗапрос" так и делаю.

Но встречаются подобные конструкции, то необходимо их править дополнительно:
Код
Выбрать все
ПутьКФайлуКласса = я().ПолучитьПуть();
ИмяФайлаКласса = "ПоставщикДанных.ЭлементыОтбора.ert";
ПутьКФайлуНастройкиОтбора = СтрЗаменить(ПутьКФайлуКласса,ИмяФайлаКласса,"ПоставщикДанных.ОтборДанных.ert"); 


Можно ли такие конструкции заменить на вызов функции, аналогичной ОткрытьОбработку() из конфигурации:
http://www.1cpp.ru/forum/YaBB.pl?num=1169222935
  
Наверх
ICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #857 - 15. Июня 2010 :: 10:44
Печать  
2 vandalsvq.
Саша, есть просьба. Добавте к атрибутам кнопки в командной панели атрибут "Видимость". Я у себя так и сделал, но когда обновляю Вашу разработку пытаюсь не забыть это подправлять. Вот сегодня забыл и пока разобрался, что это у меня голова дырявая, а не ошибки в Поставщике, убил кучу времени.Сделайте, пожалуста.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #858 - 15. Июня 2010 :: 12:37
Печать  
Код пришли Подмигивание на основании текущей версии.

Пы.сы. обнаружил некоторое количество косяков в "новой" версии, исправлю вскоре. Счас руки не доходят. Я занялся вопросом "ускорения".
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #859 - 15. Июня 2010 :: 14:12
Печать  
Код? Да пожалуста.
  

________________________________001.rar ( 13 KB | Загрузки )
Наверх
 
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #860 - 17. Июня 2010 :: 12:15
Печать  
Стрраное поведение поставщика данных. Использую поставщик данных справочник. В процедуре ПриПолученииЗапроса добавляю колонки. Вижу что текст запроса с моими колонками, но вот на сервер упорно отсылается без моей колонки, по какой-то причине поле обрезается в запросе, уже не знаю куда копать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #861 - 17. Июня 2010 :: 14:21
Печать  
Поле удаляется из запроса если колонка невидима.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #862 - 17. Июня 2010 :: 23:59
Печать  
vandalsvq писал(а) 17. Июня 2010 :: 14:21:
Поле удаляется из запроса если колонка невидима.

А если мне это поле нужно ?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #863 - 18. Июня 2010 :: 03:52
Печать  
На текущий момент можно самому поправить класс, в скором времени надеюсь руки дойдут и этот функционал тоже будет добавлен.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #864 - 18. Июня 2010 :: 08:41
Печать  
Прошу научить ПоставщикДанных.КоманднаяПанель добавлять кнопку в УКАЗАННОЕ место панели. И вообще, смещать кнопку влево/вправо.
  
Наверх
GTalkICQ  
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #865 - 18. Июня 2010 :: 09:53
Печать  
vandalsvq писал(а) 18. Июня 2010 :: 03:52:
На текущий момент можно самому поправить класс, в скором времени надеюсь руки дойдут и этот функционал тоже будет добавлен.

Не подскажите в какую процедуру смотреть ?
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #866 - 19. Июня 2010 :: 07:55
Печать  
Очень не хватает фильтра в ПоставщикДанных.ИндексированнаяТаблица.ert Печаль
И еще РежимВыбора там же.
« Последняя редакция: 19. Июня 2010 :: 12:21 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #867 - 19. Июня 2010 :: 08:11
Печать  
Через "Данные.ИндексированнаяТаблица" накладывай фильтры какие нужны. А как реализовать фильтр средствами аналогичными динамическим поставщикам я не думал еще.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #868 - 19. Июня 2010 :: 12:55
Печать  
vandalsvq писал(а) 19. Июня 2010 :: 08:11:
А как реализовать фильтр средствами аналогичными динамическим поставщикам я не думал еще.

Ну, я как раз об этом. Вобщем-то принцип, имхо, должен быть тот же, что и у остальных поставщиков (Справочник, Журнал...). Есть источник данных, а есть выборка, отображаемая в ТП. Конечно, потребуется больше памяти на две ТЗ, но оно стоит того. По крайней мере, при отсутствии фильтра, можно так же как сейчас подсовывать в ТП исходную ТЗ
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #869 - 19. Июня 2010 :: 15:50
Печать  
Тогда уж проще сделать поставщика данных временной таблицы. Вот тогда любой вопрос решится. Только с типизацией не очень понятно. Собственно есть идея, будет и решение. А вот когда - подумаемс. Счас у меня другие задачи.

Вот лучше протестируйте параметризированные запросы. Это куда интереснее  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
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 записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #885 - 25. Июня 2010 :: 06:24
Печать  
С Запросом разобрался(я сам дурак), да правильно, там стояла единичка  Печаль
вот вред Копи-Пасте...
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #886 - 25. Июня 2010 :: 12:35
Печать  
vandalsvq писал(а) 25. Июня 2010 :: 04:14:
Я выкладывал тут тестовую конфигурацию в ней пример журнала был.
А вообще в мыслях сделать хороший пример реализации все расширений с настройкой. Так и тестировать будет проще и вход в разработку станет "дешевле". Но было бы время. У кого-то я помню были идеи по реализации учебника, ну или примера Улыбка. Автор идеи отзовись !!!


Дайте пожалуйста ссылку, или еще раз выложите пожалуйста, а то найти в таком количестве постов - не совсем легкое дело Подмигивание.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #887 - 27. Июня 2010 :: 18:57
Печать  
И так, выложена новая версия.

3.06.003 от 27.06.10 г.
- Для объектов расширений табличного поля «ПоставщикДанных.Журнал», «ПоставщикДанных.Проводки»  «ПоставщикДанных.Документы», «ПоставщикДанных.Справочник», «ПоставщикДанных.Операции» и «ПоставщикДанных.Регистр» добавлены новые методы «ПостоянныеПоляЗапроса», «УстановитьПоляЗапроса».
- Для объекта «ПоставщикДанных.КоманднаяПанель» добавлен метод «Видимость».
- Для объекта-расширения табличного поля «ПоставщикДанных.ИндексированнаяТаблица» добавлен новый публичный атрибут «РежимВыбора» и событие «ПриВыбореЗначения».
- Исправлены ранее выявленные ошибки.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.07.011 от 27.06.10 г.

Где ее искать? См. первый пост данной темы Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #888 - 29. Июня 2010 :: 07:13
Печать  
Саша, есть ошибка в КоманднаяПанель:
Поле агрегатного объекта не обнаружено (Видимость)
В коллекции кнопки нет ключа Видимость.
Или может я чего-то недопонимаю.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #889 - 29. Июня 2010 :: 07:18
Печать  
За  атрибут "РежимВыбора" и событие "ПриВыбореЗначения" для "ПоставщикДанных.ИндексированнаяТаблица" большое спасибо. Давно это хотелось
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #890 - 29. Июня 2010 :: 08:33
Печать  
Видимость(ИмяКнопки,Флаг) - это метод. А в коллекцию кнопки я не добавлял, мне хочется уже переписать этот класс малость, так что видимо либо снаряжусь на это, либо добавлю атрибут в коллекцию.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #891 - 29. Июня 2010 :: 10:02
Печать  
Я понял. Но согласись, удобно когда Кнопка.Видимость=0 и кнопка пропала, Кнопка.Видимость=1 и кнопка появилась. Волшебство!!!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #892 - 29. Июня 2010 :: 12:33
Печать  
Согласен, но тогда надо свою коллекцию реализовывать которая бы имела событие "При установке значения". В принципе я так и думал сделать. Вот только время бы.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #893 - 29. Июня 2010 :: 13:36
Печать  
Ну дайте кто нибудь пример работы с списками документов. Спасибо.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #894 - 29. Июня 2010 :: 14:09
Печать  
Пример работы со списком документов:

Код
Выбрать все
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ПоставщикДанных.ТипЗначений = "Документ.ДокументПриходОстатки";
	ПоставщикДанных.КонтейнерТабличногоПоля = "ДокументыСписокДокументПриходОстатки";
	ПоставщикДанных.КонтейнерКоманднойПанели = "ИДКоманднаяПанель";

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;
	ТабличноеПоле.ПозиционныйБыстрыйПоиск = 0;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;

	Данные = ПоставщикДанных.Данные;
	Данные.СоздатьКнопкиПоУмолчанию();
	Данные.РежимОтладки = -1;

	Данные.ДобавитьСоединениеДанных("СправочникКонтрагенты","left join Справочник.Контрагенты as СпрКонтр $nolock
	|on $ШапкаДокумента.Контрагент = $СпрКонтр.ТекущийЭлемент");
	о",1,0,1);

	Данные.НоваяКолонка("ДатаДокумента");
	Данные.НоваяКолонка("НомерДокумента");
	Данные.НоваяКолонка("ВремяДокумента");
	Данные.НоваяКолонка("ДатаДокумента");
	Данные.НоваяКолонка("Контрагент");
	Данные.НоваяКолонка("Конкурент");
	Данные.НоваяКолонка("Договор");
	Данные.НоваяКолонка("ТестовыйРеквизит");
	Данные.НоваяКолонка("Количество",1);
	Данные.АвтоОбновление = 1;
	Данные.ПериодАвтоОбновления = 10;

	Данные.УстановитьПоляЗапроса("НомерДокумента,Контрагент,Конкурент");

	Реквизиты = ТабличноеПоле.Реквизиты;
	Реквизиты.Договор.ВидыДляВыбора = "Договоры";

	ТабличноеПоле.ВосстановитьПозициюКолонок();
	ПоставщикДанных.Обновить(); 

  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #895 - 29. Июня 2010 :: 14:16
Печать  
в объекте "ПоставщикДанных.Сервис" есть метод ВыбратьЗначение для выбора в контекстном меню.

при клике на меню "остаются галки".
как сделать так чтобы галки вообше не ставились?
  

Box.png ( 5 KB | Загрузки )
Box.png
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #896 - 29. Июня 2010 :: 14:31
Печать  
Проверь пометку в списке значений. Установи 0 принудительно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #897 - 29. Июня 2010 :: 15:04
Печать  
vandalsvq писал(а) 29. Июня 2010 :: 14:31:
Проверь пометку в списке значений. Установи 0 принудительно.

спасибо, никогда бы  не догадался.
а иконку вместо галок  можно вставлять?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #898 - 29. Июня 2010 :: 16:01
Печать  
Как бы можно, но данный метод в классе под это не адаптирован. Вот как нибудь я прикручу туда картинки и адаптирую Улыбка.

Будущее оно всегда светлое, правда? Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #899 - 29. Июня 2010 :: 18:42
Печать  
vandalsvq писал(а) 29. Июня 2010 :: 16:01:
Будущее оно всегда светлое, правда? Улыбка


ох незнаю....
на днях тут с методом ПриПолученииЗапроса Поставщика.Документы игрался это просто ппц.

при определенных условиях данные в колоках путаются, задваиваются или просто исчезают из запроса
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #900 - 29. Июня 2010 :: 18:47
Печать  
Какая версия 1С++?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #901 - 29. Июня 2010 :: 19:29
Печать  
Anatol писал(а) 29. Июня 2010 :: 18:42:
при определенных условиях данные в колоках путаются, задваиваются или просто исчезают из запроса

при определенных условиях и 1С-ка падает. Если писать правильно то подобного поведения не должно быть. Например если ты соединением приводишь к тому что данные "задваиваются" дык это проблема твоих рук, а не класса, он четко по индексам той таблицы откуда читает работает. Все остальные методы это на "вашей совести". Так что не надо делать соединение с таблицей строк документов Улыбка. Хотите поставщика строк документов? Дык так и напишите, может и сделаем.

Пы.сы. а если неуверенность в светлом будущем будет усиливаться, ты дай знать, расскажи свои сомнения. Может партия выслушает, поймет и примет меры  Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #902 - 30. Июня 2010 :: 05:13
Печать  
может и я дурак, но вот смотри

в 1с вот такой кусочек кода

Код
Выбрать все
//======================================================================
Процедура РеестрПриПолученииЗапроса(ТабличноеПоле, СтруктураЗапроса)

	СтруктураЗапроса.Колонки = СтруктураЗапроса.Колонки + "
	|	, (CASE WHEN Жур2.CLOSED&1 = 1 THEN 1 ELSE 0 END) as Загружен
	|	, $Область.Наименование AS Район, $Область.Наименование AS Район
	|	, (CASE WHEN $ШапкаДокумента.Собран < 0 THEN 5 ELSE $ШапкаДокумента.Собран END) as Собран
	|";

	СтруктураЗапроса.Источник = СтруктураЗапроса.Источник + "
	|LEFT JOIN Справочник.Договоры КАК Договор $nolock
	|	ON $Договор.ТекущийЭлемент = $ШапкаДокумента.Договор
	|LEFT JOIN Справочник.кпкОбластьТорговли КАК Область $nolock
	|	ON $Договор.ОбластьТорговли = $Область.ТекущийЭлемент
	|
	|LEFT LOOP JOIN _1SCRDOC as Отбор_ (NOLOCK)
	|	ON Отбор_.MDID=0 AND 'O1'+$ВидДокумента36.Реализация+ТекущийОбъект.IDDOC = Отбор_.Parentval
	|LEFT LOOP JOIN	_1SJOURN as Жур2 (NOLOCK)
 	|	ON Отбор_.CHILD_DATE_TIME_IDDOC = Жур2.Date_Time_IDDoc
 	|";

 	СтруктураЗапроса.Условия = СтруктураЗапроса.Условия + "
 	|and (Жур2.IDDocDef = $ВидДокумента.ЗагрузочнаяНакладная or Жур2.IDDocDef is null)
 	| " + ТексДопУсловия;

КонецПроцедуры // ПриПолученииЗапроса
// 



в при отладке в скл уходит следующий запрос


Код
Выбрать все
select top 34
journ.DATE_TIME_IDDOC as ПозицияДокумента,
journ.IDDOC as ТекущийДокумент,
CASE WHEN journ.ISMARK = 1 THEN 7 ELSE CASE WHEN journ.CLOSED&1 = 1 THEN 8 ELSE 6 END END as Пиктограмма,
LTRIM(RTRIM(journ.DOCNO)) as НомерДокумента,
CAST(LEFT(journ.DATE_TIME_IDDOC, 8) as DATETIME) as ДатаДокумента,
CASE WHEN journ.CLOSED&1 = 1 THEN 1 ELSE 0 END as Проведен,
CASE WHEN journ.ISMARK = 1 THEN 1 ELSE 0 END as ПометкаУдаления,
journ.ROW_ID as НомерСтрокиЖурналаДокументов,
journ.IDDOCDEF as ВидДокументаСортировка,
journ.DOCNO as НомерДокументаСортировка,
dh1611.SP1583 as Контрагент,
dh1611.SP1584 as Договор,
dh1611.SP1604 as Сумма,
Область.DESCR as Район,
dh1611.SP8878 as Грузчик,
dh1611.SP8186 as ПровереноКладовщиком,
(CASE WHEN Жур2.CLOSED&1 = 1 THEN 1 ELSE 0 END) as Загружен
from _1SJOURN AS journ (nolock)
LEFT JOIN
	DH1611 AS dh1611 (nolock)
ON
	journ.IDDOC = dh1611.IDDOC


LEFT JOIN SC204 AS Договор (nolock)
	ON Договор.ID = dh1611.SP1584
LEFT JOIN SC9475 AS Область (nolock)
	ON Договор.SP9477 = Область.ID

LEFT LOOP JOIN _1SCRDOC as Отбор_ (NOLOCK)
	ON Отбор_.MDID=0 AND 'O1'+' 18R'+journ.IDDOC = Отбор_.Parentval
LEFT LOOP JOIN	_1SJOURN as Жур2 (NOLOCK)
	ON Отбор_.CHILD_DATE_TIME_IDDOC = Жур2.Date_Time_IDDoc
where CAST(LEFT(journ.DATE_TIME_IDDOC, 8) as DATETIME) BETWEEN '20100630' AND '20100630'
AND
	journ.IDDOCDEF = 1611
and (Жур2.IDDocDef = 8002 or Жур2.IDDocDef is null)
order by journ.DATE_TIME_IDDOC 




а если переставить колонки

Код
Выбрать все
	СтруктураЗапроса.Колонки = СтруктураЗапроса.Колонки + "
	|	, $Область.Наименование AS Район, $Область.Наименование AS Район
	|	, (CASE WHEN Жур2.CLOSED&1 = 1 THEN 1 ELSE 0 END) as Загружен
	|	, (CASE WHEN $ШапкаДокумента.Собран < 0 THEN 5 ELSE $ШапкаДокумента.Собран END) as Собран
	|";
 



текст отладки

Код
Выбрать все
....
dh1611.SP1583 as Контрагент,
dh1611.SP1584 as Договор,
dh1611.SP1604 as Сумма,
Область.DESCR as Район,
dh1611.SP8878 as Грузчик,
(CASE WHEN dh1611.SP8808 < 0 THEN 5 ELSE dh1611.SP8808 END) as Собран,
dh1611.SP8186 as ПровереноКладовщиком,
(CASE WHEN Жур2.CLOSED&1 = 1 THEN 1 ELSE 0 END) as Загружен
from _1SJOURN AS journ (nolock)
LEFT JOIN
	DH1611 AS dh1611 (nolock)
...
 



ну вот я немогу понять куда делать колонка Собран в первом случаи?
чего я такого страшного сделал?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #903 - 30. Июня 2010 :: 05:23
Печать  
Надо смотреть на тестовой базе с ходу не берусь высказывать предположения. Попробуй методом "добавит колонку данных" и "добавить соединение данных".
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #904 - 30. Июня 2010 :: 05:31
Печать  
это в через ПоставщикДанных.Сервис?
  
Наверх
wwwICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #905 - 30. Июня 2010 :: 05:35
Печать  
извините за офф.
Саша, а это что за хрень ?
where CAST(LEFT(journ.DATE_TIME_IDDOC, 8) as DATETIME) BETWEEN '20100630' AND '20100630'
Это что поставщик такой запрос делает? Ужас
  

1&&2&&3
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #906 - 30. Июня 2010 :: 05:54
Печать  
Дим, вообще это не офф, а очень даже по теме.

В новой версии он вроде бы должен писать
where LEFT(journ.DATE_TIME_IDDOC, 8) between '........' and '...........' без cast. Другое дело что и это можно поменять. Чтобы даже left не было. Но тут дело в том, что поля запроса прописываются один раз. Они используются для вывода данных, соответственно потом и при построении условий (при модификации отборов). Я как то уже "боролся" с данной хренью, в плане того чтобы не было условий вроде "case when ismark = '*' then 1 else 0 end = 0 или (1)". Но видимо не все доборол, кое что осталось.
Думаю надо написать себе проверить все расширения на предмет измененных полей чтобы в условиях они формировались правильно, без всякого рода преобразований.
Буду рад если кто укажет на подобные "что это за хрень".
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #907 - 30. Июня 2010 :: 06:02
Печать  
LEFT(journ.DATE_TIME_IDDOC, 8) - тоже не годится

Должно быть
DATE_TIME_IDDOC BETWEEN '20100630' AND '20100630Z' и никак иначе. Ведь индекс же.

Выражение для поля селект-листа "Дата" это одно.
А выражение для ограничения по периоду это совсем другое.
  

1&&2&&3
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #908 - 30. Июня 2010 :: 06:37
Печать  
trad писал(а) 30. Июня 2010 :: 06:02:
тоже не годится
Выражение для поля селект-листа "Дата" это одно.
А выражение для ограничения по периоду это совсем другое.


Абсолютно согласен, просто сначала то писал в угоду универсальности, потом начал заниматься оптимизацией. В общем я знаю что есть над чем работать. Тем баче когда "интерфейс" класса готов.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #909 - 30. Июня 2010 :: 10:09
Печать  
а можно реализовать быстрый поиск по вхождению в строку?
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #910 - 30. Июня 2010 :: 10:17
Печать  
Anatol писал(а) 30. Июня 2010 :: 10:09:
а можно реализовать быстрый поиск по вхождению в строку?

Можно но "быстрым" он уже перестанет быть Улыбка. Поскольку одно дело проверять на = другое дело на like Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #911 - 30. Июня 2010 :: 11:31
Печать  
тем не мение хотелось бы.
ну что же это за счастье такое если при поиске документа по номеру нужно вбивать префикс и нули?
  
Наверх
wwwICQ  
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #912 - 30. Июня 2010 :: 13:48
Печать  
vandalsvq писал(а) 30. Июня 2010 :: 05:23:
Надо смотреть на тестовой базе с ходу не берусь высказывать предположения. Попробуй методом "добавит колонку данных" и "добавить соединение данных".


так и сделал, вроде как даже без всяких глюков и отбор по ним стало возможно делать... красота =)
осталось только реализовать метод "ДобавитьУсловиеДанных", так, на светлое будушее  Круглые глаза


в ПриПолученииЗапроса отстался такой кусок кода

Код
Выбрать все
СтруктураЗапроса.Условия = СтруктураЗапроса.Условия + "
|and (Жур2.IDDocDef = $ВидДокумента.ЗагрузочнаяНакладная or Жур2.IDDocDef is null)
| " + ТексДопУсловия; 



которое не учитывается при печати табличного поля. Печаль
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #913 - 30. Июня 2010 :: 16:20
Печать  
Дело в том что "Условие" данных по идее можно будет контролировать через объект "ПоставщикДанных.ЭлементыОтбора". Но это в будущем.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #914 - 01. Июля 2010 :: 08:33
Печать  
как раз вопрос по элементам отбора

в отбор добавляю новый элемент

Код
Выбрать все
ЭлементОтбора = СвойствоОтбор.Добавить("Контрагент",-1);
ЭлементОтбора.Представление = "Контрагент";
ЭлементОтбора.Использование = 0;
ЭлементОтбора.ИзменятьИспользование = 1;
ЭлементОтбора.Видимость = 1;
ЭлементОтбора.Вид = 1;
ЭлементОтбора.ТипДанных = "Справочник";
ЭлементОтбора.ВидДанных = "Контрагенты"; 



элемент добавляется в отбор, но форма выбора самого элемента не открывается  Печаль
  
Наверх
wwwICQ  
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #915 - 01. Июля 2010 :: 09:28
Печать  
Код
Выбрать все
ЭлементОтбора.Отбор.Контрагент.Значение = ПолучитьПустоеЗначение("Справочник.Контрагенты"); 

  
Наверх
GTalkICQ  
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #916 - 01. Июля 2010 :: 09:36
Печать  
Как сделать, чтобы при закрытии документа обновлялось табличное поле журнала. Документ был открыт из этого журнала?
Автообновление сознательно отключил.

Как добавить кнопку поиска в командную панель, чтобы вызывалась форма поиска как по ctrl-F?
Код
Выбрать все
Кнопка = КоманднаяПанель.Кнопка("Поиск",,,22,"ПриНачалеБыстрогоПоиска",ТабличноеПоле); 


Этот код не работает.
Спасибо.
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #917 - 01. Июля 2010 :: 10:50
Печать  
Anatol писал(а) 01. Июля 2010 :: 08:33:
как раз вопрос по элементам отбора

в отбор добавляю новый элемент, элемент добавляется в отбор, но форма выбора самого элемента не открывается  Печаль

ПолеДанных надо указать только и все остальное излишне в принципе. Читай документацию.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #918 - 01. Июля 2010 :: 10:52
Печать  
Pavel.V писал(а) 01. Июля 2010 :: 09:36:
Как сделать, чтобы при закрытии документа обновлялось табличное поле журнала. Документ был открыт из этого журнала?
Автообновление сознательно отключил.

Как добавить кнопку поиска в командную панель, чтобы вызывалась форма поиска как по ctrl-F?
Код
Выбрать все
Кнопка = КоманднаяПанель.Кнопка("Поиск",,,22,"ПриНачалеБыстрогоПоиска",ТабличноеПоле); 


Этот код не работает.
Спасибо.

1. В журнале можно повесить таймер который бы контролировал контексты. Из документа можно тоже как-то оповестить. В общем "танцами с бубном можно" Улыбка.
2. Посмотри события ТП по обработке нажатий клавиш и там делай что хочешь.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #919 - 01. Июля 2010 :: 12:49
Печать  
если в отборе ставить вид сранения Всписоке или НеВСписке, включить отбор и применить
то при последующем использовании этой графы отбора невозможно выбрать в фильтре единичный элемент (вид отбора равно, НеРавно)
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #920 - 01. Июля 2010 :: 18:28
Печать  
На моих тестах по простому примеру (открыл, вид ВСписке, список, ОК, открыл, Равно, значение, ОК) проблем не замечено.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #921 - 02. Июля 2010 :: 07:39
Печать  
Добавление кнопки "Поиск" в командную панель "ПоставщикДанных.Журнал" считаю обоснованным. Думаю не в моей только конторе юзвери тупо не могут нажимать ctrl-F (есть такие экземпляры). Делается так:
1. В "ПоставщикДанных.Журнал строка 1149
Код
Выбрать все
Кнопка =
Кнопка.Подсказка = "Обновить текущий список";
СвойствоКоманднаяПанель.Добавить(Кнопка); 



2. В "ПоставщикДанных.ТабличноеПоле" строка 490
Код
Выбрать все
Процедура ОткрытьФормуПоиска() Экспорт
	вирт().ОткрытьФормуПоиска();
КонецПроцедуры 



Код создания кнопки можно добавить и в "ПоставщикДанных.Справочник"
  
Наверх
GTalkICQ  
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #922 - 02. Июля 2010 :: 08:21
Печать  
Стоит добавить в контекстное меню "ПоставщикДанных.Журнал" команду "Подчиненные документы"

В "ПоставщикДанных.Журнал"

строка 2187
Код
Выбрать все
КонтекстноеМеню.ДобавитьЗначение(231,"Подчиненные документы");
 


строка 1994
Код
Выбрать все
ИначеЕсли НомерКоманды = 231 Тогда // Открыть журнал подчиненных документов
	Если ПустоеЗначение(ТабличноеПоле.ТекущаяСтрока) = 0 Тогда
		ОткрытьФорму("Журнал.Подчиненные",,ТабличноеПоле.ТекущаяСтрока);
	КонецЕсли;
 

  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #923 - 02. Июля 2010 :: 11:56
Печать  
Pavel. V, командная панель больше менятся не будет. Напиши глобальный метод и подстраивай куда надо. Не сочти за грубость просто я лично для себя в этом смысле не вижу. Быстрый поиск охватывает большую часть данных для поиска.
Что же касается пункта меню "ПодчиненныеДокументы", то в новой версии он есть. Контекстное меню -> Открыть -> Подчиненные документы
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #924 - 02. Июля 2010 :: 13:52
Печать  
vandalsvq писал(а) 01. Июля 2010 :: 18:28:
На моих тестах по простому примеру (открыл, вид ВСписке, список, ОК, открыл, Равно, значение, ОК) проблем не замечено.


все так, если список пустой, если что нибудь есть в списке, то см. (919)
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #925 - 02. Июля 2010 :: 15:01
Печать  
Тест  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #926 - 05. Июля 2010 :: 06:05
Печать  
сегодня наткнулся на такую весч: одна из баз (старый период 2006-2008 гг) вертится на ADS (Advantage Database Server - http://infostart.ru/public/15211/)...и так бывает!  Подмигивание ... и во всех местах, где используется "ПоставщикДанных" база молча "падает"... предлагаю как вариант зашить в класс проверку, и если это не СКЛь и не ДБФ - хотя бы ругаться человеческим голосом... Правда, не ясно, как отличить ADS от DBF )))
  
Наверх
ICQ  
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #927 - 05. Июля 2010 :: 07:02
Печать  
Как отловить в табличном поле - (ПоставщикДанных.ТипЗначений = "Документ.РезервированиеТовара") "событие пометка на удаление".

Только сейчас заметил, что при этом не вызывается процедура из глобального модуля ПриУдаленииДокумента() - где на этот случай стоит проверка на созданный подчиненный док по резерву.

Я так понял здесь просто при нажатии срабатывает Объект.Удалить() - но где на него можно поставить условие?
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #928 - 05. Июля 2010 :: 07:32
Печать  
Пока что решил проблему врезкой (проверкой на свое условие) в ПоставщикДанных.Документы.ert - УдалитьСтроку(). но хотелось бы по возможности решить без изменения кода, а то потом забуду и поставлю обновленную версию  - и все по новой.
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #929 - 05. Июля 2010 :: 08:44
Печать  
Там не только эта процедура не вызывается, а еще и ПриОтменеПроведения, а также надо посмотреть что там с правами.

Есть возможность это доделать, но пока что не разобрался в коде класса.
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #930 - 05. Июля 2010 :: 09:11
Печать  
ПоставщикДанных.ПрямойЗапрос, ошибка при создании функции ConvertPlanIDToStr, там код вот такой:
Код
Выбрать все
create function ConvertPlanIDToStr(@IDTime char(9))
	returns char(100) as
	begin
		declare @PlanStr Char(100)
		select
			@PlanStr = case @PlanID
			when 1668 then 'Основной план счетов'
		end
		return(@PlanStr)
	end 


понятно что переменной @PlanID нет в парамтерах, поэтому для правильной работы класса надо поменять код в строке 12814 на вот такой:
Код
Выбрать все
ТекстЗапроса = "create function ConvertPlanIDToStr(@PlanID char(9)) 


Исправленный файл (ПоставщикДанных.ПрямойЗапрос.ert) прилагаю.
  

_____________________________001.ert ( 122 KB | Загрузки )
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #931 - 05. Июля 2010 :: 09:58
Печать  
dimm73 писал(а) 05. Июля 2010 :: 07:32:
Пока что решил проблему врезкой (проверкой на свое условие) в ПоставщикДанных.Документы.ert - УдалитьСтроку(). но хотелось бы по возможности решить без изменения кода, а то потом забуду и поставлю обновленную версию  - и все по новой.

Вообще то у поставщика есть событие "ПередУдалением". Там можно и ФСО обнулить и проверить что надо. Можно и без "врезки" обойтись.

pvase писал(а) 05. Июля 2010 :: 08:44:
Там не только эта процедура не вызывается, а еще и ПриОтменеПроведения, а также надо посмотреть что там с правами.
Есть возможность это доделать, но пока что не разобрался в коде класса.

С правами в классе должно быть все нормально, буквально почти с самого появления есть контроль прав, но может быть что-то не досмотрел.
Что касается того что не вызываются процедуры... кхм. Их можно и вызвать проблема в другом, если там СтатусВозврата(0) поставят как узнать что ФСО = 0 я должен подставить. В общем если кто-нить найдет смелость допилить этот момент скажу большое спасибо. Я давно все подобные события 1С перенаправляю в "общие модули" (общие классы). Собственно в событиях поставщиков их же и вызываю.

pvase писал(а) 05. Июля 2010 :: 09:11:
понятно что переменной @PlanID нет в парамтерах, поэтому для правильной работы класса надо поменять код в строке

Версия какая? Вроде исправлял.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #932 - 05. Июля 2010 :: 10:11
Печать  
vandalsvq писал(а) 05. Июля 2010 :: 09:58:
pvase писал(а) 05. Июля 2010 :: 09:11:
понятно что переменной @PlanID нет в парамтерах, поэтому для правильной работы класса надо поменять код в строке

Версия какая? Вроде исправлял.


Взял из последней версии ПоставщикДанных.006
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #933 - 05. Июля 2010 :: 10:26
Печать  
Проверю. Блин как меня "глюки" достали. Руки опускаются.  Нерешительный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #934 - 05. Июля 2010 :: 11:06
Печать  
Камрады. Разбираюсь по тихоньку в этом замечательном функционале... Но возникли вопросы, может ответы и пробегали, тему перечитывал.
1. Заменяю форму списка на свою с ТП и поставщиком. Т.е. делаю невидимой многострочную часть, убираю стандартную панель инструментов. Первая проблема - это привязки особенно ДереваГрупп. Частично удалось побороть с помощью класса Общие.Форма.Привязки (из примера Demo_RiK_Splitters) и нескольких сплиттеров, но эта зараза (т.е. дерево) все равно пытается убежать-развернуться. Уже и явно его устанавливал по Ширина = ШиринаФормы / 7, все равно ездит туда-сюда, раз нормально, раз наехало на ТП.
Может это я не тот класс привязок юзаю, их я так понимаю несколько...
2. При открытии формы и щелчке на элементе делаю:
Код
Выбрать все
Процедура а)
Если Форма.РежимВыбора() = 0 Тогда
		//открыть элемент справочника

		Форма.ВыполнитьВыбор(ТабличноеПоле.ТекущиеДанные.ТекущийЭлемент);
ИначеЕсли Форма.РежимВыбора() = 1 Тогда
		Форма.ВыполнитьВыбор(ТабличноеПоле.ТекущиеДанные.ТекущийЭлемент);
		Форма.Закрыть();
КонецЕсли;
 


открывается элемент спрвочника, вроде правильно.
При открытии формы из документа, выбор тоже отрабатывается, форма списка закрывается, но и форма элемента тоже отрывается, вопрос, как ее НЕ открывать в этом случае?

3. Насколько я понял процедура КонтейнерТабличноеПолеПриБыстромПоиске(ТП, чТипБыстрогоПоиска, нДанные, чФСО) в модуле формы списка
будет обрабатываться только после процедуры ПриБыстромПоиске класса Поставщикданных.Справочник, причем флаг чФСО = 0 на это не влияет, как тогда опционально включать свой быстрый поиск (в форме списка), или использовать поиск из класса?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #935 - 05. Июля 2010 :: 11:27
Печать  
1. С деревом не боролся. Просто если очень надо строил его сам с помощью прямого запроса и ActiveX от микрософта. (treeview)
2. Есть флаг "РежимВыбора". Вот можно в коде при инициализации написать "Данные.РежимВыбора = ?(Форма.РежимВыбора()>0,1,0);"
3. Прежде чем отключать быстрый поиск класса скажи, а чем он не устраивает? А вообще я не задавался вопросом как его (поиск в классе) отключить, видимо потому что устраивал вполне тот что в КОП реализован.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #936 - 05. Июля 2010 :: 11:35
Печать  
По быстрому поиску:
Что очень нравится - это я насколько я понимаю отслеживание клавы при самом поиске, что нажимая "Абвг" и сделав паузу - ТП будет искать именно "Абвг".
Что хотелось бы, думаю опционально хотелось бы поиск по подстроке хотя бы по наименованию, что то типа на форме стоит флажок (или там с зажатым альтом свой поиск, без - стандартный), при = 1 ищем по подстроке (по типу ФСО = 0, и далее своя реализация), при = 0 юзается стантарный б-поиск по началу наименования.
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #937 - 05. Июля 2010 :: 13:02
Печать  
Я тоже давно пытаюсь убедить Александра, что поиск по подстроке  - необходимая вещь. Несмотря на неоптимальность. Даешь поиск по LIKE!  Очень довольный
  
Наверх
GTalkICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #938 - 05. Июля 2010 :: 13:22
Печать  
а что вам мешает воткнуть это, для поиска по подсторке ?
http://www.1cpp.ru/forum/YaBB.pl?num=1211491690/0
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #939 - 05. Июля 2010 :: 14:14
Печать  
А знаете почему поиска по подстроке нет Улыбка. Нет, не потому что я вредный, ленивый или еще что. Просто потому что есть в нормальной 1С для этого другие методы: Отбор и поиск через поле расположенное в окне самой программы. Так вот, отбор у нас есть, а поиска в окне программы нет. Вот вы и мучаетесь Улыбка.
Насколько я знаю сделать это поле доступным возможно, а поиск - это дело техники.
Вот найдутся заинтересованные лица в реализации данного функционала и найдут тех кто сделает и все будет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #940 - 06. Июля 2010 :: 06:14
Печать  
vandalsvq писал(а) 05. Июля 2010 :: 14:14:
Вот вы и мучаетесь Улыбка.

А Вы, стало быть, нет? Подмигивание
Эх, если бы работал штатный поиск 1с, вопросов бы не было...
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #941 - 06. Июля 2010 :: 06:21
Печать  
Мне пока достаточно отборов. Ну и факт того что можно это сделать при определенных "условиях". Просто в приоритетах поиск по подстроке не стоит на первом месте. И не на втором тоже.
Вообще если честно куда прикольнее было бы сделать механизм полнотекстового поиска, но это совсем другая песня.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #942 - 06. Июля 2010 :: 07:31
Печать  
При изменении состава списка колонок журнала документов. Через раз вылетает 1С-ка. Пробовал версии 1С++ 3.0.1.25 и 3.0.1.28

И не понятен глюк класса "УправлениеФормой" в методе "ПривязкаЭлементов".  Элементы не привязываются. Пример в этой ветке "Справочник.Контрагенты" работает на ура. Переношу в основную конфу -- не работает. Куда смотреть. Пробовал на 3-х компах в ХП и в 2003 в обоих тот же глюк. Не ужели у все работает?
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #943 - 06. Июля 2010 :: 07:34
Печать  
Pavel.V писал(а) 06. Июля 2010 :: 07:31:
При изменении состава списка колонок журнала документов. Через раз вылетает 1С-ка. Пробовал версии 1С++ 3.0.1.25 и 3.0.1.28


Юзай более "старшие" версии. Там эта ошибка исправлена.

Pavel.V писал(а) 06. Июля 2010 :: 07:31:
И не понятен глюк класса "УправлениеФормой" в методе "ПривязкаЭлементов".  Элементы не привязываются. Пример в этой ветке "Справочник.Контрагенты" работает на ура. Переношу в основную конфу -- не работает. Куда смотреть. Пробовал на 3-х компах в ХП и в 2003 в обоих тот же глюк. Не ужели у все работает?

Привязать() не забываешь? Привязку надо делать только в ПриОткрытии. Ну и если вдруг у тебя свои перехватчики потом стоят то надо и этот вопрос разруливать.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #944 - 06. Июля 2010 :: 07:47
Печать  
Дык все один в один из внешней обработки "Справочник.Контрагенты" там работает. Копирую элементы формы и модуль в обработку конфигурации и не работает. Печаль Все один в один. Саша, скинь пожалуйста рабочий код из обработки своей конфы для примера.
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #945 - 06. Июля 2010 :: 08:12
Печать  
Код
Выбрать все
УправлениеФормой = СоздатьОбъект("УправлениеФормой");
Привязка = УправлениеФормой.ПривязкаЭлементов;
Привязка.УстановитьГраницыПоФорме("ТП",1,1,1,1);
Привязка.Привязать(); 



Писал на память поскольку 7.7 тупо нет на компе.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #946 - 06. Июля 2010 :: 08:16
Печать  
Ну все правильно. Так и делаю. Но работает во внешней обработке, а в обработке конфигурации нет. 1С++ последней версии. Спишу на глюк. Нет времени разбираться.
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #947 - 06. Июля 2010 :: 08:38
Печать  
А настройка EnableTurboBL включена? Проверь. В одной из последних версий эти флаги сбрасывались и надо было заново выставлять (почитай историю версий).
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Pavel.V
Junior Member
**
Отсутствует


I hate 1C!!!

Сообщений: 19
Местоположение: Belarus
Зарегистрирован: 09. Декабря 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #948 - 06. Июля 2010 :: 08:52
Печать  
vandalsvq писал(а) 06. Июля 2010 :: 08:38:
А настройка EnableTurboBL включена?


В глобальнике прописано:
Код
Выбрать все
УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
УправлениеНастройками.Включить("EnableTurboBL"); 


  
Наверх
GTalkICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #949 - 06. Июля 2010 :: 13:36
Печать  
Pavel.V писал(а) 06. Июля 2010 :: 08:52:
vandalsvq писал(а) 06. Июля 2010 :: 08:38:
А настройка EnableTurboBL включена?


В глобальнике прописано:
Код
Выбрать все
УправлениеНастройками = СоздатьОбъект("УправлениеНастройками");
УправлениеНастройками.Включить("EnableTurboBL"); 



А у меня почему то так работает:
Код
Выбрать все
Настройки = СоздатьОбъект("УправлениеНастройками");
Настройки.Включить("TurboBL"); 


  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #950 - 07. Июля 2010 :: 07:31
Печать  
Оба способа валидны, я специально так делал в свое время.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #951 - 07. Июля 2010 :: 21:38
Печать  
Доброй ночи Улыбка
опять появились вопросы:
Есть ПоставщикДанных.Справочник, все размещено в форме списка справочника (так нужно, долго рассказывать)

и если фокус стоит на табличном поле - то при нажатии клавиш выполняются обработчики событий, определенные классом Поставщик данных  и Табличное поле
Если фокус стоит на другом элементе - выполняется штатный обработкчик события справочника.
Вопрос - можно ли его перехватить (например, кнопку Инсерт) и передать (т.е. принудительно запустить) в  обработчик события табличного поля?
ну с перехватом понятно - оно работает
а как передать попроще, чтобы не рисовать лшних процедур?
т.е. запустить что-то типа ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО)
Вот параметр Клавиатура - как-то его можно передать?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #952 - 08. Июля 2010 :: 04:25
Печать  
формексом, в ПриНажатииКнопкиКлавиатуры всё ловится.


  
Наверх
 
IP записан
 
qop_akaki
Junior Member
**
Отсутствует



Сообщений: 40
Местоположение: Красноярск
Зарегистрирован: 12. Июля 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #953 - 12. Июля 2010 :: 08:47
Печать  
При изменении размера окна по горизонтали выскакивает вот это ...
  

_______004.bmp ( 854 KB | Загрузки )
_______004.bmp

Всем спасибо, я не понял!
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #954 - 12. Июля 2010 :: 09:41
Печать  
Это проблема не класса, а ActiveX. Подумаю может быть в "УправлениеФормой" зашью лекарство какое-нибудь.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #955 - 12. Июля 2010 :: 09:52
Печать  
Как я понял это от кнопок картинки...
может покороче сделать кнопку командной панели?
  
Наверх
wwwICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #956 - 12. Июля 2010 :: 10:04
Печать  
Anatol писал(а) 12. Июля 2010 :: 09:52:
Как я понял это от кнопок картинки...
может покороче сделать кнопку командной панели?

Мне тоже так кажется. И, думается, что и панель кнопок тоже привязали к правому краю формы, хотя этого делать не нужно (просто незачем).
  
Наверх
 
IP записан
 
qop_akaki
Junior Member
**
Отсутствует



Сообщений: 40
Местоположение: Красноярск
Зарегистрирован: 12. Июля 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #957 - 13. Июля 2010 :: 08:02
Печать  
Панель не привязана.

Я так понял картинки надо сделать 16х15 да?
  

Всем спасибо, я не понял!
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #958 - 13. Июля 2010 :: 10:29
Печать  
высоту кнопки на которой размешается панель сделай 16 ну ширину под размер кнопок (на глаз)
  
Наверх
wwwICQ  
IP записан
 
qop_akaki
Junior Member
**
Отсутствует



Сообщений: 40
Местоположение: Красноярск
Зарегистрирован: 12. Июля 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #959 - 13. Июля 2010 :: 11:08
Печать  
При 16 и получается такой косяк Нерешительный
  

Всем спасибо, я не понял!
Наверх
IP записан
 
Boog
Junior Member
**
Отсутствует



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #960 - 14. Июля 2010 :: 08:39
Печать  
Подскажите, где можно взять последнюю версию 1cpp, в которой есть эта доработка: http://www.1cpp.ru/forum/YaBB.pl?num=1248963712
и у объекта Колонка ТП есть свойство Положение?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #961 - 14. Июля 2010 :: 09:26
Печать  
  

1&&2&&3
Наверх
 
IP записан
 
Boog
Junior Member
**
Отсутствует



Сообщений: 95
Местоположение: Винница
Зарегистрирован: 23. Февраля 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #962 - 14. Июля 2010 :: 09:35
Печать  
Спасибо. Значит, на заглавной странице проекта уже обновлений не будет, так?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #963 - 14. Июля 2010 :: 09:59
Печать  
Там тоже есть
  
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #964 - 15. Июля 2010 :: 10:48
Печать  
Забавный эффект обнаружен в случае установки атрибута ПериодАвтоОбновления у объекта поставщика, равным 0 (понимаю, что глупость, случайно получилось).
Ноль перестает быть нулем...

Пример прилагается.
Вызов процедуры Тест(Число("0"), Число(0), 0) дает несколько неожиданный результат.
1C++ - 3, 2, 1, 0
1С - 21 и 27 релизы
WinXP SP3

Проверьте, пожалуйста. Это только у меня так?!!

  

test_PD.ert ( 26 KB | Загрузки )
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #965 - 15. Июля 2010 :: 10:57
Печать  
ПериодАвтоОбновления становится 5 да? Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #966 - 15. Июля 2010 :: 11:39
Печать  
vandalsvq писал(а) 15. Июля 2010 :: 10:57:
ПериодАвтоОбновления становится 5 да? Улыбка

Не только, еще  0 = 5  Очень довольный

Код поставщика я смотрел до того, как тут это выложить.
  
Наверх
ICQ  
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #967 - 15. Июля 2010 :: 14:22
Печать  
Может удалось подтвердить или опровергнуть столь странное поведение 1с?
Может, это у меня с системой что-то?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #968 - 18. Июля 2010 :: 16:31
Печать  
Сломал голову над эффективной реализацией "ПоставщикДанных.ДеревоЗначений". Не ждите меня скоро. И лучше пока вообще не ждите.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #969 - 19. Июля 2010 :: 10:57
Печать  
vandalsvq писал(а) 18. Июля 2010 :: 16:31:
Сломал голову над эффективной реализацией "ПоставщикДанных.ДеревоЗначений". Не ждите меня скоро. И лучше пока вообще не ждите.

Саша, а Вы выложите то, что уже сделали и можем попробовать совмесными усилиями. Ведь нас много и многим это интересно. Кажлый по чуть-чуть а Вы отбракуете неудачные варианты, глядишь и все получится.
Я не великий специалист, то тоже попытаюсь свою лепту внести, ведь и мне это очень интересно. 
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #970 - 20. Июля 2010 :: 08:20
Печать  
Нет. Полуфабрикат выкладывать не хочу.
Основная загвостка для меня в вопросе как хранить данные. Идеология ведь поставщика в том что есть источник данных и есть сам класс ПоставщикДанных.ИсточникДанных. Для дерева источника нет, вот я его и пытаюсь придумать. Чтобы был быстрый, удобный и красивый.
К сожалению 8-ка мне мозг проела и я не нашел пока более "удобного" интерфейса чем в ней. Но реализация подобного решения при помощи классов мягко говоря неэффективна.
Вот как выходные наступят придумаю другой вариант интерфейса и попробую реализовать. Когда появится "источник" выложу. А поставщик лишь дело техники.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #971 - 20. Июля 2010 :: 18:53
Печать  
В связи с изменениями внутри 1С++ я просто не имел права не отразить их появление в своей разработке.

3.06.004 от 21.07.10 г.
- Свойство «ВыделятьОтрицательные» удалено у объектов-расширений табличного поля и добавлено в качестве атрибута объекта «ПоставщикДанных.ТабличноеПоле».
- Внутренние изменения в классах в связи с обновлением версии 1С++ до 3.2.1.10.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.07.014 от 21.07.10 г.

ВНИМАНИЕ: версия 1С++ не менее 3.2.1.10.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #972 - 20. Июля 2010 :: 21:10
Печать  
Есть новости для заинтересованных. Хранилище для работы с иерархической структурой данных готово. Реализовано будет одним объектом "ДеревоЗначений" оно и будет возвращаться при работе с поставщиком данных деревом значений.
В ближайшее время выложу класс и документацию к нему. Необходимо чтобы желающие посмотрели и подготовили предложения. Ну и если будут замечания.
Для начала перекличка. Кому нужно дерево в рамках данного класса?  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #973 - 20. Июля 2010 :: 21:38
Печать  
vandalsvq писал(а) 20. Июля 2010 :: 21:10:

В ближайшее время выложу класс и документацию к нему. Необходимо чтобы желающие посмотрели и подготовили предложения.  

Ждем. Посмотрим и конечно же выскажемся. Все скажем.А как же.
 
vandalsvq писал(а) 20. Июля 2010 :: 21:10:
 Кому нужно дерево в рамках данного класса?  Подмигивание

Мне нужно.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #974 - 21. Июля 2010 :: 04:39
Печать  
vandalsvq писал(а) 20. Июля 2010 :: 21:10:
Для начала перекличка. Кому нужно дерево в рамках данного класса?  Подмигивание

Мне нужно.
  
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #975 - 21. Июля 2010 :: 07:28
Печать  
Я б тоже посмотрел. Но не могу представить как всё это будет выглядеть...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #976 - 21. Июля 2010 :: 07:33
Печать  
JohnyDeath писал(а) 21. Июля 2010 :: 07:28:
Я б тоже посмотрел. Но не могу представить как всё это будет выглядеть...


Могу сказать что интерфейс (пользователя) будет очень приближено к тому как в 8.х, вот что касается программиста... объект для хранения данных точно не похож, а вот сам ПоставщикДанных.ДеревоЗначений посмотрим. Будет более точно видно когда начну делать. Там работы еще много.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #977 - 21. Июля 2010 :: 07:48
Печать  
Товарищ, да у тебя просто запредельный КПД, ты что не спишь совсем. Выкладывай, не мучай народ Очень довольный
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #978 - 21. Июля 2010 :: 12:17
Печать  
Мне нужно дерево.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #979 - 22. Июля 2010 :: 09:52
Печать  
2 vandalsvq.
Саша в новой версии класса имеем ошибку:
Поле агрегатного объекта не обнаружено
Колонка.ВыделятьОтрицательные = ТабличноеПоле.ВыделятьОтрицательные;
то бишь у ТабличноеПоле нет атрибута ВыделятьОтрицательные
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #980 - 22. Июля 2010 :: 10:38
Печать  
есть. нужна новая ВК 1cpp.dll
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #981 - 22. Июля 2010 :: 10:38
Печать  
Версия 1С++ должна быть не ниже 3.2.1.10
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #982 - 22. Июля 2010 :: 14:11
Печать  
У меня Версия 1С++ 3.2.1.13 и віваливалась эта ошибка
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #983 - 22. Июля 2010 :: 15:01
Печать  
Kalen писал(а) 21. Июня 2010 :: 07:08:
Ошибка при использовании общего реквизита в Журнале
ПоставщикДанных.Журнал::УстановитьПоставщикаДанных() : Поле Создал не найдено
ПоставщикДанных.НеУдалятьПоля(ПостоянныеПоляЗапроса);
{D:\Candy1201\Классы1С++\ПоставщикДанных\ПоставщикДанных.Журнал.ert(958) }

так и не исправлено? Печаль
Наверное, я не совсем понятно написал "при использовании". В моем коде нет упоминаний об этом реквизите. Достаточно просто наличия в конфе общего реквизита, и все, поставщик валится.  Плачущий
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #984 - 23. Июля 2010 :: 03:26
Печать  
2 Kalen. Плиз тест (пустую конфу + обработка). Воспроизвести и локализовать ошибку времени не хватает.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #985 - 23. Июля 2010 :: 08:05
Печать  
Добавляю в процедуру инициализиции поставщика
Код
Выбрать все
ТекстСоединения = "left join
	|	$БИОстатки.Основной(,#accounts28,(Субконто2),(Количество),,) as Остаток on $ТекущийОбъект.ТекущийЭлемент = Остаток.Субконто2
	|";
	.Основной),"#accounts28","Основной");
	ДанныеСправочник.ДобавитьСоединениеДанных("ОстаткиПоТМЦ",ТекстСоединения);
	таток","Число",19,2,1);
	ДанныеСправочник.НоваяКолонка("Остаток");
 


Вылетает с ошибкой:
Код
Выбрать все
ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such table: vt_accounts28
ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]");
{ПоставщикДанныхСправочник@MD(1019) }

ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such table: vt_accounts28
ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]");
{ПоставщикДанныхСправочник@MD(1019) }

вирт().Обновить();
{ПоставщикДанныхТабличноеПоле@MD(532) }
 


Точно такая же ошибка с ругательством на отсутствие временной таблицы (к примеру #ОстаткиНоменклатуры)
Вылетает при огранизации колонки остатка подменой запроса, причем в процедуре инициализации кусок кода
Код
Выбрать все
ПрямойЗапрос = ДанныеСправочник.ПрямойЗапрос;
ПрямойЗапрос.БухгалтерскийУчет = 1;
ПрямойЗапрос.РежимОтладки = 3;
ПрямойЗапрос.СброситьТаблицу("#ОстаткиНоменклатуры");
ПрямойЗапрос.ВыполнитьЗапрос("create table #ОстаткиНоменклатуры(
|	ТМЦ char(9) primary key clustered
|	,ОстатокТовара numeric(20,3))");
ТекстЗапросаОстатка = ПрямойЗапрос.ПодготовитьТекстЗапроса("
|insert into #ОстаткиНоменклатуры
|select
|	ЛЕВО(Остаток.Субконто2,9)  [ТМЦ $Справочник.ТМЦ]
|	,КоличествоОстаток as ОстатокТовара
|from
|	$БИОстатки.Основной(,#Счета28
|		,(Субконто2)
|		,(Количество),,
|		) as Остаток
|");
а28","Основной");
 


выполняется без ошибок, врем.таблица генерится, а потом на методе
Код
Выбрать все
ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such table: vt_ОстаткиНоменклатуры
ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]");
{ПоставщикДанныхСправочник@MD(1019) }
 

снова вылетает
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #986 - 24. Июля 2010 :: 07:22
Печать  
Eprst писал(а) 22. Июля 2010 :: 10:38:
есть. нужна новая ВК 1cpp.dll

2 Eprst
Начиная с  cpp32110_20100720
[-] удалено свойство ТП::ВыделятьОтрицательные
[+] добавлено свойство КолонкаТП::ВыделятьОтрицательные

Так что я правильно написал, у ТабличноеПоле нет свойства ВыделятьОтрицательные.
« Последняя редакция: 24. Июля 2010 :: 11:14 - zk96 »  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #987 - 24. Июля 2010 :: 09:47
Печать  
zk96 писал(а) 24. Июля 2010 :: 07:22:
Так что я правильно нпписал, у ТабличноеПоле нет свойства ВыделятьОтрицательные.

У обычного ТП нет, а у ПоставщикДанных.ТабличноеПоле - есть.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #988 - 24. Июля 2010 :: 09:49
Печать  
Jarad, если честно воспроизвести не смог. Давай тестовую конфигурацию.
« Последняя редакция: 24. Июля 2010 :: 21:32 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #989 - 24. Июля 2010 :: 21:39
Печать  
Добавил скриншот будущего дерева.
Предвидя вопрос скажу: линии соединений отрисовываться не будут.

На текущий момент реализовано полностью поведение дерева (свертка, развертка), объект для хранения данных и редактирование значения. Больше половины работы еще предстоит сделать.

Также будут и другие изменения. Полный перечень планируемых изменений можно посмотреть в заглавной теме.
  

tf_tree_001.JPG ( 63 KB | Загрузки )
tf_tree_001.JPG

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #990 - 25. Июля 2010 :: 20:25
Печать  
ПоставщикДанных.ДеревоЗначений реализован полностью. Работает шустренько, выглядит прикольно. Вот только дотестирую и документацию напишу по хорошему. Там ведь надо писать не только на объект расширение в рамках данного КОП, но и на самостоятельный объект "ДеревоЗначений". А там тоже методов много интересных, и еще парочка добавится.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #991 - 26. Июля 2010 :: 08:43
Печать  
И так. Встречайте !!! Расширение: ПоставщикДанных.ДеревоЗначений.
Поскольку официальный релиз отложен на неопределенный срок, а функционал в базовом исполнении готов, выкладываю версию для тестирования.

Особенности:
1. обязательно наличие класса "ДеревоЗначений" (вложено в архив)
2. набор пиктограмм в первой добавленной колонке табличного поля менять запрещено
3. печать осуществляется "плоско" без иерархии
4. при некоторых манипуляциях с деревом возможно его непроизвольное сворачивание и наоборот. Не пугайтесь. Скорее всего изменяться это не будет.
5. версия 1С++ не менее 3.2.1.17.

Документация вся в архиве, как на источник данных, так и на расширение табличного поля.
Также в архиве приложен небольшой примерчик.

Пы.сы. прошу писать замечания.
« Последняя редакция: 25. Августа 2010 :: 06:38 - vandalsvq »  

1Cv7_ext_TF_tree_draft.rar ( 1075 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #992 - 26. Июля 2010 :: 09:03
Печать  
как запретить редактирование колонки (только просмотр) ?

в табличном поле отображается подчиненный справочник, некоторые колонки - редактировать нельзя. Как выставить запрет?

  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #993 - 26. Июля 2010 :: 09:06
Печать  
dimm73 писал(а) 26. Июля 2010 :: 09:03:
как запретить редактирование колонки (только просмотр) ?

в табличном поле отображается подчиненный справочник, некоторые колонки - редактировать нельзя. Как выставить запрет?


Ответил в соответствующей теме - смотри тут.

vandalsvq писал(а) 26. Июля 2010 :: 09:03:
Надо было сразу тогда в теме по классу писать.
В общем смотри событие расширения ПередНачаломИзменения (в документации описаны параметры). Там есть ФСО.
Ставишь ФСО = 0 и редактирование не происходит.


И прошу все вопросы по использованию класса ПоставщикДанных писать здесь.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
novichek
Экс-Участник


Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #994 - 27. Июля 2010 :: 04:50
Печать  
"Держался" до последнего от использования данного класса, ибо знаю что "затянет", и 8-ка на время "пойдет лесом" Смех. Но ПоставщикДанных.ДеревоЗначений - последняя капля... полез изучать/тестировать...
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #995 - 27. Июля 2010 :: 09:00
Печать  
Поскольку изменяться счас будет и источник и поставщик буду выкладывать обновления в данной теме.

ПоставщикДанных. Версия 3.07.001.2 от 27.07.10 г.
- новый публичный атрибут «ИтогПоПервомуУровню» расширения ПоставщикДанных.ДеревоЗначений
- исправлена ошибка отборов по строковым атрибутам в DBF формате БД (связано с collate _1C).
- внутренний рефакторинг и наведение порядка

ДеревоЗначений. Версия 1.01.002 от 27.07.10 г.
- Новый метод «УдалитьСтроки».
- Новый параметр «ЗначенияНаНижнемУровне» метода «ЗагрузитьПоИерархии».
- Новый публичный атрибут «ИндексСтроки». Только чтение.
- Изменена логика работы метода «ПереместитьСтроку».
- Изменена логика работы дерева со строками. Подробнее читайте раздел «Нумерация строк».
  

1Cv7_ext_TF_tree_draft_001.rar ( 1075 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #996 - 27. Июля 2010 :: 09:21
Печать  
vandalsvq писал(а) 26. Июля 2010 :: 08:43:
Особенности:
...
2. набор пиктограмм в первой добавленной колонке табличного поля менять запрещено
...
Пы.сы. прошу писать замечания.


Бегло посмотрел. Пункт 2 из Особенностей не очень радует. Хотелось бы как-то выделять группы.
И что сразу же бросается в глаза:в момент редактирования ячейки с картинкой картинка не видна. Но насколько я знаю Вы над этим работаете.
Но в целом очень хорошее впечатление. Буду изучать дальше.
Спасибо.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #997 - 27. Июля 2010 :: 09:44
Печать  
п.2 я надеюсь будет исправлен. По крайней мере баг есть, надежда с ним Подмигивание. Если же не будет, то будет реализовано иным образом. В любом случае выход можно найти.
Что касается редактирования, тут не знаю. Опять таки баг зарегистрирован. Но считаю это не критичным
- исправлено

Кстати никто ничего не говорит по поводу того что пиктограммы стали прозрачными да и предопределенные настройки ТП изменились Улыбка. Видимо всем понравилось.
« Последняя редакция: 28. Июля 2010 :: 20:51 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #998 - 27. Июля 2010 :: 09:46
Печать  
zk96 писал(а) 27. Июля 2010 :: 09:21:
Хотелось бы как-то выделять группы.

Ну я например в ПриВыводеСтроки делаю разный цветовой фон для уровней.

Кстати думаю может встроить это в дерево. Что-то вроде коллекции куда задаешь порядок цветовой гаммы для уровней.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #999 - 28. Июля 2010 :: 20:49
Печать  
И так новая версия. Главное что теперь нет ограничения использования картинок совместно с картинками поставщика. Картинки поставщика могут быть назначены на любую колонку (не обязательно отдельную). И множество других мелких и не очень изменений.

ПоставщикДанных. Версия 3.07.001.3 от 29.07.10 г.
- Все пиктограммы реализованы в качестве системных через соответствующие методы, атрибуты и события элемента управления табличное поле.
- Новый атрибут КолонкаПиктограмм у объектов расширений табличного поля «ПоставщикДанных.Журнал», «ПоставщикДанных.Проводки»  «ПоставщикДанных.Документы», «ПоставщикДанных.Справочник», «ПоставщикДанных.Операции», «ПоставщикДанных.Регистр» и «ПоставщикДанных.ДеревоЗначений».
- Новый публичный атрибут «ОтображатьИерархию» у объекта-расширения «ПоставщикДанных.Справочник».
- Исправлена работа пометки колонки знаком сортировки у всех расширений. Для некоторых при выборе заголовка добавлена сортировка с учетом текущего направления.
- У объекта-расширения «ПоставщикДанных.Справочник» изменена логика поведения при двойном клике на группу. Независимо от колонки происходит свертка и развертка группы.
- Убрано ограничение на использование картинок совместно с картинками поставщика данных (системными картинками).

Версия 1С++ не менее 3.2.1.17. Приложена в архиве.
  

1Cv7_ext_TF_tree_draft_002.rar ( 1084 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1000 - 28. Июля 2010 :: 20:52
Печать  
zk96 писал(а) 27. Июля 2010 :: 09:21:
1. Пункт 2 из Особенностей не очень радует. Хотелось бы как-то выделять группы.
2. Что сразу же бросается в глаза:в момент редактирования ячейки с картинкой картинка не видна. Но насколько я знаю Вы над этим работаете.

С выходом 3.07.001.3 данные вопросы можно считать закрытыми.

Сообщество: Как считаете можно выпускать 3.07.001 в качестве официального релиза?

Пы.сы. 1000 сообщений. В общем очень не дурно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1001 - 28. Июля 2010 :: 21:57
Печать  
vandalsvq писал(а) 28. Июля 2010 :: 20:52:
Сообщество: Как считаете можно выпускать 3.07.001 в качестве официального релиза?

Конечно да. Если и есть какие ошибки или недочеты в коде, они намного быстрее будут выявлены в работе, а Вы достаточно оперативно их всегда устраняли. Мне дерево нужно.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1002 - 29. Июля 2010 :: 04:09
Печать  
Ну на неофициальном релизе тоже работать можно вполне успешно. Просто если релиз сделать то значит что интерфейс (программиста) решения поменять нельзя будет. А я пока не уверен что так и останется все.
Ну и есть моменты которые не реализованы еще, например печать дерева через стандартную кнопку. Вот как будет сделано так наверное и выпущу официальный.
А та версия что здесь, она вполне работоспособна. И более того я потихоньку свои Active-X деревья перетаскиваю уже на эту реализацию.  Подмигивание

В общем мое мнение что обождать надо. Немного, посмотреть на активностью сообщества.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1003 - 29. Июля 2010 :: 07:21
Печать  
Саша, уберите пожалуста отладочный "мусор" из "1Cv7_ext_TF_tree_draft.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1004 - 29. Июля 2010 :: 07:28
Печать  
В какой версии и какой мусор. Надо сообщать. Поскольку иголку искать не охото Подмигивание.
А версия просто чтобы я был уверен что еще не убрал.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1005 - 29. Июля 2010 :: 08:37
Печать  
Версия 3.07.001.3. ДБФ
Быстрый поиск по колонкам, которые были добавлены вот так:
Код
Выбрать все
Данные.ДобавитьКолонкуДанных(...,"Строка"); 


Регистрозависим. Так и задумано?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1006 - 29. Июля 2010 :: 08:45
Печать  
ПоставщикДанных.Журнал

в событии ПриПолученииЗапроса накладываю фильтр по фирмам.

Код
Выбрать все
//======================================================================
Процедура ПоставщикТаблицаПриПолученииЗапроса(ТабличноеПоле,Структура)

	Если СписокФирмОграничения.РазмерСписка() > 0 Тогда
	    Структура.Условия = Структура.Условия + " and $journ.Фирма in (select val from #СписокФирмОграничения)";
	КонецЕсли;

	Структура.Условия = Структура.Условия + "
 	|and (Жур2.IDDocDef = $ВидДокумента.ЗагрузочнаяНакладная or Жур2.IDDocDef is null)";

КонецПроцедуры // ПоставщикТаблицаПриПолученииЗапроса 



по журналу делаю поиск методом НайтиЗначение. Получается когда найденный документ оказывается вне журнала (т.е. в принадлежит фирмам, которые не показываются в журнале), то поиск стопрится на последнем найденном значении и дальше не двигается. Поставщик не может спозиционироваться на найденом результате.

можно ли это как то исправить? т.е. если в журнале документ не найден, то продолжить поиск.
  
Наверх
wwwICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1007 - 29. Июля 2010 :: 09:16
Печать  
Если в журнале документов сделать "Открыть... -> Движения документа", то вываливается ошибка:
Цитата:
СчетДт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетДт);
{...\ПОСТАВЩИКДАННЫХ.ДВИЖЕНИЯДОКУМЕНТА.ERT(236)}: Ошибка в типе передаваемого параметра метода (2)

комментирую строки 236,237 (процедура ВывестиДанныеБухгалтерскогоУчета):
Код
Выбрать все
//СчетДт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетДт);
//СчетКт = МетаДата.ЗначениеИзДлиннойСтрокиБД("Счет",СчетКт); 


И всё нормально работает. Т.е. в результирующей таблице уже нормальные счета (типизированные) и их не надо никуда преобразовывать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1008 - 29. Июля 2010 :: 09:33
Печать  
JohnyDeath писал(а) 29. Июля 2010 :: 08:37:
Версия 3.07.001.3. ДБФ
Быстрый поиск по колонкам, которые были добавлены вот так:
Регистрозависим. Так и задумано?

Нет. Проверю, исправлю. Вообще я с DBF и регистрозависимостью (и другими последствиями collate) заколебался бороться.

Цитата:
в событии ПриПолученииЗапроса накладываю фильтр по фирмам.

Вообще не советую ПриПолученииЗапроса использовать. Почему нельзя Отбор не использовать?

В общем глянем все что написано.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1009 - 29. Июля 2010 :: 10:06
Печать  
vandalsvq писал(а) 29. Июля 2010 :: 09:33:
Цитата:
в событии ПриПолученииЗапроса накладываю фильтр по фирмам.

Вообще не советую ПриПолученииЗапроса использовать. Почему нельзя Отбор не использовать?


в отборе... чтобы пользователь фильтровал по тем фирмам которые разрешены
  
Наверх
wwwICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1010 - 29. Июля 2010 :: 10:10
Печать  
vandalsvq писал(а) 29. Июля 2010 :: 07:28:
В какой версии и какой мусор. Надо сообщать. Поскольку иголку искать не охото Подмигивание.
А версия просто чтобы я был уверен что еще не убрал.


Версия = "3.07.001.2 01.08.2010"
"Мусор"
вывод сообщений типа:
ТекущийОбъект.date between :p_start_ДатаДокумента
     and :p_end_ДатаДокумента
при открытии, установке периода и т.п. как-будто установлен РежимОтладки.
Может я что-то не так делаю, но в моих обработка ничего не изменилось, а до сих пор прекрасно работали.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1011 - 29. Июля 2010 :: 11:18
Печать  
Anatol писал(а) 29. Июля 2010 :: 10:06:
в отборе... чтобы пользователь фильтровал по тем фирмам которые разрешены

ЭлементОтбора.ИзменятьИспользование не пробовал? Все равно ведь список формируешь самостоятельно. Да и вообще не хочешь чтобы видели напиши ЭлементОтбора.Видимость = 0.
А то что изменение запроса не учитывается при построении поиска не удивительно поскольку для поиска запрос строится самостоятельно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1012 - 29. Июля 2010 :: 11:19
Печать  
zk96 писал(а) 29. Июля 2010 :: 10:10:
Версия = "3.07.001.2 01.08.2010"

Всегда есть одно общее правило, если ты нашел проблему в релизе, проверь нет ли ее в самой последней версии. Если есть пиши.
То что ты написал исправлено в .3.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1013 - 29. Июля 2010 :: 11:28
Печать  
vandalsvq писал(а) 29. Июля 2010 :: 11:18:
ЭлементОтбора.ИзменятьИспользование не пробовал?


несовсем то....

vandalsvq писал(а) 29. Июля 2010 :: 11:18:
Все равно ведь список формируешь самостоятельно.


это как?
в отборе открывается форма подбора справочника и там все фирмы...

vandalsvq писал(а) 29. Июля 2010 :: 11:18:
Да и вообще не хочешь чтобы видели напиши ЭлементОтбора.Видимость = 0.


хочу чтобы видели и даже выбирали, но если фирма не относится к пользователю, то в журнале не отбражалась.

vandalsvq писал(а) 29. Июля 2010 :: 11:18:
А то что изменение запроса не учитывается при построении поиска не удивительно поскольку для поиска запрос строится самостоятельно.


изначальная просьба была как раз в этом. при поиске как то должны учитываться фильтры и дополнительные условия запроса
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1014 - 29. Июля 2010 :: 11:45
Печать  
Anatol писал(а) 29. Июля 2010 :: 11:28:
изначальная просьба была как раз в этом. при поиске как то должны учитываться фильтры и дополнительные условия запроса

Если честно нет желания пускать служебные запросы через ПриПолученииЗапроса, как бы боком не вышло. Это все таки событие ТП, а не служебного функционала. И так я уже 10 раз пожалел что вытащил наружу. Но как известно, показал - отдавай Улыбка.

В твоем случае решается это так:
Код
Выбрать все
ЭлементОтбора=ТабличноеПоле.Отбор.Добавить("СкрытыйОтбор",-1);
ЭлементОтбора.ПолеДанных = "Фирма";
ЭлементОтбора.Видимость = 0;
ЭлементОтбора.ИзменятьИспользование = 0;
ЭлементОтбора.Использование = 1;
ЭлементОтбора.ВидСравнения = "НеВСписке";
ЭлементОтбора.Значение = СписокЗапрещенныхФирм; 


Должно работать. Синтаксис на память писал.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1015 - 29. Июля 2010 :: 12:09
Печать  
нет так нет.
отбор в моем случаии не подходит.

одна база. несколько структурных подразделений. всего около 20 фирм. Операторы (выписка заявок) работают только со своими фирмами (3-5 фирм). в другие документы они видеть и заходить не должны, но с этим им нужно отбирать документы в журнале по любому количеству фирм (естественно только своих). поэтому не могу засунуть это условие в отбор.

  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1016 - 29. Июля 2010 :: 12:14
Печать  
Anatol писал(а) 29. Июля 2010 :: 12:09:
........в другие документы они видеть и заходить не должны, но с этим им нужно отбирать документы в журнале по любому количеству фирм (естественно только своих). поэтому не могу засунуть это условие в отбор.


Ты кажется не понял. Добавленный отбор будет всегда включен, на основной отображаемый никак не повлияет. Они смогут в нем выбирать кого и как хотят, но в итоге все равно получат ограничения на не свои фирмы. По сути в реальном запросе будет два условия на фирмы, одно настроенное пользователем, другое установленное тобой. Я просто показал как твою модификацию запроса можно отразить в виде изменения элементов отборов.
Ты бы попробовал Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1017 - 29. Июля 2010 :: 12:16
Печать  
по логике если применить отбор и выполнить поиск по какому то значение и оно будет исключено фильтром отбора, то поиск сново "остановится".
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1018 - 29. Июля 2010 :: 12:23
Печать  
Anatol писал(а) 29. Июля 2010 :: 12:16:
по логике если применить отбор и выполнить поиск по какому то значение и оно будет исключено фильтром отбора, то поиск сново "остановится".

А тут что-то разве не правильно?  Круглые глаза
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1019 - 29. Июля 2010 :: 12:26
Печать  
vandalsvq писал(а) 29. Июля 2010 :: 12:23:
Anatol писал(а) 29. Июля 2010 :: 12:16:
по логике если применить отбор и выполнить поиск по какому то значение и оно будет исключено фильтром отбора, то поиск сново "остановится".

А тут что-то разве не правильно?  Круглые глаза


смотри (Ответ #1006)
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1020 - 29. Июля 2010 :: 12:37
Печать  
Anatol писал(а) 29. Июля 2010 :: 08:45:
т.е. если в журнале документ не найден, то продолжить поиск.

А кто тебе сказал что документ не найден Улыбка. Ты меня не слушаешь или не хочешь слушать (читать). Изменения текста запроса в методе ПриПолученииЗапроса не учитываются при быстром поиске. Более того могу тебе сказать еще одну неприятность. Нажми на печать и ты получишь даже те фирмы которые якобы запретил.
И данное поведение багом не является, а было так задумано еще с момента как я встроил класс ПрямойЗапрос.

Пы.сы. А при использовании Отбор-а поиск не будет останавливаться поскольку просто не найдет этого значения которого в ТП не отображено. А найдет то которое отображено, или вообще ничего не найдет.

Все, вопрос считаю закрытым. Наверное.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1021 - 29. Июля 2010 :: 13:13
Печать  
наверно я не прав
  
Наверх
wwwICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1022 - 29. Июля 2010 :: 16:59
Печать  
vandalsvq писал(а) 29. Июля 2010 :: 11:19:
Всегда есть одно общее правило, если ты нашел проблему в релизе, проверь нет ли ее в самой последней версии. Если есть пиши.
То что ты написал исправлено в .3.

Опоздал со своими претензиями. Пока скачал и  запустил,  появилось с десяток постов. Нет чтобы почитать их.  Зачем. Надо же было срочно написать свои возмущения, чтобы все узнали какой ВсеЗамечающий.
Приношу свои извинения. Буду внимательней.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1023 - 30. Июля 2010 :: 08:18
Печать  
Ну ладно, с вопросами кажется разобрались. Ошибки кажется больше не найдены.
А вот пожелания никто и не высказал. Вообще как то реакции маловато.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
novichek
Экс-Участник


Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1024 - 30. Июля 2010 :: 08:27
Печать  
vandalsvq писал(а) 30. Июля 2010 :: 08:18:
А вот пожелания никто и не высказал. Вообще как то реакции маловато.

Так тыж пишешь быстрее чем хотелки появляются!  Очень довольный Ну а в остальном тестим... либо ошибок нет, либо ты их хорошо запрятал Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1025 - 30. Июля 2010 :: 09:43
Печать  
ПоставщикДанных 3.07.001.4 от 30.07.10 г.
- Исправлена ошибка печати отчета о движениях документа, если в программе 1 план счетов.
- Исправлена регистрозависимость быстрого поиска по подстроке для DBF формат БД, если строка неограниченной длины.

JohnyDeath, проверяй.
  

1Cv7_ext_TF_tree_draft_003.rar ( 1084 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1026 - 30. Июля 2010 :: 09:51
Печать  
Печатает нормально.
Поиск в случаях, когда поле добавлено с функцией, например так:
Код
Выбрать все
Данные.ДобавитьКолонкуДанных("ГосНомер","Гос. номер","TRIM(ОбъектыСтрахования.ГосРегЗнак)","Строка"); 


регистрозависим. Если шибко сложно с этим - не парься, как-нибудь выкрутимся отдельным поиском Подмигивание
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1027 - 30. Июля 2010 :: 10:08
Печать  
JohnyDeath писал(а) 30. Июля 2010 :: 09:51:
Поиск в случаях, когда поле добавлено с функцией, регистрозависим.

Если точно проверял на той что выложил, то пойду ка я проверю.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1028 - 30. Июля 2010 :: 10:56
Печать  
Все что написано далее касается исключительно DBF формата БД:
По поводу описанной ошибки по регистрозависимости. В общем могу сказать что подобная проблема наблюдается только при использовании (L,R)TRIM. В остальных случаях все нормально. Более того, из-за этого проблемы как с поиском, так и с фильтрацией.
Побороть я могу это только ценою оптимизации запросов (около 20% потеря). Т.е. работать будет правильно, но быстрый поиск будет на 20% медленнее чем сейчас. Собственно кто что думает?

Лично я не использую тримы, поскольку считаю что если юзверь х*ярит как ему нравится то пусть с этим и живет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1029 - 30. Июля 2010 :: 17:07
Печать  
Подскажите.Может я что-то упустил и не то делаю? Запускаю пример дерева и вместо дерева обычное таб.поле . Причем в версии ПоставщикДанных 3.07.001.1 открывалось именно дерево , а сейчас скачал версию ПоставщикДанных 3.07.001.4 и вот ,в ТП только верхний уровень дерева,иконок нет.


  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1030 - 30. Июля 2010 :: 17:32
Печать  
В общем начиная с версии 3.07.001.3 и выше колонка пиктограмм по умолчанию для дерева - ПолныйПуть. А колонка полный путь раньше у тебя была скрыта и восстановив настройку колонок ТП ее не отобразило.
Или сделай ее видимой или надо назначать самостоятельно.
Код
Выбрать все
Данные.КолонкаПиктограмм = ИмяТвоейКолонки 


Причем теперь во всех поставщиках где были картинки их можно назначить на любое поле (по умолчанию Пиктограмма, или ПолныйПуть для дерева).
Вот собственно такое изменение произошло.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1031 - 30. Июля 2010 :: 21:00
Печать  
vandalsvq писал(а) 30. Июля 2010 :: 17:32:
...
Вот собственно такое изменение произошло.

Ага. Понял. Спасибо.
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1032 - 02. Августа 2010 :: 07:10
Печать  
А я что-то ничего не понял Печаль
Дошли руки посмотреть про дерево. Скачал последний архив, все обновил. Открываю тест дерева - простое ТП с колонками Имя, Номер, значение. В настройке списка есть ПолныйПуть, но установка галочки никакого действия не оказывает. Куда копать?
  
Наверх
GTalkICQ  
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1033 - 02. Августа 2010 :: 08:07
Печать  
Код
Выбрать все
	Данные = ПоставщикДанных.Данные;
	Данные.СоздатьКнопкиПоУмолчанию();

	Данные.НоваяКолонка("ИмяУровня","Строка",,,"Имя уровня");
                ......
                ......  
	Данные.Колонки.ПолныйПуть.Видимость = 1; 

  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1034 - 02. Августа 2010 :: 10:15
Печать  
vandalsvq писал(а) 26. Июля 2010 :: 08:43:
Пы.сы. прошу писать замечания.

1. Добавление новой строки (интерактивно) происходит на нижестоящем уровне от текущего. Так и задумано?
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1035 - 02. Августа 2010 :: 10:31
Печать  
Kalen писал(а) 02. Августа 2010 :: 10:15:
Добавление новой строки (интерактивно) происходит на нижестоящем уровне от текущего. Так и задумано?

Я долго думал как сделать, и в итоге сделал как в 8.х. Т.е. добавление новой строки идет во вложенный уровень. Т.о. ответ, "да, так и задумано". Реализовать иной подход можно ПередНачаломДобавления, ФСО = 0 и т.п.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Igor Nikolaenko
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1036 - 03. Августа 2010 :: 11:51
Печать  
Начал разбираться с классом ПоставщикДанных.
Сделал форму для справочника. Все отлично выводит и показывает.
Вот только отбор по наименованию с видом "НачинаетсяС" для русских букв не работает, а латиницу и цифры ищет. Странно.

И еще при подмене формы справочника на свою обработку через ПриЗагрузкеФормы и ПриЗагрузкеМодуляФормы 1С падает.
Подскажите куда копать.

1С++ 3.2.1.17 FromEx 2.0.5.99
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1037 - 03. Августа 2010 :: 12:00
Печать  
Что касается "НачинаетсяС" если у тебя DBF почитай последние пару страниц. Если же SQL то можно считать багом.
Что касается падения, проверь хранится ли переменная объекта "ПоставщикДанных" в течении всего времени существования формы (попросту говоря объявлена ли она как переменная модуля формы), если да, то надо тест.
Пы.сы. у себя я просто форму списка сжал до минимальных размеров, при открытии скрыл и привязал так чтобы не показывала своего лица, а вместо нее соответственно поставщика сделал. Естественно все формы списков так делать не советую.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Igor Nikolaenko
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1038 - 03. Августа 2010 :: 12:12
Печать  
Спасибо, точно DBF. А по поводу падения покопаюсь.
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1039 - 03. Августа 2010 :: 12:13
Печать  
Столкнулся с таким вот случаем. Есть конфигурация Квартплата(от Инфокрафта) там до меня занесены в лицевые счета, код -  где каждый символ играет свое значение. Если делать поиск по коду то не ищет... Разобрался в чем проблема. У тебя сделано что код начинается с правого края и дополняется слева "0" и получается, что найти например по части кода нет возможности.
Т.е. начинаю набирать 15 и т.д.  то получаю 00000015. Не подскажешь как выйти из этой ситуации? Пользователи за год работы привыкли к коду.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1040 - 03. Августа 2010 :: 12:34
Печать  
2 nicolas
Забавный вопросик.
Вроде бы флаг "СтандартныйБыстрыйПоиск" как раз отменяет любую обработку события в классе, так что можешь управлять при активизации ячейки Код ставить = 0, иначе = 1, соответственно на Код через НайтиЗначение можно попробовать эмулировать.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1041 - 03. Августа 2010 :: 12:41
Печать  
На скорую руку попробывал...
нарвался на 
ТекущийОбъект.code collate _1C = '15'
и мимо. Дома посмотрю, вечером.
Спасибо за пинок в нужном направлении
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1042 - 03. Августа 2010 :: 21:07
Печать  
Очередной неофициальный релиз:
ПоставщикДанных 3.07.001.5 от 03.08.10 г.
- Исправлена ошибка, при закрытии окна поиска все равно происходил поиск значения
- Исправлена и  оптимизирована печать табличного поля
- Для расширения «ПоставщикДанных.ДеревоЗначений» печать происходит сразу с вложенными уровнями и установленными группировками
- Изменения в методе «Выбрать» расширения «ПоставщикДанных.ДеревоЗначений»

JohnyDeath ты как заявитель потенциальной ошибки при подсчете границ колонок для печати должен в первую очередь проверить. И кстати заметишь ли ты еще одно изменение в табличном документе? (подсказка: расчет блоков).
А про наш вопрос формировать ли запрос в методе выбрать или взять его у поставщика, я подумал что пускай формируется. Дело в том что в момент печати может быть выбрана только одна колонка, зачем тогда содержимое всего табличного поля?
  

1Cv7_ext_TF_tree_draft_004.rar ( 1083 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1043 - 04. Августа 2010 :: 06:24
Печать  
Не печатает при таком расположении колонок (и ему подобном).
  

________________.png ( 38 KB | Загрузки )
________________.png
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1044 - 04. Августа 2010 :: 06:28
Печать  
Хотелка.
если есть итоги по колонке, то их так же итогами и выводить на печать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1045 - 04. Августа 2010 :: 07:39
Печать  
JohnyDeath специально для тебя небольшой багофикс. Только подвал пока не добалял.
  

1Cv7_ext_TF_tree_draft_005.rar ( 1085 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1046 - 04. Августа 2010 :: 07:48
Печать  
vandalsvq писал(а) 04. Августа 2010 :: 07:39:
JohnyDeath специально для тебя небольшой багофикс. Только подвал пока не добалял.

На первый взгляд всё нормально. Спасибо.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1047 - 04. Августа 2010 :: 08:05
Печать  
Подскажите пожалуста, в чем разница между картинкой и системной картинкой?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1048 - 04. Августа 2010 :: 08:58
Печать  
Если что-то забыл, trad может поправить.
В общем получается так:
1. Порядок отображения в ячейке: СистемнаяКартинка, Флажок,
Картинка, далее текст ячейки
2. Установка системных картинок происходит на все ТП
3. Системные картинки управляются соответствующими специальными методами
4. Выбор системной картинки отображается отдельным событием
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1049 - 04. Августа 2010 :: 10:42
Печать  
+
ДаблКлик, по-умолчанию:
на картинке ведет к выбору (событие Выбор)
на сист.картинке - нет
  

1&&2&&3
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1050 - 04. Августа 2010 :: 10:46
Печать  
vandalsvq писал(а) 03. Августа 2010 :: 12:00:
Пы.сы. у себя я просто форму списка сжал до минимальных размеров, при открытии скрыл и привязал так чтобы не показывала своего лица, а вместо нее соответственно поставщика сделал. Естественно все формы списков так делать не советую.

Почему? А как правильно перевести все списки на ПД?
  
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1051 - 04. Августа 2010 :: 11:00
Печать  
Почему не советую? Ну при открытии формы списка, 1С создает курсор на сервере с которым потом работает. Соответственно например периодически вызывает его обновление. Пускай хоть и скрыта многострочная часть, но запрос останется. Даже если видимость будет 0 строк, периодически будет что-нибудь проскальзывать. Откройте профайлер и гляньте сами.
Как перевести все формы? Ну во-первых определить те без которых нельзя обойтись, по минимуму. Во-вторых все подчиненные справочники вытащить с отдельных форм на закладки в формы владельцев.
Ну по крайней мере таким образом вы охватите большинство справочников. А всякая мелочевка... надо ли ее переводить?

Пы.сы. можно конечно попробовать грохнуть 1С-ный курсор, вот только я думаю что ей это не понравится
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1052 - 04. Августа 2010 :: 11:11
Печать  
trad и vandalsvq, спасибо за разъяснения.
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1053 - 05. Августа 2010 :: 09:03
Печать  
vandalsvq писал(а) 03. Августа 2010 :: 12:00:
Пы.сы. у себя я просто форму списка сжал до минимальных размеров, при открытии скрыл и привязал так чтобы не показывала своего лица, а вместо нее соответственно поставщика сделал. Естественно все формы списков так делать не советую.

дополню - высоту надо оставить в строках не меньше, чем у вас уровней в справочнике
а то наступил на грабли - ТЧ сделал маленькую (скока получилось), и вот при хождении по уровням стрелками (Ctrl - вверх/вниз) время от времени форма падала в осадок. Пока не раздвинул по высоте скрытую табличную часть. Наверное можно отключить стандартную обработку клавиш в поставщике, но факт такого бага у меня был, полностью вылечилось моим решением.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1054 - 05. Августа 2010 :: 09:59
Печать  
проще её просто задвинуть за пределы формы.. экранов на 100..
или просто сделать невидимой формексом через атрибуты формы.
  
Наверх
 
IP записан
 
Igor Nikolaenko
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1055 - 05. Августа 2010 :: 12:04
Печать  
ПоставщикДанных.Справочник, две колонки "Код" и "Наименование", обе строковые 24 и 50 символов соответственно.
Встаю в колонку "Наименование", набираю с клавиатуры несколько букв - переходит на найденую строку.
Встаю в колонку "Код", деалаю аналогичный набор и получаю на экран "Поиск окончен. Совпадений не найдено."
Что не так делаю? Колонки созданы одинаково.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1056 - 05. Августа 2010 :: 12:20
Печать  
Igor Nikolaenko, РежимОтладки = 1 и запрос в момент поиска в txt и сюда Подмигивание. Посмотримс.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Igor Nikolaenko
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1057 - 05. Августа 2010 :: 14:05
Печать  
Добавил РежимОтладки = 1.

Тексты запросов в select.txt
« Последняя редакция: 06. Августа 2010 :: 01:40 - Igor Nikolaenko »  

select.txt ( 2 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1058 - 05. Августа 2010 :: 20:37
Печать  
Я же попросил убрать в прикрепленный txt  Злой.
Нужны ответы на вопрос:
1. ТипКода справочника
2. ДлинаКода справочника
3. Значение набранное для быстрого поиска
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1059 - 05. Августа 2010 :: 21:37
Печать  
Вопрос по дереву значений, решил пустить его в промышленное использование  Подмигивание

1. Как повлиять на текст в поле ПолныйПуть, т.е. чтобы там был нужный мне текст без цифирей?
ну или скрыть его, но чтобы осталось поле свертки/развертки Улыбка
2. Загружать по иерархии я так понял работает аналогично оператору ИТОГИ в запросе на 8.х ? Т.е. если мне надо загрузить иерархическую стуктуру справочника (только группы) - то только в цикле? это не проблема, просто для понимания
3. Есть ли глобальный поиск значения в дереве? Т.е например, найти строку дерева, в  которой  ТМЦ = ххх. Не скажу что прям сильно нужен, но...
Из всех вопросов больше всего напрягает, как ни удивительно, первый  Подмигивание
4. Отработка клавиш - раворачивать стрелками ? будет ли реализовано? Можно наверное и самому отработать этот момент
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1060 - 05. Августа 2010 :: 22:15
Печать  
mctoha писал(а) 05. Августа 2010 :: 21:37:
1. Как повлиять на текст в поле ПолныйПуть, т.е. чтобы там был нужный мне текст без цифирей?
ну или скрыть его, но чтобы осталось поле свертки/развертки Улыбка

Автор как всегда великолепен  Класс
В этот раз я докопался сам - благодаря красивому коду, все просто
Меняем реквизит КолонкаПиктограмм на ваше значение, например, "ТМЦ" - и все ОК!
ну и понятно, скрыть ПолныйПуть
Спасибо!

  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1061 - 05. Августа 2010 :: 23:42
Печать  
еще - не совсем получилось вывести две картинки, точнее - свою рядом с картинкой сворачивания/разворачивания

или я тупанул где-то, но не работает
ОформлениеЯчейки.ОтображатьКартинку = 1;
ОформлениеЯчейки.ИндексКартинки = 1;

а если добвалять к системной, то работает
ОформлениеЯчейки.ИндексСистемнойКартинки +?(ОформлениеЯчейки.ИндексСистемнойКартинки=-1,"1",",1")
но как-то некрасиво это... да и в других
  
Наверх
 
IP записан
 
Igor Nikolaenko
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1062 - 06. Августа 2010 :: 01:46
Печать  
Справочник "Пользователи", ТипКода="Строковый", ДлиннаКода=24
Значение набранное для быстрого поиска = "ни".
« Последняя редакция: 07. Августа 2010 :: 16:08 - Igor Nikolaenko »  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1063 - 06. Августа 2010 :: 05:53
Печать  
mctoha писал(а) 05. Августа 2010 :: 21:37:
1. Как повлиять на текст в поле ПолныйПуть, т.е. чтобы там был нужный мне текст без цифирей?

Ну с этим разобрались и отлично.

mctoha писал(а) 05. Августа 2010 :: 21:37:
2. Загружать по иерархии я так понял работает аналогично оператору ИТОГИ в запросе на 8.х ? Т.е. если мне надо загрузить иерархическую стуктуру справочника (только группы) - то только в цикле? это не проблема, просто для понимания

По сути да, загружать по иерархии похоже на работу метода ИТОГИ, только с одним "но", колонки указанные для свертки на самом деле в дереве не создаются и превращаются в одну единственную колонку. Ну и естественно что укладка идет без учета иерархии. В будущем наверное я допилю этот метод и возможна будет укладка по иерархии.

mctoha писал(а) 05. Августа 2010 :: 21:37:
3. Есть ли глобальный поиск значения в дереве? Т.е например, найти строку дерева, в  которой  ТМЦ = ххх. Не скажу что прям сильно нужен, но...

Глобального поиска нет. Можно попробовать реализовать, но получится перебор по сути своей. Я подумаю, только это будет метод дерева.

mctoha писал(а) 05. Августа 2010 :: 21:37:
4. Отработка клавиш - раворачивать стрелками ? будет ли реализовано? Можно наверное и самому отработать этот момент

Будет. Постараюсь добавить в следующий релиз.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1064 - 06. Августа 2010 :: 05:56
Печать  
mctoha писал(а) 05. Августа 2010 :: 23:42:
еще - не совсем получилось вывести две картинки, точнее - свою рядом с картинкой сворачивания/разворачивания

или я тупанул где-то, но не работает
ОформлениеЯчейки.ОтображатьКартинку = 1;
ОформлениеЯчейки.ИндексКартинки = 1;

а если добвалять к системной, то работает
ОформлениеЯчейки.ИндексСистемнойКартинки +?(ОформлениеЯчейки.ИндексСистемнойКартинки=-1,"1",",1")
но как-то некрасиво это... да и в других

Слушай ну у меня вообще проблем с этим никаких не было. Отображались всегда все нормально.
Пошагово проверь?
1. Для колонок должна быть назначена коллекция картинок
2. В при выводе строки должен быть указан индекс картинки
3. В при выводе строки должна быть указана видимость картинки
По возможности покажи текст инициализации ТП, а также "ПриВыводе", и это, в виде прикрепленного txt.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1065 - 06. Августа 2010 :: 06:08
Печать  
vandalsvq писал(а) 06. Августа 2010 :: 05:56:
1. Для колонок должна быть назначена коллекция картинок

вопрос- как ее правильно назначать?  Круглые глаза
и я считал, что раз выводятся системные картинки, то значит коллекция задана. Или я не прав, и они раздельные? Видимо тут собака и порылась
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1066 - 06. Августа 2010 :: 06:27
Печать  
Ну собственно читай в документации:
Колонка.УстановитьКартинкиСтрок()
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1067 - 06. Августа 2010 :: 06:30
Печать  
Вообще советую о системных картинках в сочетании с поставщиком данных забыть. Оставьте это мне пожалуйста.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1068 - 06. Августа 2010 :: 06:45
Печать  
vandalsvq писал(а) 06. Августа 2010 :: 06:30:
Вообще советую о системных картинках в сочетании с поставщиком данных забыть. Оставьте это мне пожалуйста.  Подмигивание

да я и так стараюсь не трогать чужое Улыбка
вот тока поиск прийдется доделать таки самому   Печаль
а быстрее это будет работать при реализации в самом классе, а не сверху в моем коде
сижу разбираю твой код... Или может сделаешь аналог Найти, а лучше НайтиСтроки дерева значений в 8-ке?  Подмигивание
ЗЫ. я наверное наглый, да? учти тогда пожалйста  это как пожелание для развития класса, сейчас я как-нить переживу
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1069 - 06. Августа 2010 :: 06:50
Печать  
mctoha писал(а) 06. Августа 2010 :: 06:45:
Или может сделаешь аналог Найти, а лучше НайтиСтроки дерева значений в 8-ке?  Подмигивание

Я подумаю, обещать ничего не могу, но постараюсь Улыбка.

Пы.сы. метод "Найти" сделать не получится, а вот НайтиСтроки можно Улыбка. Дело в том что Найти - предопределенная команда 1С и ее нельзя объявить в классе иначе нескомпилируется.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1070 - 06. Августа 2010 :: 11:53
Печать  
vandalsvq писал(а) 06. Августа 2010 :: 06:50:
Найти - предопределенная команда 1С и ее нельзя объявить в классе иначе нескомпилируется.

Улыбка
я готов пользоваться им под любым именем, например, НайтиЗначение  Подмигивание
хотя НайтиСтроки все же более универсален
  
Наверх
 
IP записан
 
Петр
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 9
Зарегистрирован: 06. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1071 - 06. Августа 2010 :: 13:47
Печать  
При работе с несколькими табличными частями в документе, я их в виде служебных документов создаю. сейчас можно все оформить если доп. табличные части в индексную таблицу загонять. Есть ли в планах добавить функционал по такому случаю в будущем?

Еще такой момент объект ПотставщикДанных.ТабличнаяЧасть

Процедура ПриНажатииКлавиши(КодКлавиши,Данные,Клавиатура,ФСО)  
....
поскипано
....
     //(н) Чечин Петр
     //по нажатию интер переходим на следующую колонку

     Если КодКлавиши=13 Тогда
           КоличествоКолонок = ТабличноеПоле.Колонки.Количество();
           НомерКолонки = ТабличноеПоле.Колонки.Индекс(ТабличноеПоле.ТекущаяКолонка);

           Если НомерКолонки < КоличествоКолонок Тогда
                 ТабличноеПоле.ТекущаяКолонка = ТабличноеПоле.Колонки.Получить(НомерКолонки+1);      
           КонецЕсли;            
     КонецЕсли;  
                                   
     //(к)
КонецПроцедуры

при такой дописке будет переходит по интер на следующую колонку, мелоч а приятно.
« Последняя редакция: 06. Августа 2010 :: 16:19 - Петр »  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1072 - 09. Августа 2010 :: 04:13
Печать  
А есть у кого-нибудь пример журнала? Полистал, примеров не нашел. А с нуля рисовать - честно скажу - лениво. Хочется, раз уж руки дошли - "ощутить всю мощь" Улыбка
  
Наверх
ICQ  
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1073 - 09. Августа 2010 :: 07:56
Печать  
Может не совсем в тему, но решил написать сюда, раз уже тестируем дерево

Не пойму, как заполнить дерево данными справочника. Штатными средствами 1С - ясно, но медленно, а вот через прямой запрос выборку сделать в таком виде, чтобы запихивать ее в дерево - так и не придумал Печаль
суть - надо отобрать справочник товаров по нескольким реквизитам (типа бренда и т.д.) + выбрать товары только определенных групп. Сам запрос вроде понятно как сделать, а вот чтобы оно стало в порядке, пригодном для заполнения дерева (т.е. по уровням) - не придумал

ЗЫ. В общем и целом с деревом разобрался (снаружи, так сказать Улыбка ), но не хватает поиска значения Печаль
пока обошелся тем, что создаю список соответствий, в котором хранится интересующее меня значение и ПолныйПуть в дереве.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1074 - 09. Августа 2010 :: 11:20
Печать  
Mikeware писал(а) 09. Августа 2010 :: 04:13:
А есть у кого-нибудь пример журнала? Полистал, примеров не нашел. А с нуля рисовать - честно скажу - лениво. Хочется, раз уж руки дошли - "ощутить всю мощь" Улыбка

Вот два примера для ПУБ.Один - ПоставщикДанных.Журнал, второй - ПоставщикДанных.Документ. Оба примера проверил у себя, они полностью рабочие.
  

________001.rar ( 23 KB | Загрузки )
Наверх
 
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1075 - 09. Августа 2010 :: 12:32
Печать  
Возникла проблема, залил новые версии классов, Версия = "3.06.004 21.07.2010"; по поставщику, и Версия = "1.07.014 21.07.2010"; по прямому запросу. На Скл все нормально, на дбф вылетает ошибка в форме справочника:
Код
Выбрать все
ПоставщикДанных.ПрямойЗапрос::СоздатьОбъектыЗапроса() : Значение не представляет агрегатный объект
ЗапросSQLite = БазаДанных.НовыйЗапрос();
{ПоставщикДанныхПрямойЗапрос@MD(937) }

ПоставщикДанных.Справочник::Конструктор() : ПоставщикДанных.ПрямойЗапрос::СоздатьОбъектыЗапроса() : Значение не представляет агрегатный объект
ЗапросSQLite = БазаДанных.НовыйЗапрос();
{ПоставщикДанныхПрямойЗапрос@MD(937) }

ПрямойЗапрос = СоздатьОбъект("ПоставщикДанных.ПрямойЗапрос");
{ПоставщикДанныхСправочник@MD(98) }

ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.Справочник::Конструктор() : ПоставщикДанных.ПрямойЗапрос::СоздатьОбъектыЗапроса() : Значение не представляет агрегатный объект
ЗапросSQLite = БазаДанных.НовыйЗапрос();
{ПоставщикДанныхПрямойЗапрос@MD(937) }

ПрямойЗапрос = СоздатьОбъект("ПоставщикДанных.ПрямойЗапрос");
{ПоставщикДанныхСправочник@MD(98) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
{ПоставщикДанных@MD(94) }

ПоставщикДанных.ТипЗначений = "Справочник.Контрагенты";
{Справочник.Контрагенты.ФормаСписка.ФормаСпискаАльт.Модуль(604)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.Справочник::Конструктор() : ПоставщикДанных.ПрямойЗапрос::СоздатьОбъектыЗапроса() : Значение не представляет агрегатный объект
ЗапросSQLite = БазаДанных.НовыйЗапрос();
{ПоставщикДанныхПрямойЗапрос@MD(937) }

ПрямойЗапрос = СоздатьОбъект("ПоставщикДанных.ПрямойЗапрос");
{ПоставщикДанныхСправочник@MD(98) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
{ПоставщикДанных@MD(94) }
 


Я так понимаю, в конструкторе Поставщика.Справочник мы инициализируем объект ПрямойЗапрос, и второй строкой присваивается папаметр подключения к базе, но ведь в самом конструкторе "ПрямогоЗапроса", явно вызывается метод СоздатьОбъектыЗапроса, где параметр БазаДанных уже используется.
Код
Выбрать все
ПрямойЗапрос = СоздатьОбъект("ПоставщикДанных.ПрямойЗапрос");
ПрямойЗапрос.БазаДанных = БазаДанных;
 


Если так, то с ошибкой понятно, но почему тогда такая ошибка не возникает при скл. Если же я не прав, то в чем причина этой ошибки.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1076 - 09. Августа 2010 :: 16:07
Печать  
2 Jarad, версии ВК озвучь.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1077 - 10. Августа 2010 :: 09:32
Печать  
Версия 1с++ 3.2.1.10, формекс 2.0.5.99.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1078 - 10. Августа 2010 :: 10:13
Печать  
А как же 1sqlite? Для DBF вообще то обязательно.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1079 - 10. Августа 2010 :: 10:19
Печать  
Пардон, забыл вписать, 1.0.2.4.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1080 - 10. Августа 2010 :: 11:21
Печать  
Странная ошибка. Подумаю... самое интересное что DBF-щики тут есть но подобной проблемы еще не пролетало.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1081 - 10. Августа 2010 :: 12:45
Печать  
Временно решил подобнім образом:
Код
Выбрать все
		ЗапросSQLite = БазаДанных.НовыйЗапрос();
			ЗапросSQLite.ВыполнятьВТранзакции = 0;
			ЗапросSQLite.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
 



Заменил на кусок из старого релиза ПрямогоЗапроса, где переменная инициализируется в классе
Код
Выбрать все
		БазаДанных = СоздатьОбъект("SQLiteBase");
		БазаДанных.Открыть(ПутьКБазеSQL);
		ЗапросSQLite = БазаДанных.НовыйЗапрос();
		ЗапросSQLite.ВыполнятьВТранзакции = 0;
		ЗапросSQLite.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
 

  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1082 - 10. Августа 2010 :: 13:15
Печать  
zk96 писал(а) 09. Августа 2010 :: 11:20:
Вот два примера для ПУБ.Один - ПоставщикДанных.Журнал, второй - ПоставщикДанных.Документ. Оба примера проверил у себя, они полностью рабочие.

Спасибо. Журнал заработал. начало положено.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1083 - 12. Августа 2010 :: 06:32
Печать  
Jarad писал(а) 09. Августа 2010 :: 12:32:
Я так понимаю, в конструкторе Поставщика.Справочник мы инициализируем объект ПрямойЗапрос, и второй строкой присваивается папаметр подключения к базе, но ведь в самом конструкторе "ПрямогоЗапроса", явно вызывается метод СоздатьОбъектыЗапроса, где параметр БазаДанных уже используется.


Что-то ты неправильное говоришь. В конструкторе класса "ПоставщикДанных.ПрямойЗапрос" вызов СоздатьОбъектыЗапроса не происходит. И происходит только при записи атрибута БазаДанных. Собственно ошибки там нигде нет, почему она у тебя возникает... кхм, тут у меня ответа нет.
И не путай класс "ПрямойЗапрос" с объектом в поставщике, они все таки немного разные.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1084 - 12. Августа 2010 :: 12:05
Печать  
недавно заметил что в ПоставщикДанных.Журнал.НайтиЗначение возможен поиск по вхождениею (последний параметр = 2) Очень довольный
одна беда что поиск происходит по текстовым полям, а нужен по наименованию справочника.

пердлагаю в данную ф-и немного поменять

Код
Выбрать все
	Если Врег(ИмяКолонки) = "ВРЕМЯДОКУМЕНТА" Тогда
		ЗначениеВремя36 = Сервис.ПолучитьTimeИзСтроки(Значение);
		ТекстЗапросаПоиска = ТекстЗапросаПоиска + "
		|"+КлючевоеСлово+" "+ВложеннаяСтруктура.РеквизитЗапроса+" = '" + ЗначениеВремя36 + "'
		|";
		КлючевоеСлово = "and";
	Иначе
		ТекстЗапросаПоиска = ТекстЗапросаПоиска + ,Вид,Значение,ПрямойЗапрос,КлючевоеСлово,ТочныйПоиск);
	КонецЕсли; 



на вот такой код

Код
Выбрать все
	Если Врег(ИмяКолонки) = "ВРЕМЯДОКУМЕНТА" Тогда
		ЗначениеВремя36 = Сервис.ПолучитьTimeИзСтроки(Значение);
		ТекстЗапросаПоиска = ТекстЗапросаПоиска + "
		|"+КлючевоеСлово+" "+ВложеннаяСтруктура.РеквизитЗапроса+" = '" + ЗначениеВремя36 + "'
		|";
		КлючевоеСлово = "and";
	ИначеЕсли (ВложеннаяСтруктура.Тип = "Справочник") и (ТочныйПоиск = 2) Тогда
		Если КлючевоеСлово = "where" Тогда
			ТекстЗапросаПоиска = ТекстЗапросаПоиска + "
			|left join Справочник." + ВложеннаяСтруктура.Вид + " AS УслПоиска ON (" + ВложеннаяСтруктура.РеквизитЗапроса + ") = $УслПоиска.ТекущийЭлемент
			|";
		Иначе
			СтрокаДопСоединения = "
			|left join Справочник." + ВложеннаяСтруктура.Вид + " AS УслПоиска ON (" + ВложеннаяСтруктура.РеквизитЗапроса + ") = $УслПоиска.ТекущийЭлемент
			|where";
			ТекстЗапросаПоиска = СтрЗаменить(ТекстЗапросаПоиска, "where",СтрокаДопСоединения);
		КонецЕсли;
		ТекстЗапросаПоиска = ТекстЗапросаПоиска + Сервис.ПолучитьТекстЗапросаПоискаЗначения(" $УслПоиска.Наименование " ,Тип,Вид,Значение,ПрямойЗапрос,КлючевоеСлово,ТочныйПоиск);
	Иначе
		ТекстЗапросаПоиска = ТекстЗапросаПоиска + ,Вид,Значение,ПрямойЗапрос,КлючевоеСлово,ТочныйПоиск);
	КонецЕсли; 



несовсем красиво, но работает
  
Наверх
wwwICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1085 - 13. Августа 2010 :: 08:14
Печать  
Прошу принять мелкую доводку формы отбора ПоставщикДанных.ОтборДанных.ert
1. Признак использования включается сам при выборе значения
2. "Флажочные" значения переключаются Enter'ом
3. При переключении вида отбора с "несписочного" на "списочный", текущее значение включается в список. Если наоборот, то первое значение списка становится Значением. При этом фиксится баг невозможности выбора значения после такого перехода.
  

____________________________001.ert ( 33 KB | Загрузки )
Наверх
GTalkICQ  
IP записан
 
PoVad
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 13. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1086 - 13. Августа 2010 :: 08:39
Печать  
За класс огромный респектище!!!
Но, тут в документацию, по-моему, закралась ошибочка.  Вроде бы ничего страшного, но немого пришлось поковыряться. Версии и класса и документации проверил - и то и то от 21.07.2010.
Хотел  в поставщике данных с типом значения ИндексированнаяТаблица запретить добавлять и удалять строки. Делал все вроде бы по букварю:

ПередНачаломДобавления(Копирование, ФСО)
Параметры:
•      Копирование – признак (1,0) копирования строки.
•      ФСО – флаг стандартной обработки

Нарисовал такую процедурку:
Код
Выбрать все
Процедура ТабличноеПолеМногострочнойЧастиПередНачаломДобавления(Копирование,ФСО)
    ФСО=0;
КонецПроцедуры	// ПередНачаломДобавления
 


И она не сработала. Начал разбираться. Вот обработчик этого события, модуль ПоставщикДанных.ИндексированнаяТаблица:
Код
Выбрать все
Процедура ДобавитьСтроку() Экспорт
	ИмяМетода = Сервис.ПолучитьИмяМетода(КонтейнерТабличногоПоля,"ПередНачаломДобавления");
	Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда
		СтруктураПараметров = СоздатьОбъект("СписокЗначений");

		СтруктураПараметров.Установить("Копирование",0);
		СтруктураПараметров.Установить("ФСО",-1);
		араметров);
		Если СтруктураПараметров.Получить("ФСО") = 0 Тогда
			Возврат;
		КонецЕсли;
	КонецЕсли;

	ИндексированнаяТаблица.НоваяСтрока();
	НомерСтроки = ИндексированнаяТаблица.НомерСтроки;
	я().Обновить();
	АктивизироватьСтроку(НомерСтроки);
КонецПроцедуры	// ДобавитьСтроку
 


Видим, что здесь в структуру параметров передается три параметра, а не два.
Когда написал
Код
Выбрать все
Процедура ТабличноеПолеМногострочнойЧастиПередНачаломДобавления(Копирование,ФСО,ФСО1)
    ФСО1=0;
КонецПроцедуры	// ПередНачаломДобавления
 


все заработало.
То же самое и с событием индексированной таблицы ПередУдалением, только там в структуру параметров передается два параметра вместо одного. Остальные события, правда, не крутил.

Если что, не пинайте сильно, только начинаю разбираться с классом, может каких тонкостей и не заметил.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1087 - 13. Августа 2010 :: 08:42
Печать  
ПЕРВЫЙ ПАРАМЕТР ВО ВСЕХ СОБЫТИЯХ  - ТАБЛИЧНОЕПОЛЕ!!!

В ДОКЕ ЭТО НАПИСАНО! В ЭТОЙ ВЕТКЕ ОБСУЖДАЛОСЬ!

Со сжатыми губами


Цитата:
ВАЖНО:
События, генерируемые табличным полем, вызываются в модуле формы в виде процедур поименованных следующим образом:
<ИдентификаторТабличногоПоля><ИмяСобытия>(Параметры…)
Кроме описанных ниже параметров, данные события ВСЕГДА первым параметром передают элемент управления «ТабличноеПоле» которым сгенерировано данное событие. Т.о. если в событии (например) Выбор указаны параметры: «ТекущаяСтрока, ТекущаяКолонка» и пр. То в методе параметры будут следующие: ИдентификаторТПВыбор(ЭлементУправления, ТекущаяСтрока, ТекущаяКолонка ….).

  
Наверх
wwwICQ  
IP записан
 
PoVad
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 13. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1088 - 13. Августа 2010 :: 08:52
Печать  
Anatol писал(а) 13. Августа 2010 :: 08:42:
ПЕРВЫЙ ПАРАМЕТР ВО ВСЕХ СОБЫТИЯХ  - ТАБЛИЧНОЕПОЛЕ!!!
Со сжатыми губами

Спасибо, будем знать. Доку просмотрел всю, но только сейчас обратил на это внимание. Чай не пара страниц. Улыбка
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1089 - 13. Августа 2010 :: 09:00
Печать  
Таки, наверное, стоит в описания самих событий этот параметр вставить. Сколько еще народу по этим граблям ходить будет? Почти все докой пользуются в "справочном режиме", там где что-то не получилось "в лоб". Сам читал все по-порядку, но к тому моменту, когда понадобилось воткнуть первый обработчик, тоже уже успел забыть про этот прикол  Подмигивание.
  
Наверх
GTalkICQ  
IP записан
 
PoVad
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 13. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1090 - 13. Августа 2010 :: 09:14
Печать  
Так оно и есть. Никуда ведь от этого не денешься. Стереотип-то срабатывает. Работаешь вплотную только с тем что в данный момент  интересует, хотя и просматриваешь все,  ну так, "шоб було". Смотришь описание, считаешь по пальчикам параметры - вроде бы все сходится, а тут, оказывается, военная хитрость.
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1091 - 13. Августа 2010 :: 09:32
Печать  
Если реализацию этого события сделаете в классе-наследнике, то будет 2 параметра, если же в обработке - то три
  
Наверх
ICQ  
IP записан
 
Jarad
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 22. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1092 - 13. Августа 2010 :: 09:56
Печать  
Я кажется понял, я под классом ПрямойЗапрос понимал ПоставщикДанных.ПрямойзЗапрос, и просто "ПрямойЗапрос" из соседней ветки как бы и не юзал, думаю что они одинаковые.
Извиняюсь)
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1093 - 13. Августа 2010 :: 10:50
Печать  
Kalen писал(а) 13. Августа 2010 :: 08:14:
Прошу принять мелкую доводку формы отбора ПоставщикДанных.ОтборДанных.ert
1. Признак использования включается сам при выборе значения
2. "Флажочные" значения переключаются Enter'ом
3. При переключении вида отбора с "несписочного" на "списочный", текущее значение включается в список. Если наоборот, то первое значение списка становится Значением. При этом фиксится баг невозможности выбора значения после такого перехода.



http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/915#924

+ по кнопке КП
стоит отбор, кнопка отбора вдавлина, открываем отбор, нажимаем кнопку "закрыть". кнопка отбора "отжимается" (показывает что отбор выключен.)
  
Наверх
wwwICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1094 - 13. Августа 2010 :: 13:43
Печать  
Обана... в ЖурналРегистрации-то ничего не пишется! Может для кого-то это мелочи, для меня - нет.  Злой
Прошу принять мои правки ПоставщикДанных.Журнал.ert (все изменения кода помечены). Не знаю только как правильно эмулировать события типа "общие", поэтому смена ТА через журнал остается незарегистрированной Печаль. Если кто знает как - очень прошу сообщить (Grbgs не предлагать Подмигивание).
Остальные расширения пока не трогал. Ждем, что скажет Александр.

ЗЫ Да... там же я предлагаю поменять УстановитьТАна на УстановитьТАпо, ибо именно так поступает сама 7-ка по действию "Установить ТА на документ".
  

_______________________003.ert ( 47 KB | Загрузки )
Наверх
GTalkICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1095 - 13. Августа 2010 :: 15:22
Печать  
Как вернусь в строй все доработки учту Улыбка. Тем более готовится обновление.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1096 - 16. Августа 2010 :: 20:04
Печать  
Надеюсь среди вас не нашлось смельчаков использующих функционал "ПоставщикДанных.ЭлементыОтбора.Добавить()". А то метод меняется, причем кардинально.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1097 - 16. Августа 2010 :: 20:29
Печать  
vandalsvq писал(а) 16. Августа 2010 :: 20:04:
Надеюсь среди вас не нашлось смельчаков использующих функционал "ПоставщикДанных.ЭлементыОтбора.Добавить()". А то метод меняется, причем кардинально.


канешна нашлось =(
что не месяц то новая структура отбора?..
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1098 - 16. Августа 2010 :: 20:45
Печать  
Решил привести все к такой структуре:
ДопустимыеПоля - коллекции полей которые допустимы к отбору в рамках данного поставщика.
ЭлементыОтбора - является лишь настройкой, при этом не управляет ни текстом запроса, ни соединением (как сейчас).
В таком случае мы прийдем к тому что ЭлементОтбора может быть видом Элемент или Группа, соответственно можно будет реализовать механизм построения сложных отборов. Т.е. счас все только с И, а можно будет комбинировать "ИЛИ", "И", и т.д.
Обещаю что более кардинальных изменений не будет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1099 - 16. Августа 2010 :: 21:03
Печать  
Конечно вина моя в том, что я ранее не продумал до конца интерфейс реализации отборов.
Но у данного решения есть плюсы, например:
1. Коллекция "Отбор" становится отвязана от поставщика данных и может быть использована самостоятельно без привязки к данным.
2. В планах добавить ПоставщикДанных.ТипЗначений = "Отбор" чтобы можно было делать поля настройки отборов без особой писанины (думаю очень пригодится для создания интерфейсов отчетов).
« Последняя редакция: 17. Августа 2010 :: 07:03 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1100 - 17. Августа 2010 :: 10:52
Печать  
В карточке товара есть таблица которая отображает сертификаты на товара.
Сертификаты товара это подчиненный справочник  для спр. номеклатура.

Это все отображается нормально в таблице.

У спр.Сертификаты - один из реквизитов "НомерСертификата" имеет тип справочника (Спр.СертификатыВсе).

Необходимо в этой же таблице отображать реквизиты выбранного элемента спр.СертификатыВсе
Пытаюсь вытащить их с помощью "ДобавитьКолонкуДанных" - таблица открывается пустой

Подскажите что я делаю не так

Код
Выбрать все
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ВидыСравнения = СоздатьОбъект("ПоставщикДанных.ВидыСравнения");
	ПоставщикДанных.ТипЗначений = "Справочник.СертификатыТоваров";
	ПоставщикДанных.КонтейнерТабличногоПоля = "СертификатыТП";

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;

	ТабличноеПоле.ИзменятьНастройкуКолонок = 0;
	ТабличноеПоле.ИзменятьСоставСтрок = 1;
	ТабличноеПоле.ИзменятьПорядокСтрок = 1;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;

	Данные = ПоставщикДанных.Данные;
	Данные.Владелец = ТекущийЭлемент();

	Данные.НоваяКолонка("Код");
	Данные.НоваяКолонка("ВидСертификата");
	Данные.НоваяКолонка("НеобходимостьНаличия");
	Данные.НоваяКолонка("Номер");

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.Код;
	Колонка.Видимость = 0;

	Колонка = Колонки.ВидСертификата;
	Колонка.Ширина = 20;

	Колонка = Колонки.НеобходимостьНаличия;
	Колонка.Ширина = 4;

	Колонка = Колонки.Номер;
	Колонка.Заголовок = "Номер сертификата";
	Колонка.Ширина = 20;
//
//--- до этого момента все работает
//
	Данные.ДобавитьКолонкуДанных("ДатаВыдачи2","Дата выдачи","Номер.ДатаВыдачи","Дата");
	Данные.НоваяКолонка("ДатаВыдачи2");
	Колонка.Ширина = 8;

 





  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1101 - 17. Августа 2010 :: 11:13
Печать  
добавь еще соединение с дополнительным справочником
  
Наверх
wwwICQ  
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1102 - 17. Августа 2010 :: 11:50
Печать  
Где это добавить? ведь текста запроса я не вижу
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1103 - 17. Августа 2010 :: 12:01
Печать  
Значения этих реквизитов нужны только на просмотр , как сделать вычисляемые поля на форме ТП ? (что бы не искать где сделать объединение в запросе)
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1104 - 17. Августа 2010 :: 12:05
Печать  
смотри в документации метод "ДобавитьСоединениеДанных"
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1105 - 17. Августа 2010 :: 12:20
Печать  
2 dimm73
Соединение с таблицей данных "Справочик.СертификатыВсе":
Код
Выбрать все
ДобавитьСоединениеДанных("СоединениеДатаВыдачи","left join Справочник.СертификатыВсе as СертификатыВсе $nolock on $ТекущийОбъект.Номер = $СертификатыВсе.ТекущийЭлемент"); 


При этом колонку данных тоже надо переписать
Код
Выбрать все
ДобавитьКолонкуДанных("ДатаВыдачи2","Дата выдачи","$СертификатыВсе.ДатаВыдачи","Дата");
НоваяКолонка("ДатаВыдачи2"); 


Попробуй, отпишись.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1106 - 17. Августа 2010 :: 12:31
Печать  
Отлично, все получилось  Смех
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1107 - 20. Августа 2010 :: 22:14
Печать  
Kalen, твои "рац. предложения" все приняты, за исключением изменения значения флажка по кнопке Enter. Просто там есть пробел для этих целей - вот только вырождается он в быстрый поиск Улыбка.
« Последняя редакция: 22. Августа 2010 :: 16:43 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Andrey (sttt)
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Зарегистрирован: 10. Января 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1108 - 21. Августа 2010 :: 01:20
Печать  
как убрать подвал?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1109 - 22. Августа 2010 :: 19:44
Печать  
В общем небольшие новости с фронта. На текущий момент новый объект Отбор почти полностью реализован. Точнее объект реализован, а вот расширения поставщика не все еще морально подготовились к данным изменениям.
Немного поковырявшись решил что надо добавить запись в журнал регистрации всех событий которые не фиксируются, а то на самом деле некрасиво получается. На текущий момент Справочник и Документ фиксируют полностью. Журнал по сути то же что и документ, с небольшим отличием.
Кроме того скорее всего в новый релиз добавится расширение "Отбор" (чтобы реализовывать табличную часть аналогичной той что вы видите при нажатии фильтра поставщика). Я думаю для использования в отчетах это может стать очень удобно.

На текущий момент по объекту "ДеревоЗначений" замечаний почти нет, или я их не помню.

Пы.сы. те кто реально готовы выступить тестерами объекта "Отбор" в новом исполнении прошу откликнутся. Сам я не в состоянии уже тестировать, поскольку просто слишком загружен. И в ближайшее время просвета вообще не видно.

Пы.пы.сы. надеюсь никто не против если в комментариях журнала регистрации будет писаться информация что это фиксация из поставщика данных, с указанием типа расширения, и (с) ООО "ПрогТехБизнес" Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1110 - 23. Августа 2010 :: 05:16
Печать  
давай выкладывай!  Очень довольный
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1111 - 23. Августа 2010 :: 06:32
Печать  
Anatol писал(а) 23. Августа 2010 :: 05:16:
давай выкладывай!  Очень довольный

Ни за что не поделюсь. Как будет готова первая "бета" так сразу и выложу.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1112 - 23. Августа 2010 :: 10:45
Печать  
Пользователей класса "ПоставщикДанных" прошу обратить внимание сюда. И соответственно по возможности отреагировать.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1113 - 25. Августа 2010 :: 06:00
Печать  
Подскажите как определить есть такая колонка в табличном поле или нет ?
В какой момент надо добавлять колонку в табличное поле, у меня все время выскакивает что реквизит не найден но при этом колонка отображается и даные в нее выводятся. Я колонку вставляю после обновления поставщика данных.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1114 - 25. Августа 2010 :: 06:33
Печать  
В общем в последнем релизе icpp метод Индекс умеет принимать не только объект КолонкаТабличногоПоля, но и строку.
Порядок инициализации поставщика приблизительно такой:
Код
Выбрать все
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
ПоставщикДанных.ТипЗначений = "Справочник.ххх";
ПоставщикДанных.КонтейнерТабличногоПоля = "ТП";

Данные = ПоставщикДанных.Данные;
// и отсюда можешь добавлять 


Обновить надо вызывать по возможности после всех модификаций (в том числе и наложении отборов).
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1115 - 25. Августа 2010 :: 12:46
Печать  
Почему-то метод индекс все время возвращает -1. Как им правильно пользоваться ?
  
Наверх
 
IP записан
 
mctoha
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 39
Зарегистрирован: 26. Марта 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1116 - 26. Августа 2010 :: 14:21
Печать  
небольшие замечания по классу ПоставщикДанных.ДеревоЗначений
1. Ошибка при удалении узла верхнего уровня
2. При установленном свойстве ИзменятьПорядокСтрок дерео сортируется Печаль. Посмотрел класс - там нет проверок и на другие реквизиты (типа вывода на печать)
3. Полную сортировку дерева (отсортировать рекурсивно). Реализуется несложно, а вещь полезная

Очень хотелось бы, а также поиск значения в дереве Улыбка
  
Наверх
 
IP записан
 
mirvel
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 28. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1117 - 28. Августа 2010 :: 15:32
Печать  
Не могу связать форму документа с формой табличного поля....
т.е. чтобы в диалоге (типа спр.контрагенты) открывалась обработка с ТП и возвращался результат!
  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1118 - 31. Августа 2010 :: 13:45
Печать  
Расширение ПоставщикДанных.ТабличнаяЧасть. Только у меня не отрабатываются процедуры в поле ввода табличной части документа или так задумано?
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1119 - 31. Августа 2010 :: 18:18
Печать  
Antonio писал(а) 31. Августа 2010 :: 13:45:
Расширение ПоставщикДанных.ТабличнаяЧасть. Только у меня не отрабатываются процедуры в поле ввода табличной части документа или так задумано?

По всей видимости это только у Вас. ПоставщикДанных.ТабличнаяЧасть - это почти тоже самое чтои ПоставщикДанных.ИндексированнаяТаблица. Это у Вас работает?
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1120 - 01. Сентября 2010 :: 05:20
Печать  
mirvel писал(а) 28. Августа 2010 :: 15:32:
Не могу связать форму документа с формой табличного поля....
т.е. чтобы в диалоге (типа спр.контрагенты) открывалась обработка с ТП и возвращался результат!

начни отсюда http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/1050#1050
в форме справочника лови
Код
Выбрать все
Данные.РежимВыбора=?(Форма.РежимВыбора()>0,1,0); 


и создай обработчик
Код
Выбрать все
Процедура .......ПриВыбореЗначения(ТабличноеПоле,Значение)
	Форма.ВыполнитьВыбор(Значение);
КонецПроцедуры 

« Последняя редакция: 01. Сентября 2010 :: 08:19 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1121 - 01. Сентября 2010 :: 05:55
Печать  
Antonio писал(а) 31. Августа 2010 :: 13:45:
Расширение ПоставщикДанных.ТабличнаяЧасть. Только у меня не отрабатываются процедуры в поле ввода табличной части документа или так задумано?

подозреваю очередной http://www.1cpp.ru/forum/YaBB.pl?num=1248941896/765#765
  
Наверх
GTalkICQ  
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1122 - 01. Сентября 2010 :: 06:34
Печать  
Может не совсем правильно сформулировал. Есть реквизит табличной части документа -"Количество". Элементы закладки => формула стоит допустим глВыч_суммы_накл(Контекст,1). Эта процедура не срабатывает. Отсюда и вопрос, а должна ли? Также не отображаются текстовые реквизиты табличной части.
  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1123 - 01. Сентября 2010 :: 12:10
Печать  
Товарищи, где туплю подскажите. Автор, отзовись!
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1124 - 01. Сентября 2010 :: 13:23
Печать  
Antonio писал(а) 01. Сентября 2010 :: 06:34:
Может не совсем правильно сформулировал...

Сначала добавте нужные колонки. Потом ПриВыводеСтроки вычисляйте свои формулы и выводите их результат.
  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #1125 - 01. Сентября 2010 :: 14:10
Печать  
zk96, спасибо за помощь. Так и начал делать, а потом наткнулся на это:
vandalsvq писал(а) 28. Января 2010 :: 17:25:
zk96 писал(а) 28. Января 2010 :: 15:40:
С трудом, но разобрался сам. Оказывается Табличная часть документа должна быть на форме. А я ж думал, если мы ее заменяем табличным полем, то зачем ей быть на форме, ну и убрал ее.

Ну просто есть расчетные колонки там, да и делалась она чтобы просто скрыл реальную ТЧ и заменил. А дальше верти крути как хошь.
В общем так повелось еще с х.з. какой первой версии самого поставщика Улыбка

Ну и забуксовал Нерешительный
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #1126 - 01. Сентября 2010 :: 14:22
Печать  
Antonio писал(а) 01. Сентября 2010 :: 14:10:
zk96, спасибо за помощь. Так и начал делать, а потом наткнулся на это:
vandalsvq писал(а) 28. Января 2010 :: 17:25:
zk96 писал(а) 28. Января 2010 :: 15:40:
С трудом, но разобрался сам. Оказывается Табличная часть документа должна быть на форме. А я ж думал, если мы ее заменяем табличным полем, то зачем ей быть на форме, ну и убрал ее.

Ну просто есть расчетные колонки там, да и делалась она чтобы просто скрыл реальную ТЧ и заменил. А дальше верти крути как хошь.
В общем так повелось еще с х.з. какой первой версии самого поставщика Улыбка

Ну и забуксовал Нерешительный

Я у себя использую для вывода Таб.Части ПоставщикДанных.ИндексированнаяТаблица и создаю то, что мне нужно. Мне не очень нравиться скрывать на форме Таб.Часть. Да и множественную Таб.Часть подругому не знаю как реализовать.
  
Наверх
 
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных"
Ответ #1127 - 01. Сентября 2010 :: 14:33
Печать  
Мне не очень нравиться скрывать на форме Таб.Часть.
Вот и мне тожеУлыбка
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1128 - 15. Сентября 2010 :: 12:23
Печать  
А как работает ПоставщикДанных на Windows-Vista и Windows-7?
Смущает использование картинок, которые надо регистрировать в реестре и т.д.
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных"
Ответ #1129 - 15. Сентября 2010 :: 13:52
Печать  
Antonio писал(а) 01. Сентября 2010 :: 14:33:
Мне не очень нравиться скрывать на форме Таб.Часть.
Вот и мне тожеУлыбка



можно попробовать еще пользоваться
ПриЗагрузкеФормы + ПриЗагрузкеМодуляФормы
и подменить в этих методах форму и модуль на свою форму с табличной частью.

Не проверял, но думаю, прокатит.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1130 - 16. Сентября 2010 :: 05:03
Печать  
Пытаюсь подключить "ПоставщикДанных".
Выдается ошибка:
Код
Выбрать все
ПоставщикДанных.ТипЗначений = "Справочник.Контрагенты";
{Документ.КвитанцияПоНесколькимАбонентамНов.Форма.Модуль(704)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=23) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
) }

3);
{....\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(62) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
{....\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ert(84) }
 



При выполнении регистрации библиотеки как указано в http://www.forum.mista.ru/topic.php?id=298024

тоже выдается ошибка:
Код
Выбрать все
Диалог=Скрипт.Eval("Диалог=new ActiveXObject('MSComDlg.CommonDialog')");
{C:\GVK_TASKS\FL\FL_DEV\FL_076_01\EXTFORMS_TEMP\РЕГИСТРАЦИЯКАРТИНОК.ERT(66)}: Ошибка выполнения Microsoft JScript: Невозможно создание объекта сервером программирования объектов 



Что я неправильно делаю?

Делаю пока на WinXP. потом буду проверять на Win7
  
Наверх
ICQ  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1131 - 16. Сентября 2010 :: 06:00
Печать  
Я так думаю что офис (MS Office) не установлен
  
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1132 - 16. Сентября 2010 :: 06:04
Печать  
es3000 писал(а) 16. Сентября 2010 :: 05:03:
Что я неправильно делаю?

Делаю пока на WinXP. потом буду проверять на Win7


Для начала, запусти это:
  

_____________________005.ert ( 96 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1133 - 16. Сентября 2010 :: 07:03
Печать  
В общем то у меня есть инстальник для всех компонент. Если надо в ЛС пиши вышлю. И еще, я пишу последнее время на win7 так что проблем не обнаружено Подмигивание.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1134 - 16. Сентября 2010 :: 07:42
Печать  
Eprst писал(а) 16. Сентября 2010 :: 06:04:
es3000 писал(а) 16. Сентября 2010 :: 05:03:
Что я неправильно делаю?

Делаю пока на WinXP. потом буду проверять на Win7


Для начала, запусти это:


я это запускал... см. выше...
выдается:
Код
Выбрать все
Диалог=Скрипт.Eval("Диалог=new ActiveXObject('MSComDlg.CommonDialog')");
{C:\GVK_TASKS\FL\FL_DEV\FL_076_01\EXTFORMS_TEMP\РЕГИСТРАЦИЯКАРТИНОК.ERT(66)}: Ошибка выполнения Microsoft JScript: Невозможно создание объекта сервером программирования объектов
 

  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1135 - 16. Сентября 2010 :: 07:46
Печать  
vandalsvq писал(а) 16. Сентября 2010 :: 07:03:
В общем то у меня есть инстальник для всех компонент. Если надо в ЛС пиши вышлю. И еще, я пишу последнее время на win7 так что проблем не обнаружено Подмигивание.


в ЛС написал,
про win7 - это очень хорошо!
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1136 - 16. Сентября 2010 :: 07:46
Печать  
То что я приложил, работает ?
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1137 - 16. Сентября 2010 :: 07:47
Печать  
Eprst писал(а) 16. Сентября 2010 :: 07:46:
То что я приложил, работает ?


выдает сообщение
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1138 - 16. Сентября 2010 :: 07:48
Печать  
Какое ?
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1139 - 16. Сентября 2010 :: 08:03
Печать  
Диалог=Скрипт.Eval("Диалог=new ActiveXObject('MSComDlg.CommonDialog')");
{...}: Ошибка выполнения Microsoft JScript: Невозможно создание объекта сервером программирования объектов
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1140 - 16. Сентября 2010 :: 08:05
Печать  
Обнови скриптовую машину, для начала + проверь уровень безопасности в ИЕ.
+
regsvr32.exe vbscript.dll
regsvr32.exe jscript.dll
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1141 - 16. Сентября 2010 :: 12:33
Печать  
при работе с  табличным полем (ПоставщикДанных) иногда вылетает 1С (раза 3-4 за день). В просмотре событий можно увидеть:
"Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль blang.dll, версия 7.70.0.27, адрес 0x0000323f."

не так давно в форму элемента справочника Номенклатура добавил табличное поле с подчиненным справочником сертификаты.

Вылет 1С происходит записи нового элемента номенклатуры   (повторюсь не всегда, за день записывают 50-100 новых товаров, а вылетает в среднем 3 раза в день)

Вроде бы ненадолго помогает чистка реетра 1С

привожу фрагмент кода из процедуры ПриЗаписи

Код
Выбрать все
	ФлагЗаписи=1;
	Записать();
	Если Новый=1 Тогда
		СоздатьТаблицуСертификатов();
		ИнициализацияМногострочнойЧасти();
	КонецЕсли;
	ПроверкаСертификата(ТекущийЭлемент());
	Если ПроверкаЗаполненияСертификата(ТекущийЭлемент())=0 Тогда
		Сообщить("Необходимо заполнить данные по сертификату!");
	КонецЕсли;
	ПоставщикДанных.Обновить();
 



где

Код
Выбрать все
Процедура СоздатьТаблицуСертификатов()
	Спр2 = СоздатьОбъект("Справочник.СертификатыТоваров");
		Для й =1 По 4 Цикл
		  Спр2.Новый();
			Спр2.Владелец = ТекущийЭлемент();
		  Спр2.УстановитьНовыйКод();
		  Спр2.ВидСертификата = ЭлементПоКоду("ВидыСертификатов",й);
			Спр2.Наименование = Спр2.ВидСертификата.Наименование;
			Спр2.НеобходимостьНаличия = Перечисление.Булево.Нет;
			Спр2.Записать();
		КонецЦикла;
КонецПроцедуры


Процедура ИнициализацияМногострочнойЧасти()
	ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
	ВидыСравнения = СоздатьОбъект("ПоставщикДанных.ВидыСравнения");
	ПоставщикДанных.ТипЗначений = "Справочник.СертификатыТоваров";
	ПоставщикДанных.КонтейнерТабличногоПоля = "СертификатыТП";

	ТабличноеПоле = ПоставщикДанных.ТабличноеПоле;

	ТабличноеПоле.ИзменятьНастройкуКолонок = 0;
	ТабличноеПоле.ИзменятьСоставСтрок = 1;
	ТабличноеПоле.ИзменятьПорядокСтрок = 1;
	ТабличноеПоле.СтильЗаголовков = 1;
	ТабличноеПоле.СтильРамки = 1;
	ТабличноеПоле.АвтоКонтекстноеМеню = 0;

	Данные = ПоставщикДанных.Данные;
	Данные.Владелец = ТекущийЭлемент();

	Данные.НоваяКолонка("Код");
	Данные.НоваяКолонка("ВидСертификата");
	Данные.НоваяКолонка("НеобходимостьНаличия");
	Данные.НоваяКолонка("Номер");

  Данные.ДобавитьСоединениеДанных("СоединениеДатаВыдачи","left join Справочник.СертификатыНовые as СертификатыНовые $nolock on $ТекущийОбъект.Номер = $СертификатыНовые.ТекущийЭлемент");

	Данные.ДобавитьКолонкуДанных("ДатаВыдачи","Дата выдачи","$СертификатыНовые.ДатаВыдачи","Дата",1);
	Данные.НоваяКолонка("ДатаВыдачи");

	Данные.ДобавитьКолонкуДанных("СрокДействия","Дата выдачи","$СертификатыНовые.СрокДействия","Дата",1);
	Данные.НоваяКолонка("СрокДействия");

	1);
	Данные.НоваяКолонка("Орган");

	Данные.ДобавитьКолонкуДанных("КодСертификата","Код серт-та","$СертификатыНовые.Код","число",0);
	Данные.НоваяКолонка("КодСертификата");

	Колонки = ТабличноеПоле.Колонки;
	Колонка = Колонки.Код;
	Колонка.Видимость = 0;

	Колонка = Колонки.ВидСертификата;
	Колонка.Ширина = 20;

	Колонка = Колонки.НеобходимостьНаличия;
	Колонка.Ширина = 4;

	Колонка = Колонки.Номер;
	Колонка.Заголовок = "Номер сертификата";
	Колонка.Ширина = 30;

	Колонка = Колонки.ДатаВыдачи;
	Колонка.Ширина = 8;

	Колонка = Колонки.СрокДействия;
	Колонка.Ширина = 8;

	Колонка = Колонки.Орган;
	Колонка.Ширина = 5;

	Колонка = Колонки.КодСертификата;
	Колонка.Ширина = 4;

	Данные.ИзменятьИерархическийПросмотр = 0;
	Данные.ИерархическийПросмотр = 1;
	Данные.СпособРедактирования = 0; //в Списке
	Данные.ИзменятьСпособРедактирования = 0;
	Данные.ПросмотрПоВладельцу = 1;
	Данные.ИзменятьПросмотрПоВладельцу = 0;
	Данные.РеквизитСортировки = "Код";

	ПоставщикДанных.Обновить();

КонецПроцедуры

 



думаю, что грабли в процедуре ИнициализацияМногострочнойЧасти

может, что подправить в ней


Процедуры
ПроверкаСертификата(ТекущийЭлемент())
И    ПроверкаЗаполненияСертификата(ТекущийЭлемент))

я думаю не причем, так как они же используются в ряде других мест и там все нормально

1С++ 3.0.1.25
FormEx 2.0.5.99
  
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1142 - 16. Сентября 2010 :: 12:56
Печать  
процедура ИнициализацияМногострочнойЧасти() вызывалась после открытия формы

Процедура ПослеСозданияФормы()
     ИнициализацияМногострочнойЧасти();
КонецПроцедуры

не может ли повторная инициализация табличного поля приводить к вылету?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1143 - 17. Сентября 2010 :: 03:20
Печать  
Повторная инициализация, как и попытка переназначить ТипЗначений как правило в периодическим вылетам и приводит. Но повторная имеется в виду, когда в рамках одного модуля на одну переменную вешаются два и более поставщика.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1144 - 17. Сентября 2010 :: 05:10
Печать  
Александр, можно ли реализовать в ПоставщикДанных Операция отборы по контрагенту, как  в стандартном журнале операций?
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1145 - 19. Сентября 2010 :: 08:43
Печать  
Eprst писал(а) 16. Сентября 2010 :: 08:05:
Обнови скриптовую машину, для начала + проверь уровень безопасности в ИЕ.
+
regsvr32.exe vbscript.dll
regsvr32.exe jscript.dll


какой должен бьыть уровень безопасности ИЕ?
  
Наверх
ICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1146 - 23. Сентября 2010 :: 11:09
Печать  
Господа, очень нужна подсказка.
Есть форма, насышенная табличные полями и кнопками(ПоставщикДанных.ИндексированнаяТаблица). При многократном открытии-закрытии формы вылетаем из 1С. С сообщением "Запрашиваемый ресурс недоступен"(это перевод сообщения) и
строке сообщений:
ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : ImageListCtrl: Out of memory
ОлеКар
ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : ImageListCtrl: Out of memory
КартинкиПанелиУправления.ListImages.Add
ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=ИндексированнаяТаблица) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Колич
ПДКонтрагентыПодчДоки.ТипЗначений = "ИндексированнаяТаблица";
{Документ.РасчетЗаказа.Форма.Модуль(13817)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=ИндексированнаяТаблица) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.Ком

Кто-то сталкивалься с таким? Подскажите куда копать.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1147 - 23. Сентября 2010 :: 11:14
Печать  
привести версию 1С++
а также замониторить объекты user и gdi в диспетчере задач - растут ли они. Очень похоже на утечку памяти при разрушении контрола для панели.
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1148 - 23. Сентября 2010 :: 11:22
Печать  
1С++ 3.2.2.5
Все остально сейчас посмотрю.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1149 - 23. Сентября 2010 :: 11:28
Печать  
zk96 писал(а) 23. Сентября 2010 :: 11:22:
...
Все остально сейчас посмотрю.

Соврал, не посмотрю, не знаю как. В диспечере задач таких процессов не вижу. Куда смотреть?
Но количество процессов не растет, объем выделенной памяти тоже не растет
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1150 - 23. Сентября 2010 :: 11:40
Печать  
zk96 писал(а) 23. Сентября 2010 :: 11:28:
zk96 писал(а) 23. Сентября 2010 :: 11:22:
...
Все остально сейчас посмотрю.

Соврал, не посмотрю, не знаю как. В диспечере задач таких процессов не вижу. Куда смотреть?
Но количество процессов не растет, объем выделенной памяти тоже не растет

Это не процессы - это столбцы. Вид>Столбцы и там галочки поставь и для процесса 1cv7 посмотри.
А также покажи код инициализации контейнеров для панели и ТП самого. Можешь прямо текстовый файл приложить.
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1151 - 23. Сентября 2010 :: 12:10
Печать  
Обеекты GDI увеличиваються(не уничтожаються), ОбеектыUser- нет.
Код инициализации приложил.
  

____.txt ( 19 KB | Загрузки )
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1152 - 23. Сентября 2010 :: 12:14
Печать  
Приложи весь код модуля формы пожалуйста.
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1153 - 23. Сентября 2010 :: 12:27
Печать  
leshik писал(а) 23. Сентября 2010 :: 12:14:
Приложи весь код модуля формы пожалуйста.

Вот он.
  

_____001.txt ( 609 KB | Загрузки )
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1154 - 23. Сентября 2010 :: 12:33
Печать  
Попробуй в процедуре ПриЗакрытии деинициализировать поставщики данных

Код
Выбрать все
ПДИТОбъем = "";
ПДИТКраски = "";
ПДИТМенеджер = "",ПДИнТбТехнолог = "",ПДИнТбЛаминаторщик = "";
ПДКонтрагентыПодчДоки = "";
ПДИТПродажа = "";
фВидимыеКолонкиВТППродажа = "";
 


И посмотри что будет с GDI и USER
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1155 - 23. Сентября 2010 :: 12:43
Печать  
to Leshik
Если в ПриЗакрытии добавить, то 1С вылетает призакрытии формы, если в ПослеЗакрытия то GDI все-равно растет.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1156 - 23. Сентября 2010 :: 13:15
Печать  
Если убрать картинки с кнопок, то есть не загрузать ImageListCtrl в control Toolbar, то GDI не растет, хотя это логично.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1157 - 23. Сентября 2010 :: 13:23
Печать  
Надо с автором посоветоваться. Собери пожалуйста тестовую конфу чтобы можно было подтвердить утечку?
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1158 - 23. Сентября 2010 :: 13:35
Печать  
Только что для пробы убрал создание ImageListCtrl через
     Картинка = СоздатьОбъект("Картинка");
     Картинка.Загрузить(IconCollection);
           ОлеКартинка = Система.ПолучитьOLEКартинку(Картинка,НомерКартинки-1);
           );
     
и сделал как раньше загружал по одной картинке:
Scr=СоздатьОбъект("MSScriptControl.ScriptControl");
     scr.Language="vbscript";
     Image=scr.Eval("LoadPicture("""+ПутьККаталогуКартинок+"save.bmp"")");
     ImageListCtrl.ListImages.Add(1, "", Image);
Утечки нет.
Тестовая конфа? Я пробую ЛЮБУЮ обработку с ПоставщикДанных многократно открыть и GDI растет. Просто на той форме из-за которой поднял сыр-бор много табличных полей с командными панелями и поэтому заметил это.
Надо тестовую конфигурацию? Что в ней должно быть?
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1159 - 23. Сентября 2010 :: 13:39
Печать  
Цитата:
Надо тестовую конфигурацию? Что в ней должно быть?

1) Загрузка компонент (сами компоненты не надо достаточно версий)
2) Версия класса ПоставщикДанных
3) Обработка и описание воспроизведения ошибки.
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1160 - 23. Сентября 2010 :: 13:45
Печать  
Тест вечером соберу. Я сейчас попробую посвоему устранить проблему, а то меня на работе сьедят.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1161 - 23. Сентября 2010 :: 14:03
Печать  
to leshik
Кстати Вы не знаете как из объекта IPicture получить отдельную картинку?
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1162 - 23. Сентября 2010 :: 18:32
Печать  
zk96 писал(а) 23. Сентября 2010 :: 14:03:
to leshik
Кстати Вы не знаете как из объекта IPicture получить отдельную картинку?

К сожалению - нет. Надо узнавать - если не получится пишите постараюсь попробовать.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1163 - 24. Сентября 2010 :: 03:32
Печать  
Почитал последние сообщения, в общем попробую отловить, есть подозрение на объект "Система" и на объект "Картинка". Сам класс в данном случае - пассивная жертва Улыбка.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1164 - 24. Сентября 2010 :: 09:22
Печать  
zk96 писал(а) 23. Сентября 2010 :: 13:45:
Тест вечером соберу. Я сейчас попробую посвоему устранить проблему, а то меня на работе сьедят.

Жутко извиняюсь, но тест не собрал. Надо было срочно "лечить" программу от вылетов. Разбил картинки по одной, в классе ПоставщикДанных КомманднаяПанель изменил загрузку пиктограмм-
не через ОлеКартинка=Система.ПолучитьOLEКартинку, а через ОлеКартинка=Scr.Eval("LoadPicture("""+filename+""")")
и поодной добавляю в ImageListCtrl.
Проблем нет. Делаю вывод:виновата функция ПолучитьOLEКартинку.
P.S.Тест подготовлю сегодня-завтра.
                 
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1165 - 24. Сентября 2010 :: 09:23
Печать  
Ждем с нетерпением.
  
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1166 - 24. Сентября 2010 :: 12:23
Печать  
Кто там жаждет проверить исправление утечки?

Вот вам подарок от Димы:
http://trad.citykirov.ru/icpp3226_20100924.rar
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1167 - 24. Сентября 2010 :: 12:43
Печать  
Спасибо!
  
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1168 - 24. Сентября 2010 :: 13:14
Печать  
У меня ничего не изменилось-вылетает. Тест прилагаю. Всего один документ, его нужно открыть-закрыть раз 10-20) и мы вылетаем.
Версия класса ПоставщикДанных = "3.07.001.5 04.08.2010";
  

Test_012.rar ( 2316 KB | Загрузки )
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1169 - 24. Сентября 2010 :: 13:20
Печать  
Еще раз скажу. Если в панель управления загружать картинки не через Система.ПолучитьOLEКартинку, то все нормально.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1170 - 25. Сентября 2010 :: 05:18
Печать  
zk96 писал(а) 24. Сентября 2010 :: 13:14:
У меня ничего не изменилось-вылетает. Тест прилагаю. Всего один документ, его нужно открыть-закрыть раз 10-20) и мы вылетаем.
Версия класса ПоставщикДанных = "3.07.001.5 04.08.2010";

Попробовал тест, после нескольких открытий появляется ошибка доступа к какому-нибудь bmp-файлу Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1171 - 25. Сентября 2010 :: 07:44
Печать  
artbear писал(а) 25. Сентября 2010 :: 05:18:
...
Попробовал тест, после нескольких открытий появляется ошибка доступа к какому-нибудь bmp-файлу Печаль

Но кроме этого в тексте ошибки "out of memory"
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1172 - 25. Сентября 2010 :: 13:40
Печать  
Да, течет. На этом тестовом примере (см. вложение) стабильно течет на USER\GDI по 2\6 штук, icpp v3.2.2.6
На 1cpp (моей версии) не течет.
  

_________________IPicture.rar ( 5 KB | Загрузки )
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1173 - 25. Сентября 2010 :: 16:18
Печать  
Прошелся Олей, наткнулся на блок перехватов, в том числе DecrRef... Я так понимаю, в нынешнем виде компоненты следить за счетчиком не надо? Тогда достаточно убрать в файле PicService.cpp в методе CPicService::GetRenderedPicture строчку ppPicture[0]->AddRef();
Ну и сессно досадный ML в конструкторе CPicService.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1174 - 26. Сентября 2010 :: 06:49
Печать  
spock писал(а) 25. Сентября 2010 :: 16:18:
Прошелся Олей, наткнулся на блок перехватов, в том числе DecrRef...

Прошелся "Олей" - это ты про что?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1175 - 26. Сентября 2010 :: 08:04
Печать  
spock писал(а) 25. Сентября 2010 :: 16:18:
Прошелся Олей, наткнулся на блок перехватов, в том числе DecrRef... Я так понимаю, в нынешнем виде компоненты следить за счетчиком не надо? Тогда достаточно убрать в файле PicService.cpp в методе CPicService::GetRenderedPicture строчку ppPicture[0]->AddRef();
Ну и сессно досадный ML в конструкторе CPicService.

1. Зарегистрирован баг http://www.1cpp.ru/bugs/show_bug.cgi?id=4504
2. Исправление подтверждаю, утечка на тестовом примере исчезла.
3. Исправление внесено в репозитарий icpp

Выложил версию icpp 3.2.2.7 с исправлением
http://www.1cpp.ru/forum/YaBB.pl?num=1281717242/41#41
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1176 - 26. Сентября 2010 :: 08:28
Печать  
Артур, большое спасибо тебе Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Antonio
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 20. Января 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1177 - 26. Сентября 2010 :: 09:17
Печать  
У всех всё в норме? У меня с новой версией при попытке инициализации поставщика данных 1С валится с ошибкой, которую ранее не приходилось встречать:
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль miscr3.dll, версия 7.0.0.124, адрес 0x0000b451.
WinXP SP3, 1C - 7.70.027, dbf
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1178 - 26. Сентября 2010 :: 13:16
Печать  
artbear писал(а) 26. Сентября 2010 :: 06:49:
spock писал(а) 25. Сентября 2010 :: 16:18:
Прошелся Олей, наткнулся на блок перехватов, в том числе DecrRef...

Прошелся "Олей" - это ты про что?

ollydbg
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1179 - 26. Сентября 2010 :: 17:09
Печать  
Дабы не сломать случайно эту ветку предлагаю все обсуждения перенести в продолжение. А именно сюда.
Надеюсь что это сообщение будет тут последним

Итак: ч.2 - http://www.1cpp.ru/forum/YaBB.pl?num=1285520767
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
mirvel
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 28. Августа 2010
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы...Неудачна
Ответ #1180 - 16. Марта 2011 :: 06:21
Печать  
Вопрос остался открытым....что делать при выводе сообщения ....
Неудачная попытка создания объекта  КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");

на XP нормально работает ПоставщикДАнных а вот на машине свежеустановленную SERVER2003 sp1 не работает...при обновлении до sp2...проблема остается...вылазит ошибка...Неудачная попытка создания объекта  КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");

  • запустил regsvr32.exe vbscript.dll и jvscript.dll

  • обновил server 2003 do sp2

  • поставил уровень безопасности iexplorera на самый низкий уровень...


НЕ ПОМОГАЕТ!!!!

Все Проблема решена после установки Office 2007
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1181 - 19. Марта 2011 :: 19:29
Печать  
ОБРАТИТЕ ВНИМАНИЕ.
Обсуждение класса ведется в теме по данному адресу:
http://www.1cpp.ru/forum/YaBB.pl?num=1285520767/0

Данная ветка рекомендуется только к просмотру, поскольку есть шанс ее разрушения в следствии разростания.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
ReEnter58
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 25. Марта 2011
Re: Класс "ПоставщикДанных" - обсуждения, примеры, вопросы
Ответ #1182 - 19. Апреля 2011 :: 09:00
Печать  
Если есть реквизит ТЗ хранящийся в строке неограниченной длины, то при использовании ПоставщикаДанных.Документы при копировании эти заполнение ТЗ не происходит, т.к. форма уже открыта. Сделал Дополнительный параметр в ПередНачаломДобавления - флаг вызова процедуры Заполнения.

Процедура СкопироватьСтроку() Экспорт
....
....
Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда
           .......
           СтруктураПараметров.Установить("ИВП",-1);
           .....
КонецЕсли
....
Если СтруктураПараметров.Получить("ИВП") = 0 Тогда
           КонтФормы.ПослеВсего();
     КонецЕсли;      
     КонтФормы.Форма.Обновить();
КонецПроцедуры



Процедура ТПТКДПередНачаломДобавления(ТП,Копия,ФСО,ИВП)
     Если Копия = 1 Тогда
           ИВП = 0;
     КонецЕсли;      
КонецПроцедуры

Ив модуле документа есть процедура ПослеВсего() которая заполняет ТЗ из строчек неогр. длины.

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать