Переключение на Главную Страницу Страницы: 1 ... 68 69 [70] 71 72 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 379427 )
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1035 - 11. Января 2014 :: 13:45
Печать  
Подскажите пожалуйста.
Как в ПД.Документы при откытии формы установить период выборкы документов.
А воопшето вопрос пошире : Хочу сделать на одной форме три табличних поля.В первой таблице документы вида "ххх", вот тут то и надо при открытии ставить период текущий месяц.Во второй  таблице - документы подчиненные текущему доку из первой с фильтром на ВидДокумента.Третья табл. аналог второй ,только разница в видах документа.Табл. 2 и 3 будут обновляться при активации строк первой таблицы.

Как это правильно сделать?
Использовать ПД.Документы или ПД.ИндексированнаяТаблица?
Как сделать условие чтоб отображались только подчиненные документы?
Может так :
.
.
И (ТекущийОбъект В ("ВЫБРАТЬ
     |      ПодчДок.ТекущийДокумент КАК [ДокКалк $Документ]
     |,      ПодчДок.ВидДокумента КАК ДокКалк_вид
     |ИЗ
     |      $ПодчиненныеДокументы.Потомки(:ВыбДокумент,:НачПериода, :КонПериода~) КАК ПодчДок
     |      "))

.


Может вопросы мелкие, но для начинающего они становяться камнями...

Хотельсь бы увидеть серьезные решение на базе ПоставщикаДанных и ПрямойЗапрос для изучение и наглядности работи с данными КОП. Понимаю что на форуме примеров много, но часто не находиться нужная тема.
  
Наверх
 
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1036 - 13. Января 2014 :: 10:00
Печать  
Еще вопросик :
Есть поставщик данных документы с заказами клиентов. Нужно при открытии утановить период = ТекущийМесяц().
Можна ли добавить свою колонку типа строка и заполнять ее по условию : в процессе, отгружен,анулирован.
  
Наверх
 
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1037 - 13. Января 2014 :: 10:48
Печать  
Можно ли програмно управлять положением колонок ТП? (0 - новая колонка; 1 - в той же колонке; 2 - на следующей строке)
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1038 - 13. Января 2014 :: 11:16
Печать  
Alexx_S писал(а) 13. Января 2014 :: 10:48:
Можно ли програмно управлять положением колонок ТП? (0 - новая колонка; 1 - в той же колонке; 2 - на следующей строке)


http://www.1cpp.ru/docum/icpp/html/TableField.html#location
  
Наверх
 
IP записан
 
andy3626603
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 09. Августа 2012
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1039 - 16. Января 2014 :: 11:44
Печать  
barbitura писал(а) 04. Января 2014 :: 08:27:
andy3626603 писал(а) 31. Декабря 2013 :: 08:40:
После обновления на последнюю версию, появилась ошибка в классе при создании объекта ВидыСравнения... Пришлось вернуться на старую версию, но в ней нет атрибута ПозиционныйБыстрыйПоиск, который очень нужен Печаль


Надо просто писать ВидыСравнения = СоздатьОбъект("ВидыСравнения");


Вот именно на это и ругается. Причем не в моей обработке, а в самом классе.

ПоставщикДанных.Сервис::Конструктор() : Неудачная попытка создания объекта
ВидыСравнения = СоздатьОбъект("ВидыСравнения");
0) }

И еще: в старой версии поставщика, все работает, но настройка списка не работает. При открытии формы настройки не перехватывается реквизит кнопка.

P.S. Версия 1с++ 3.2.4.1
« Последняя редакция: 16. Января 2014 :: 13:11 - andy3626603 »  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1040 - 16. Января 2014 :: 17:41
Печать  
andy3626603 писал(а) 16. Января 2014 :: 11:44:
barbitura писал(а) 04. Января 2014 :: 08:27:
andy3626603 писал(а) 31. Декабря 2013 :: 08:40:
После обновления на последнюю версию, появилась ошибка в классе при создании объекта ВидыСравнения... Пришлось вернуться на старую версию, но в ней нет атрибута ПозиционныйБыстрыйПоиск, который очень нужен Печаль


Надо просто писать ВидыСравнения = СоздатьОбъект("ВидыСравнения");


Вот именно на это и ругается. Причем не в моей обработке, а в самом классе.

ПоставщикДанных.Сервис::Конструктор() : Неудачная попытка создания объекта
ВидыСравнения = СоздатьОбъект("ВидыСравнения");
0) }

И еще: в старой версии поставщика, все работает, но настройка списка не работает. При открытии формы настройки не перехватывается реквизит кнопка.

P.S. Версия 1с++ 3.2.4.1


Проверь офис. можешь выше посмотреть там писали про этои.

