Я начал переводить модуль 3,2,5 на БД 2018.
Скачал модуль fix, который выкладывали ранее, что-бы посмотреть на запросы, но обнаружил что он написан не под 2018, а под смесь бд 2018 с 2016, и даже нашёл на рутрекере БД, с которой по идее он должен работать.
Далее скачал описание таблиц 2016 и 2018, и при детальном изучении понял, что просто переписать запросы не получится.
Начал править запросы и компонент под эту бд, т.к. просто запросы из tdquery исправить недостаточно.
На данный момент я смог вывести марки авто из БД 2018, там сложного нет ничего, а вот с моделями я притормозил.
Модуль я глубоко не ковырял до этого.
1. что меня смущает, это фильтр в моделях по годам.
В старой версии есть дата начала производства MOD_PCON_START и конец производства MOD_PCON_END, это разные значения, а в новой это теперь одно значение с и по - constructioninterval.
Соответственно правило теряет смысл.
if($ModYear>0){
$MOD_PCON='AND (MOD_PCON_START<='.$ModYear.'99 AND (MOD_PCON_END>='.$ModYear.'00 OR MOD_PCON_END IS NULL) ) ';
}elseif($ModYear==-1){
$MOD_PCON='';
}else{
if($YearFrom<=0){$YearFrom=TDM_MODELS_FROM;}
$MOD_PCON='AND MOD_PCON_START > '.$YearFrom.'00 ';
2. Что такое MOD_CDS_TEXT ? В описании таблиц 2016 не встречается, значит это данные из модуля.
Буду рад любым подсказкам. За помощь в переводе в дальнейшем выложу нужные файлы.
Скачал модуль fix, который выкладывали ранее, что-бы посмотреть на запросы, но обнаружил что он написан не под 2018, а под смесь бд 2018 с 2016, и даже нашёл на рутрекере БД, с которой по идее он должен работать.
Далее скачал описание таблиц 2016 и 2018, и при детальном изучении понял, что просто переписать запросы не получится.
Начал править запросы и компонент под эту бд, т.к. просто запросы из tdquery исправить недостаточно.
На данный момент я смог вывести марки авто из БД 2018, там сложного нет ничего, а вот с моделями я притормозил.
Модуль я глубоко не ковырял до этого.
1. что меня смущает, это фильтр в моделях по годам.
В старой версии есть дата начала производства MOD_PCON_START и конец производства MOD_PCON_END, это разные значения, а в новой это теперь одно значение с и по - constructioninterval.
Соответственно правило теряет смысл.
if($ModYear>0){
$MOD_PCON='AND (MOD_PCON_START<='.$ModYear.'99 AND (MOD_PCON_END>='.$ModYear.'00 OR MOD_PCON_END IS NULL) ) ';
}elseif($ModYear==-1){
$MOD_PCON='';
}else{
if($YearFrom<=0){$YearFrom=TDM_MODELS_FROM;}
$MOD_PCON='AND MOD_PCON_START > '.$YearFrom.'00 ';
2. Что такое MOD_CDS_TEXT ? В описании таблиц 2016 не встречается, значит это данные из модуля.
Буду рад любым подсказкам. За помощь в переводе в дальнейшем выложу нужные файлы.