#0
by Gsoom2010
Добрый день! Вопрос: как из кода HTMLДокумента вызвать процедуру 1С? Нашёл только как из 1С вызвать функцию JavaScript: , но ещё бы понять как из скажем того же JavaScript вызвать процедуру 1С передав в неё данные.
#2
by Юрий Лазаренко
У поля HTML есть событие ПриНажатии. Отлавливай его, смотри кто и с какими параметрами вызвал и запускай соответствующие процедуры. Если процедура 1С должна вызываться не при нажатии на поле HTML, а при других условиях, то попробуй генерить событие onClick яваскриптом (сам так делать не пробовал, но по идее должно сработать).
#3
by Stim
можно нескромный вопрос - почему функцию 1С нельзя выполнить в той среде, все обычно выполняются все функции 1С? из яваскрипт получить параметры и выполнить функцию в модуле?
#6
by Юрий Лазаренко
Да нормально он все делает вроде. Из ХТМЛ дергает базу, получает данные из нее и помещает обратно.
#8
by Stim
нет. насколько я понял, "HTMLДокумент" - это термин и объект 1С, следовательно автор хочет в какой-то обработке, в которой есть поле HTMLДокумента - выполнить код
#9
by Dimasik2007
Я делал так - получал событие onClick (его можно вызвать из js), и парсил ссылку (в которую можно запихать любые свои данные например в base-64 виде) В примере в ссылке есть номер документа, по клику ищу подобные номера в базе и открываю на экран. [/code]
#11
by Dimasik2007
Далее, если нужно чтобы процедура что-то получила и отрисовала на страничке, можно сделать следующее. 1. Сформировать требуемые параметры (например массив цифр). 2. Дергать функцию eval, в которой можно, например, добавлять в массив переменной js добавлять данные. 3. Дергать функцию eval, в которой будет вызваться соответствующая функция скрипта, выполняющая отрисовку или что-то там еще.
#12
by Dimasik2007
Так делал место логиста, когда по клику в карте на метке из 1с подгружались данные о заказе, формировался баллун с описанием и дополнительным функционалом (открыть заказ, перенести заказ, указать водителя и тп).
#13
by Gsoom2010
Я как раз и связываю самописную транспортную базу с Яндексом, мне нужно чтобы при работе с картой вносились изменения в базу (дёргались из JS процедуры 1С с соответствующими параметрами). Вывести точки на карту не вызвало проблем, вызывать из 1С JS процедуры тоже не проблема, а вот из JS вызывать 1С процедуры оказалось люто бешеным делом...
#15
by Gsoom2010
Возможно будет проще понять если опишу конкретную задачу: 1. В обработке получаю адреса по доставкам. 2. Генерится код HTML с точками на Яндекс карте по этим адресам. 3. Из самой обработки можно управлять отображением точек вызывая функции JS. 4. А вот дальше никак: пользователь жмёт на карте на точку, балун открывается и пользователь видит кнопочку "Отменить заявку" и мне нужно по нажатии на эту кнопочку изменить данные в 1С соответственно (вызвать процедуру удаления заявки из 1С).
#16
by Asmody
в JavaScript можно вызвать document.fireEvent, в котором вызвать одно из событий, которое умеет отлавливать 1Ска. данные можно передавать в любом элементе DOM или создавать свой, специально для этого
#18
by Dimasik2007
Это вариант с онкликом, вариант более предпочителен, так как получается нативными средствами вызов разнообразных событий. В моем решение используется фэйковая невидимая гиперссылка, в которую JS скрит записывет текст вызываемого обработчика, потом вызывает ее свойство Клик, обработчик срабатывает в 1С, далее зная текст (в примере генерируется вызов функции), далее "Выполнить" и все, дело в шляпе.
#19
by Dimasik2007
Не видел текста, такое решение предлагаю. Адреса запихиваете в массив, в баллуне на кнопке вешаете обработчик наподобие примере, который будет передавать данные например УДАЛИТЬ, 1023), т.е. удалить заявку № 1023, далее по указанный методе обрабатываете, потом вызываете функцию JS которая найдет и удалит баллун.
#22
by Юрий Лазаренко
Туплю наверное. Чем твой вариант с онкликом по невидимой ссылке хуже fireevent'а, вызванного для этой же ссылки или другого элемента?
#23
by Asmody
да ничем, особо. только онклик будет ловиться при каждом клике на док и надо разруливать то оно или нет, а через fireEvent можно разные события (типа ondataset…) задействовать под разные дела
#25
by Dimasik2007
Тем более, когда клепал, не знал про эту функцию. Велосипеды они такие велосипеды.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- УТ11: можно ли штатно обновить виды запасов при изменении настроек?
- v8: Помогите описать Выражение упорядочивания в СКД
- Отложенный чек в УТ
- Обмен УТ - БП, возвраты в рознице
- Печатная форма в Word (БСП) и параметры страницы
- Перенос всех данных из УПП 1.3.28.1 в Бухгалтерия КОРП 2.0.38.6
- Автоподбор текста как в поисковиках
- Откат ОДНОГО объекта до нужной версии хранилища
- регистры сведений в ут 11
- Как программно добавить колонку в Таб поле формы?
- где хранятся настройки конфигуратора?
- Что за "...Переопределяемый" и "...Дополнительный" в общих модулях?
- v8: В чем различия конфигураций Диетпитания от Школьного питания?
- Не подключается vClient к ESXi
- Установить текст в "Поле ввода"
- УФ неужели нельзя программно сменить группу элемента формы?
- АРМ ФСС - формат файла XML для загрузки реестра БЛ
- ЗУП. Неполная ставка, табель
- Ошибка при отборе в динамическом списке 8.2
- Вложенные СКД