1С підприємство 8

  • Курси з програмування в 1С. Детальніше.
  • Курси по "1С: ERP" - виробництво, планування, бюджетування, регл.учет. Детальніше.
  • Підготовка до 1С: Експертові - очно і онлайн. Детальніше.
  • Розрахунок зарплати в "1С: ЗУП 8". Детальніше.
  • Курс по системі компонування даних (СКД). Детальніше.
  • Курси по "1С: Комплексної автоматизації 2". Детальніше.
  • 1С: Документообіг - настройка і адміністрування. Детальніше.

При виборі посилального значення в поле введення іноді виникає необхідність спеціальним чином обробити вибірамемое значення.

Наприклад, в документі, потрібно вибрати постачальника. Але потрібно втрутитися в процес вибору значення і крім посилання на постачальника отримати ще й іншу інформацію про постачальника. Наприклад, його повне найменування та ІПН, які є реквізитами постачальника.

Для того, щоб втрутитися в процес вибору значення використовується подія ОбработкаВибора елемента форми Поле. Ця подія поставляється розширенням поля введення. Оброблювач цієї події має такий синтаксис:

ОбработкаВибора (<Элемент>, <ВыбранноеЗначение>, <СтандартнаяОбработка>).

А на клієнті можливості посилання дуже сильно обмежені. Зокрема, від неї не можна через точку отримати значення реквізитів.

Тому для того, щоб в цій ситуації отримати значення реквізитів посилання, потрібно з цього обробника викликати серверну функцію і в ній отримати необхідні реквізити. Наприклад так:

При цьому слід мати на увазі два моменти:

  • По-перше, для отримання реквізитів використовується неконтекстне серверний виклик (НаСервереБезКонтекста). Це важливо, тому що в цьому обробнику можна використовувати контекстні серверні виклики (НаСервере).
  • По-друге, будь-яке звернення до сервера вимагає додаткових ресурсів системи і може уповільнювати роботу користувача, особливо в разі підключення по низкоскоростному каналу зв'язку. Тому потрібно перш за все уважно оцінити, а чи так необхідно в цьому місці отримувати реквізити посилання або можна обійтися без цього? І якщо потрібно отримувати кілька реквізитів і при цьому використовується якийсь складний алгоритм - потрібно постаратися реалізувати його так, щоб всі необхідні дані отримати за один серверний виклик, повернути їх на клієнта і на клієнті тільки помістити їх в потрібні поля форми, не проводячи жодних -то складних обчислень.

Задати інше питання / Закрити