@nurasyl
Fullstack разработчик

Как в 1C обрабатывать данные на стороне сервера?

Привет всем!
Я новичок в 1C программировании.

Как на стороне сервера обрабатывать входящих данных и записывать в базу данных?

Например на стороне клиента можно так:
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	Объект.Наименование = СокрЛП(Объект.Наименование); // Это позволяет обрабатывать и записать в базу данных, только обработка происходит на стороне сервера.
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	// Здесь я хочу обрабатывать данные и записывать.

	Объект.Наименование = СокрЛП(Объект.Наименование); // Это ничего не делает, не обновляет поле формы и не внесет изменения в базе данных.
КонецПроцедуры


Меня волнует вопрос безопасности, обработка данных на стороне сервера безопаснее.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@Dementor
программист
Это ничего не делает, не обновляет поле формы и не внесет изменения в базе данных
На самом деле обновляет, но от этого нет толку, так как данные из реквизита формы с именем "Объект" уже перенесены в реальный объект, который в процедуре ПередЗаписьюНаСервере() доступен под именем "ТекущийОбъект". После завершения транзакции записи происходит чтение из базы в реквизит на форме и все актуализируется (так как кроме серверных процедур формы объект перед записью может быть изменен в процедурах модуля своего объекта и в подписках на событие записи). Если нет 10 минут на чтение главы в учебнике по работе с объектами, то хотя бы прочитайте описание используемых процедур в Синтаксис-Помощнике (установите курсор на имя процедуры и нажмите Ctrl+F1).

Меня волнует вопрос безопасности, обработка данных на стороне сервера безопаснее.
Это лютый бред. Если у вас нет прав на доступ к данным, то вы их не получите ни на сервере, ни на клиенте. Если у вас есть админские права на SQL-сервер, то шифрование канала клиент-сервера и все ограничения по правам доступа - просто пшик.

Опытный программист могут написать свою клиентскую приложению с целью взлома
Максимум на что способен ваш хакер - это сделать инъекции кода в веб-клиент 1С, но для работы с сервером ему все равно нужно будет иметь логин/пароль и все что он сможет сделать с пропатченого клиента все равно будет ограничено на сервере настройками прав и профилей безопасности. А если у него есть нужные права, то и патчить ничего не нужно.

Я хочу получить данные с клиента и обрабатывать его на стороне сервера.
Все так и происходит. На клиенте делается работа с видимость/доступностью элементов формы и примитивные вычисления в духе "если покупаете 5 ручек по 100 рублей, то с вас 500 рублей".
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
nki
@nki
Автоматизация бизнес-процессов.
Для определения "места" выполнения кода есть директивы НаКлиенте, НаСервере, НаСервереБезКонтекста. Разберитесь с ними и поймете как выполнять обработку на сервере.
Меня волнует вопрос безопасности, обработка данных на стороне сервера безопаснее.

Почему вы так решили?
Ответ написан
fosihas
@fosihas
Автоматизации учета на 1С.
Безопастней что...?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bestceramic.ru Москва
от 80 000 до 110 000 ₽
от 90 000 до 120 000 ₽
Экспресс Точка Ру Санкт-Петербург
от 120 000 ₽
24 окт. 2020, в 20:39
2000 руб./за проект
24 окт. 2020, в 20:39
2000 руб./за проект