Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Ответить
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Сообщение alcompstudio »

Добрый день!

Возникла ошибка, что может быть причиной (никаких действий не выполнялось, процессы, формулы, функции работали в штатном режиме? Внезапно возникла ошибка (просто выполнилось стандартное действие добавления записи)
DB_ERR_1052.jpg
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Сообщение alcompstudio »

В общем, методом тыка нашел отчет в верхнем меню, в котором был настроен фильтр по полю (системному) Дата добавления. Если убрать это поле, то ошибка исчезает (в поле даже просто условие поставить "Фильтр по месяцам: 0
"). Что может быть не так с данным полем? Внезапно без каких-то причин "слетело"...
DB_ERR_1052-2.jpg
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Сообщение support »

Нашел возможную причину и поправил код для 3.6. Откройте файл includes\classes\reports\reports.php найдите следующую строчку

Код: Выделить всё

    
    public static function prepare_dates_sql_filters($filters, $prefix = 'e')
    {
                
        if ($prefix == false)
и if ($prefix == false) замените на: if ($prefix === false)

В результате должно получится так:

Код: Выделить всё

    public static function prepare_dates_sql_filters($filters, $prefix = 'e')
    {
                
        if ($prefix === false)
        {            
            $prefix = '';
        } 
        else
        {            
            $prefix = (strlen($prefix) ? $prefix . '.' : 'e.');
        }
И ошибка должна пропасть. Сообщите результат.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1773
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Сообщение alcompstudio »

support писал(а): 06 окт 2024, 17:55 Нашел возможную причину и поправил код для 3.6. Откройте файл includes\classes\reports\reports.php найдите следующую строчку

Код: Выделить всё

    
    public static function prepare_dates_sql_filters($filters, $prefix = 'e')
    {
                
        if ($prefix == false)
и if ($prefix == false) замените на: if ($prefix === false)

В результате должно получится так:

Код: Выделить всё

    public static function prepare_dates_sql_filters($filters, $prefix = 'e')
    {
                
        if ($prefix === false)
        {            
            $prefix = '';
        } 
        else
        {            
            $prefix = (strlen($prefix) ? $prefix . '.' : 'e.');
        }
И ошибка должна пропасть. Сообщите результат.
Спасибо, код добавлю, но результат с исправлением ошибки пока не могу сообщить, т.к. пришлось удалять отчет и создавать новый. К удивлению новый отчет с теми же настройками (и системным полем Дата добавления в том числе) не показал ошибку. Я подумал, что это может быть какой-то сбой на стороне сервера...
Аватара пользователя
Алексей Г
Сообщения: 44
Зарегистрирован: 05 мар 2024, 11:28
Имя: Алексей Г
Откуда: Москва
Организация: Инженер

Re: Database Error: 1052 - Column 'date_added' in where clause is ambiguous

Сообщение Алексей Г »

ПОдтверждаю, данная ошибка выскакивала когда фильтр по дате добавления, пару раз, потом пропала
Ответить