|
Проблема с датой при записи в FireBird | ☑ | ||
---|---|---|---|---|
0
AS_DANCE
15.12.19
✎
19:17
|
Всем добрый день.
Конфигурация самописная, создал внешний источник - база FireBird. Подключился, читаю данные - все отлично. Есть необходимость внести изменения в базу. ВнешниеИсточникиДанных.ВИ.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияMBS); Попытка ВнешниеИсточникиДанных.ВИ.УстановитьСоединение(); Исключение возврат; Сообщить(ОписаниеОшибки()); КонецПопытки; СтрокаВИ = ВнешниеИсточникиДанных.ВИ.Таблицы.COUNTERD.НайтиПоПолю("ID",2); ОбТекстрока = СтрокаВИ.ПолучитьОбъект(); ОбТекстрока.DELTA = 36; ОбТекстрока.Записать(); Выдает ошибку Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: HY000 Номер ошибки: -413 Описание: [ODBC Firebird Driver][Firebird]conversion error from string "2019-11-29 00:00:00" В таблице есть столбец "DELTADATE" и "DELTATIME" с типами дата и время соответственно. Ругается на "DELTADATE" Я ее не исправляю. Пытался ввести в нее любую дату, мучался с форматами типа "ДФ='yyyy.dd.М hh:mm:ss'" - проблема та же. Кроме типа дата ничего не воспринимает ( Создать новую строку тоже не получается из-за этой ошибки. В других таблицах этого внешнего источника все создается отлично. Как записать дату или эту строку чтобы не ругалась ODBC?? |
|||
1
H A D G E H O G s
15.12.19
✎
19:41
|
Назначить правильный тип у реквизита в 1С.
|
|||
2
AS_DANCE
15.12.19
✎
19:44
|
У реквизита DELTADATE тип Дата. поменял на Дата и время, не помогло.
|
|||
3
v77
15.12.19
✎
19:45
|
||||
4
AS_DANCE
15.12.19
✎
19:56
|
(3) а как это 1С объяснить? формат не помог. простое приравнивание - тоже.
|
|||
5
v77
15.12.19
✎
20:02
|
а где там у тебя в коде дата и шо такое 36?
|
|||
6
H A D G E H O G s
15.12.19
✎
20:04
|
(4) Сделай реквизит строкой и тупо запиши в него
"25.12.2016 00:00:00.0000" Если прокатит - просто приводи к такому виду. если прокатит - я бы еще попробовал сделать таблицу необъектной и писать через менеджер записей. И не трогать это поле, просто выбросив его из реквизитов |
|||
7
AS_DANCE
15.12.19
✎
20:16
|
(5) вот в том и дело что в строке я только нахожу строку и еняю там условно 1 значение и записываю
(6) прокатило, просто удалил из внешнего источника колонки которые имели тип Дата и все норм но теперь вылезла другая ошибка Ошибка ODBC. SQLSTATE: HY000 Номер ошибки: -836 Описание: [ODBC Firebird Driver][Firebird]exception 9 E_EDIT_FORBIDDEN Редактирование запрещено At trigger 'UPD_BEF_COUNTERD0' line: 5, col: 31 Я так понимаю на апдейт есть триггер. Из 1С я его никак не увижу? |
|||
8
H A D G E H O G s
15.12.19
✎
20:19
|
(7)
E_EDIT_FORBIDDEN Редактирование запрещено Да, лезьте в огнептицу. |
|||
9
Сияющий в темноте
15.12.19
✎
21:22
|
не знаб,как через внешний источник,но через ADO дата пишется просто,как в VbScript числом double.
Просто,ADO для полей даты возвращает свой тип,который не все стстемы понимают. У меня,например,из php не получилось работать с датами,в итоге,перешел обычным числам,где число дней,не забывая переводить в дату. |
|||
10
Сияющий в темноте
15.12.19
✎
21:23
|
триггеры можно через isql посмотреть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |