Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

1C, Стандартный импорт 4, таблица signal - не дружат. Решение ниже : УКМ-4

24.11.2024 15:18


13.08.2015 09:36
Не торопясь переводим бэк с самописки на 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 Может кто помнит параметр на вскидку?
Часовой пояс GMT +3, время: 15:18.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.