Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ТабличноеПоле - начинаю вникать (число прочтений - 5513 )
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
ТабличноеПоле - начинаю вникать
23. Ноября 2006 :: 20:18
Печать  
Начинаю вникать в этот элемент управления
Поставвил сам себе задачу сделать обработку похожую на
Расширенный журнал
http://acsent.nm.ru/files/1cpp/extended_journal2.zip
но только для ДБФ, на этом думаю как раз и разобраться в основах

и вот первая проблема, а я даже не пойму где копать

Код
Выбрать все
	Источник = СоздатьОбъект("ODBCDataProvider.VFP");
	База = СоздатьОбъект("ODBCDataBase");

	Источник.БазаДанных = База;

	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source="
			+ КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";

	Источник.БазаДанных.Соединение(Соединение);

	Если Источник.БазаДанных.ЕстьСоединение()=0 Тогда
		Сообщить("БЛИН");
	КонецЕсли;


 



подобный код выдает сообщение "БЛИН"

Анализируя документацию вижу следующее

"Для DBF версии рекомендуется использовать объект “ OLEDBData”"

Переделываю код

Код
Выбрать все
	Источник = СоздатьОбъект("ODBCDataProvider.VFP");
	База = СоздатьОбъект("OLEDBData");

	Источник.БазаДанных = База;

	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source="
			+ КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";

	Источник.БазаДанных.Соединение(Соединение);

	Если Источник.БазаДанных.ЕстьСоединение()=0 Тогда
		Сообщить("БЛИН");
	КонецЕсли;
 


Вижу следующее
{D:\1.ERT(52)}: Недопустимое значение свойства.

Дальше копаюсь в документации
Для ТабличногоПоля Подключение задается объектом ODBCDataBase.

НО помню что Для DBF версии рекомендуется использовать объект “ OLEDBData”

Таким образом у меня получается что для ТабличногоПоля в ДБФ версии я могу использоваать только ПоставщикДаныыхТЗ - а никак не прямые запросы к базе

Где не прав может кто подскажет

P/S/
Естественно у меня стоит НЕмонопольный режим...
1С++ последней ночной сборки - платформа 25

И еще строка Соединение в прямых запросах к справочникам и Регистрам работает коректно - Отчеты формируются без проблем

Как обычно публикую в курилке - так как чувствую что вопрос ламерский и присутствовать в основной теме по прямым запросом видимо не может
Да и здесь мне как вроде ответили, а в основной теме не очень

Заранее спасибо

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

1.ert ( 25 KB | Загрузки )

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #1 - 23. Ноября 2006 :: 20:30
Печать  
Да и еще

Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source="
                 + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";

Я грешу только на эту строку
Объект ODBC а Provider=VFPOLEDB.1

Вот сейчас активно и ищу где почитать про строки подключения

Нашел пока следующее

Database container (.DBC):