Насчет Видов сравнения сравнения проверил все работает СоздатьОбъект("ВидыСравнения").

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1041 - 19. Января 2014 :: 21:46
Печать  
2 andy3626603. Проверь состав классов причем не только в папке поставщика, но и в папке объекты v8.
2 Alexx_s колонка добавляется посредством метода добавить колонку данных (ну или как то так). Причем если запросом вычислить не можешь тогда текст запроса пустой указывай, а при выводе строки сам вычисляй значение и устанавливай через оформление ячейки.
  

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


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1042 - 22. Января 2014 :: 09:23
Печать  
А как перенести поле отбора в группу?
И можно ли как нибудь сохранить поля отбора и группы?
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1043 - 29. Января 2014 :: 06:35
Печать  
Исключение при обработке события Выбор()!
Исключение при обработке события ПриРедактированииЗначения()!
Исключение при обработке события Выбор()!
Выполнить процедуру 'КоманднаяПанельПриНажатии' не удалось. Обратитесь пожалуйста к разработчикам.
Выполнить процедуру 'КоманднаяПанельПриНажатии' не удалось. Обратитесь пожалуйста к разработчикам.
ПоставщикДанных.ТабличноеПоле::КоманднаяПанельПриНажатии(Строка ИмяМетода=ИзменитьСтроку, СписокЗначений Параметры=) : ПоставщикДанных.ТабличноеПоле::ИзменитьСтроку() : ПоставщикДанных.СписокЗначений::ИзменитьСтроку() : Значение не представляет агрегатный объект
КонтекстФормы.РедактированиеТП.ВыборГруппы(ВыборГруппы);
чений.ert(414) }

вирт().ИзменитьСтроку();
Поле.ert(598) }

ВыполняемыйМодуль.ВыполнитьПроцедуруКонтекста(я(),ИмяМетода,Параметры);
Поле.ert(793)


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


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1044 - 03. Февраля 2014 :: 14:26
Печать  
alyuev писал(а) 09. Декабря 2013 :: 09:06:
Обрати внимание на выделенное. Это просто переменная. Ей присваивается значение =1. А на выходе она уже равна 5!

И так - с любой переменной! Т.е. число 1 подменяется на 5. Везде.

Я тоже нарывался на подобный прикол. Помню делал табличную часть на основе Поставщик.ДеревоЗначений. Так вот после некоторого безобидного на вид действия (кажется при установке варианта Отображения, жаль не помню точно) функция
Код
Выбрать все
Шаблон("[3]") 

начинала выдавать не 3, а 1! (или тоже 5 - не помню). Я был просто в ах$е шоке Ужас когда чисто случайно заметил . Причем врала только тройка. Вот такая арифметика Плачущий
Так что, друзья, будьте морально готовы к подобным сюрпризам.
  
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1045 - 11. Февраля 2014 :: 16:02
Печать  
Alexx_S писал(а) 11. Января 2014 :: 13:45:
Как в ПД.Документы при откытии формы установить период выборкы документов...

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


Цитата:
Как сделать условие чтоб отображались только подчиненные документы?
Может так :

Можно и так. Только не факт, что новый документ, введенный в таблицу 2-3, будет подчинен выбранному в первой, если об этом не позаботиться. Впрочем, это "мелкие вопросы"... Подмигивание
  
Наверх
GTalkICQ  
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1046 - 12. Февраля 2014 :: 08:38
Печать  
Спасибо за ответы. А как решить проблему с фокусом ТП. На форме есть 3 табличных поля поставщика.документы, 1-е список доков, 2-е и 3-е подчиненные доки к активной строке 1-го разных Вид()-ов . ПриАктивизацииСтроки первого ТП обновляю остальные.При этом фокус становиться на последней обновившейся ПД.ТП . Суть в том что хочу листать первый ТП калавишами вверх вниз. Проблема обсуждалась на форуме , но может есть красивое решение или можно управлять текущим фокусом.Пробовал Активизировать("ЭУ_ТП") - не срабатывает.Извините за много букв Улыбка
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1047 - 12. Февраля 2014 :: 10:02
Печать  
Alexx_S писал(а) 12. Февраля 2014 :: 08:38:
...Пробовал Активизировать("ЭУ_ТП") - не срабатывает...

Вообще-то должно. Подтверждение - успешная активизация последнего обновившегося ТП. Именно так (через Активизировать) и активизируется ТП в самом классе.
Код
Выбрать все
Процедура Активизировать() Экспорт
	Попытка КонтекстФормы.Активизировать(Идентификатор,1); Исключение КонецПопытки;
КонецПроцедуры // Активизировать 


Уверен, что активизируешь после вызова Обновить() табличек 2 и 3? "ЭУ_ТП" - правильный идентификатор кнопки под табличкой 1?
  
Наверх
GTalkICQ  
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1048 - 12. Февраля 2014 :: 10:11
Печать  
"ЭУ_ТП" - правильный идентификатор кнопки под табличкой 1 .
Активизирую после вызова Обновить() - а в какой момент нужно вызывать Активизировать?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1049 - 12. Февраля 2014 :: 10:34
Печать  
На сколько я помню тонкости Табличного поля, то надо не просто "после вызова Обновить()", а по окончании всех событий во всех подчиненных полях. Иначе поле, которое еще отрабатывает события будет "самым активным".
Проверить - достаточно легко: сделать процедуру, которая будет писать в лог-файл все события от всех полей, и смотреть - есть ли еще события после того, как мы вызвали "Обновить()" и активировали нужное ТП.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 68 69 [70] 71 72 ... 81
ОтправитьПечать