Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Создание своих индексов по таблице документов, глюки с IDDOC при записи. (число прочтений - 6776 )
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #15 - 09. Сентября 2010 :: 11:09
Печать  
pvase писал(а) 09. Сентября 2010 :: 10:47:
Почему берет не IDDOC а другое поле - скорее всего можно понять только используя дизасемблер, просто анализ Bkend.dll не дал возможности обнаружить где происходит подмена.
Ясно одно, 1С-ка не может работать с таблицами DH где больше одного индекса.
Или же использовать составной индекс и вторым полем пихать IDDOC, тогда поле будет уникальным и тогда 1С-ка будет использовать аткое условие:
Код
Выбрать все
where  IDDOC=@P34 and SP2312=@P35 


Бред конечно, но как временное решение проходит, но все же проблема есть.

как это проходит
когда у тебя @P34 = 'аванс 7800'
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #16 - 09. Сентября 2010 :: 11:23
Печать  
Z1 писал(а) 09. Сентября 2010 :: 11:09:
как это проходит
когда у тебя @P34 = 'аванс 7800'


Для упрощения я не приводил второй запрос полностью, во втором случае @P34 = '  IZ2C   '
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #17 - 09. Сентября 2010 :: 11:44
Печать  
pvase писал(а) 09. Сентября 2010 :: 11:23:
Z1 писал(а) 09. Сентября 2010 :: 11:09:
как это проходит
когда у тебя @P34 = 'аванс 7800'


Для упрощения я не приводил второй запрос полностью, во втором случае @P34 = '  IZ2C   '

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

или вместо SP2312 там тоже нечто другое ?
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #18 - 09. Сентября 2010 :: 12:31
Печать  
Z1 писал(а) 09. Сентября 2010 :: 11:44:
да не может такого быть потому что 1с идентефикаторы ( реквизиты документов ) нумерует последовательно.

или вместо SP2312 там тоже нечто другое ?


Не помню, запрос я уже удалил, вопрос не в том. 1С строго делает апдейт с условием по полям нового индекса, вот в этом проблема.
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #19 - 09. Сентября 2010 :: 12:36
Печать  
Выкладывай здесь свой файл dds
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #20 - 09. Сентября 2010 :: 13:35
Печать  
Выкладываю рабочий (с индексами включая IDDOC)
  

1Cv7dds.zip ( 73 KB | Загрузки )
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #21 - 09. Сентября 2010 :: 13:41
Печать  
Дополнительные индексы ставь после основных а наоборот
т.е вместо

#Доп. индекс Документ.Счет
I=IX_1SSH_CONTR                  |IX_1SSH_CONTR |1     |SP2312,IDDOC                                                |0          
I=IX_1SSH_MANAG                  |IX_1SSH_MANAG |1     |SP17145,IDDOC                                               |0          
#----Indexes------
# Name                           |Descr         |Unique|Indexed fields                                              |Type      
I=PK_DH2337                      |of IDDOC      |1     |IDDOC                                                       |1          



надо

#----Indexes------
# Name                           |Descr         |Unique|Indexed fields                                              |Type      
I=PK_DH2337                      |of IDDOC      |1     |IDDOC                                                       |1          
#Доп. индекс Документ.Счет
I=IX_1SSH_CONTR                  |IX_1SSH_CONTR |1     |SP2312,IDDOC                                                |0          
I=IX_1SSH_MANAG                  |IX_1SSH_MANAG |1     |SP17145,IDDOC                                               |0          


PS  это естественно для всех документов а не только для одного.
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #22 - 09. Сентября 2010 :: 13:50
Печать  
Спасибо, но как, если у меня индексы вносятся через 1cv7.ddx?
  

1cv7ddx.zip ( 0 KB | Загрузки )
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #23 - 09. Сентября 2010 :: 14:08
Печать  
пост #22 мне не очень понятен.
ты 21 или подтверди или опровергни.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #24 - 09. Сентября 2010 :: 17:38
Печать  
pvase писал(а) 09. Сентября 2010 :: 13:50:
Спасибо, но как, если у меня индексы вносятся через 1cv7.ddx?

доработать ExtDD.vbs
не?
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #25 - 09. Сентября 2010 :: 17:42
Печать  
или поискать готовое решение. например:
http://www.1cpp.ru/forum/YaBB.pl?num=1188387114/11#11
  

1&&2&&3
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #26 - 09. Сентября 2010 :: 18:50
Печать  
Z1 писал(а) 09. Сентября 2010 :: 14:08:
пост #22 мне не очень понятен.
ты 21 или подтверди или опровергни.

Извините, не мог раньше ответить. Помогло, если первым идет стандартный индекс, то все Ok. Видимо 1С просто берет из DDS первый индекс и по нему делает UPDATE, оно и понятно, ведь по умолчанию индекс то только один.
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #27 - 09. Сентября 2010 :: 19:21
Печать  
trad писал(а) 09. Сентября 2010 :: 17:42:
или поискать готовое решение. например:
http://www.1cpp.ru/forum/YaBB.pl?num=1188387114/11#11


Спасибо, помогло, вспомнил заодно свой пост, где столкнулся с подобной проблемой, правда там результат был другой.
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #28 - 16. Сентября 2010 :: 06:04
Печать  
(pvase) Я тут подумал а что если вместо дополнительного индекса использовать индексированное представление ( конечно если версия sql позволяет )
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание своих индексов по таблице документов, глюки с IDDOC при записи.
Ответ #29 - 16. Сентября 2010 :: 11:23
Печать  
Z1 писал(а) 16. Сентября 2010 :: 06:04:
(pvase) Я тут подумал а что если вместо дополнительного индекса использовать индексированное представление ( конечно если версия sql позволяет )


Идея хорошая (позволяет SQL 2008), но надо тестировать, насколько это будет производительнее чем стандартный индекс по таблице. К тому же есть еще одно предложение, разделить таблицы, на 1С-кую (оставить только родные реквизиты 1С, ДатаДок, НомерДок) + свою, в ней все остальные реквизиты (правда придеться по-программировать с записью элементов). В такой схеме можно разделить данные, также упростить формы списка элементов (если использовать родные формы списка а не ТабличноеПоле).
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать