Не торопясь переводим бэк с самописки на 1С.
Столкнулись с тем, что 1С не может работать с таблицей signal - дает ошибку. По словам 1С-программистов "запрос формируется автоматически 1С-ом и поставить ` вокруг signal нет возможности". Из-за того, что имя таблицы совпадает с ключевым словом MySQL.
Обошли следующим образом:
на запись создал процедуру:
SQL код:
CREATE DEFINER = 'ВАШ_ПОЛЬЗОВАТЕЛЬ'@'%' PROCEDURE `SaveSignal`(
IN sig_nal CHAR(10),
IN ver_sion BIGINT(11)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
insert into `signal` (`signal`,version) values (sig_nal,ver_sion);
END;
а на чтение - представление (вьюха в терминологии 1С-ников):
SQL код:
CREATE ALGORITHM=UNDEFINED DEFINER=`ВАШ_ПОЛЬЗОВАТЕЛЬ`@`%` SQL SECURITY DEFINER VIEW `sig_nal_view` AS
select
`signal`.`signal` AS `sig_nal`,
`signal`.`version` AS `ver_sion`
from
`signal`;
И все заработало.
З.Ы. Процедуры и представления делал в EMS MySQL Manager-е и синтаксис отдан полностью на его усмотрение. ВАШ_ПОЛЬЗОВАТЕЛЬ - там была моя учетка и на что она влияет - не разбирался. Самое главное у 1С-ников все заработало.
З.З.Ы. Пока писал - в голову пришла мысль что подобное поведение можно регулировать настройками в my.ini Может кто помнит параметр на вскидку?