"Driver={Microsoft Visual FoxPro L=NO;DELETED=NO;BACKGROUNDFETCH=NO"

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

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: ТабличноеПоле - начинаю вникать
Ответ #2 - 23. Ноября 2006 :: 20:51
Печать  
Код
Выбрать все
	Каталог=?(Прав(КаталогИБ(), 1)= "\", Лев(КаталогИБ(), СтрДлина(КаталогИБ())-1), КаталогИБ());
	СтрокаСоединения="DRIVER=Microsoft Visual FoxPro ceType=DBF;SourceDB="+Каталог;
	тпЖурнал.ПоставщикДанных=СоздатьОбъект("ODBCDataProvider.VFP");
	тпЖурнал.ПоставщикДанных.БазаДанных=СоздатьОбъект("ODBCDatabase");
	тпЖурнал.ПоставщикДанных.БазаДанных.Соединение(СтрокаСоединения);
	тпЖурнал.ПоставщикДанных.УстТекстЗапроса(СформироватьТекстЗапроса());
	тпЖурнал.ПоставщикДанных.УстКлючПорядка("Док");
	тпЖурнал.ПоставщикДанных.УстИДПоле("Док");
	тпЖурнал.ТаймаутОбновления=5;

 



Драйвер vfpoledb.exe 9.0
  
Наверх
wwwICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #3 - 23. Ноября 2006 :: 21:03
Печать  
Заработало  Смущённый
Неужели дело было только в строке подключения???

Спасибо...... то есть Thanks

А если сделаю по нормальному клятвенно обязуюсь выложить сюда
Видел что многие хотят поиметь журнал для ДБФ
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: ТабличноеПоле - начинаю вникать
Ответ #4 - 23. Ноября 2006 :: 21:17
Печать  
Впринципе могу поделится наработками Улыбка делал как то данный журнал недавеча (даже работает Улыбка), но времени совсем не стало вот пока и забросил....
  
Наверх
wwwICQ  
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: ТабличноеПоле - начинаю вникать
Ответ #5 - 24. Ноября 2006 :: 05:29
Печать  
lustin писал(а) 23. Ноября 2006 :: 21:03:
Заработало  Смущённый
Неужели дело было только в строке подключения???

Набегами то же пытаюсь это дело сделать, но наткнулся на следующие ограничения:
Как обойти Case->When
Решил через IIF(бла=бла,,) но тут ограничение в 7 IFF(
Дальше наткнулся(делал для  Бух) на такую вещь. Если документ принадлежит другому журналу, а его реквизиты учитываются в в том который обрабатываешь, то выдает ошибку...
Следующий ворос то же пока в режиме иследований: COALESCE(
не работает как не бился(может руки кривые).. да и судя по MSDN и не должна...
Вобщем пока выдает пустую форму  Плачущий но уже не ругается..
Но в целом занимаюсь только набегами.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #6 - 24. Ноября 2006 :: 08:14
Печать  
lustin писал(а) 23. Ноября 2006 :: 20:18:
Таким образом у меня получается что для ТабличногоПоля в ДБФ версии я могу использоваать только ПоставщикДаныыхТЗ - а никак не прямые запросы к базе

Для ТабличногоПоля в ДБФ версии ты можешь использовать поставщики данных ТЗ и ОДБЦ, что реально ограничивает возможности Печаль
А поставщика данных для ОлеДБДата пока нет Печаль
Нету пока разработчика этой темы.
А spock, автор ОлеДБДата, видимо, Табличным полем не пользуется Улыбка

Вот поэтому у тебя и выдавались разнообразные ошибки.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #7 - 24. Ноября 2006 :: 08:20
Печать  
Такого поставщика данных действительно нет.
Автор oledbdata табличным полем пользуется, а вот, что такое DBF уже забыл Улыбка
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #8 - 24. Ноября 2006 :: 08:28
Печать  
В качестве печального итога - сейчас фактически нет разработчиков 1С++, которые используют прямые запросы для ДБФ Печаль
Соответственно это направление затухает Печаль

Так что ждем новых разработчиков по этому направлению
Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #9 - 24. Ноября 2006 :: 08:42
Печать  
Что возможности для ДБФ ограничены уже заметил
Хотя бы читабельностью кода запроса к примеру

На данный момент сделал - формирование граф журнала в зависимости от выбранного вида журнала - сейчас если честно бьюсь над типизацией полей - в некоторых случаях (зависимости пока не уловил - видимо что то в запросе) показывает значение из таблицы ДБФ а не ее представление

все таки  поставщик данных OLEDBData  было бы неплохо - единый объект доступа к базе данных формата ДБФ (хотя видимо ТабличноеПоле делалось изначально под  ODBC) - но я еще думаю не дорос до советов и предложений - надо в текущем функционале разобраться а потом уже буду предложения выдвигать

А нассчет разработчиков под ДБФ - некоторое количество все же появляется в регионах - куда все прелести SQL баз а также 1С 8.0 очень туго доходят - зато задачи для решения сродни общероссийским




  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #10 - 04. Декабря 2006 :: 20:31
Печать  
Продолжая делать нечто универсальное уяснил для себя...

1. Очень много занимаясь стандартными методами программирования 1С почти забыл то чем занимался в институте и после него, а конкретно SQl, VBScript, да и вообще ООП - это ж скока времени я двигался не в том направлении Печаль

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

3. 2noprogrammer - сталкиваясь с очередной проблемой пытаюсь разобраться и рыться в документации и анализируя форум, , так что до версии для показа пройдет время - учитывая что данным вопросом я все-таки занимаюсь вечерами и в свободное время, но доделаю вышлю обязательно -  Улыбка

4. пока делаю периодически пользуюсь интернетом  - нашел нечто подобное по адрессу
http://infostart.ru/projects/656/

Вопросы которые хочу решить в дальнейшем:
1. Динамическая панель инструментов журнала, очень хочется сделать СВОЮ панель инструментов для журнала, с картинками желательно тоже своими - может реализовать классом ПанельИнструментов, или MSToolBar - пока не решил..
Сделал на данный момент класс ПанельИнструментов куда зашил набор кнопок причем нескольких размеров, остается теепрь его Динамически присоединять к основной форме
2. При обновлении проверять (анализировать) только измененные данные с предыдущего запроса к поставщику данных, не лопатя все таблицы по новой
3. Разобраться почему у меня при создании дополнительных классов, а также при обращении к их методам активируется их форма (Оказывается такое дело проявляется при влюченном методе Отладка в параметрах 1С++)
4. Динамическая настройка визуального отображения графы журнала в зависимости от значения реквизита = то есть чтобы пользователь мог задать слияние двух ( или более?)  реквизитов поставщика в одну графу = к примеру в документе перемещение есть реквизит Склад и СкладПолучатель, а в остальных документах только Склад = пользователь указав слияние получает в итоге в графе Склад в документе перемещение  Визуальное отбражение "Склад1 - Склад2".
5. Реализовать эмуляцию ВСЕХ клавиш стандартного журнала.

P/S/ Все таки 1С++ вещь..... Улыбка

« Последняя редакция: 04. Декабря 2006 :: 23:12 - lustin »  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #11 - 05. Декабря 2006 :: 07:20
Печать  
Обычную панель инструментов 1С можно сделать с помощью ВК RWidjets - поищи в соседних ветках в этом разделе.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле - начинаю вникать
Ответ #12 - 05. Декабря 2006 :: 07:22
Печать  
artbear писал(а) 24. Ноября 2006 :: 08:28:
В качестве печального итога - сейчас фактически нет разработчиков 1С++, которые используют прямые запросы для ДБФ Печаль
Соответственно это направление затухает Печаль

Так что ждем новых разработчиков по этому направлению
Улыбка


Подразумевается, что практически нет разработчиков внутренностей 1С++, которые работают с исходниками 1С++ на языке МС ВС++ Печаль
Кирилл (spock - OLEDBdata) и тот ушел на Скуль Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать