8.х Клиент-сервер передача данных

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TerANik, 12 янв 2017.

  1. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Доброго времени суток друзья.

    Очередной вопрос по клиент серверному взаимодействию
    Хотел бы уточнить правильно ли я вижу структуру процедур и функций.
    Описание задачи:
    На форме вводится номер телефона покупателя и по нему ищется покупатель, варианта может быть 3:
    1) Найден один покупатель и его необходимо подставить в заказ автоматически
    2) Найдено несколько покупателей с таким номером, необходимо сформировать таблицу значений и вывести продавцу для выбора(Таблица потому что необходимо показать ещё дату рождения для идентификации)
    3) Не найден покупатель, необходимо открыть форму для создания нового.
    Как вижу структуру процедур и функций:
    1) ПоискКлиента(на клиенте) - процедура клиента
    2) ПоискКлиента(на сервере) - функция на сервере , в которую передаём номер и в ней осуществляем поиск. Функция на клиент возвращает значение типа структура, в которой либо клиент, либо ТЗ клиентов, либо неопределенно.

    Вот здесь возникает вопрос, изначально 2 было процедурой, но на сервере нельзя открыть выбор из ТЗ, правильна ли такая моя логика? А уже в первой процедуре которая на клиенте я либо открываю выбор из ТЗ либо открываю новую форму для создания либо подставляю значение? Т.е. основной вопрос правильна ли передача данных с сервера на клиент? Или не через структуру? Заранее прошу прощения что много воды, можно было бы меньше написать).
  2. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    Добавь реквизит формы типа ТЗ и все будет в шоколаде.
  3. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Ну у меня не всегда может быть ТЗ, я же описал 3 варианта
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.890
    Симпатии:
    1.030
    Баллы:
    204
    Всегда, Саш :)
    Если ТЗ имеет не одну строку - предлагаешь выбор.
    Если ТЗ не имеет строк - открываешь форму создания нового
    Если ТЗ имеет 1 строку - выводишь без вопросов.
    TerANik нравится это.
  5. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Ну ладно тут соглашусь, но есть ли смысл и оптимальное ли это решение? Т.е. этот вариант оптимальней моего?)
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.890
    Симпатии:
    1.030
    Баллы:
    204
    Оптимальнее как минимум тем, что не нужно городить обработку разных типов значений :)
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104
    Почему ТЗ а не список значений?
  8. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Потому что если находит двух покупателей , то для однозначной идентификации используются два поля ФИО и ДатаРождения.
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104
    И?
    Что мешает сформировать соответствующее представление элемента Списка значений?
    Sert и TerANik нравится это.
  10. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    :D молчу
  11. Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    396
    Симпатии:
    12
    Баллы:
    29
    И тут вопрос на засыпку. Чёт я запамятовал. А ТЗ и СЗ передаются ли между клиентом и сервером? Ну без танцев с бубнами...
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    А там нет бубна. РеквизитФормыВЗначение() ЗначениеВРеквизитФормы()
  13. Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    396
    Симпатии:
    12
    Баллы:
    29
    Ну это если это реквизит формы. А если это просто переменная?
    --- Объединение сообщений, 18 янв 2017 ---
    В смысле параметр функции или возвращаемое функцией значение.
  14. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    А откуда у вас ТЗ или СЗ на клиенте? из каких данных вы их сформировали? Смысл их формировать на клиенет, если можно на сервере?
  15. Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    396
    Симпатии:
    12
    Баллы:
    29
    Ну если я правильно понял, то функция сервера формирует список/таблицу с покупателями, и клиент должен реагировать на размер списка (1 - подстановка, 0 - создание иначе выбор). Получается, что "список" этот нужно передать клиенту на дальнейшую обработку.
  16. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54
    Ну так ответ же дан был, сделать у формы реквизит и его сразу заполнять на сервере и на клиенте он тоже доступен.
  17. Sert
    Offline

    Sert Опытный в 1С

    Регистрация:
    4 фев 2011
    Сообщения:
    396
    Симпатии:
    12
    Баллы:
    29
    Ну и ладно. :) Я просто не люблю создавать объекты метаданных для решения алгоритмических задач, заменяя ими переменные и/или параметры функций и процедур. Тут бы я замутил (точнее у меня готовые есть) функции преобразования ТЗ в массив структур и обратно (если это потребуется). А ещё точнее, тут ИМХО можно без проблем использовать сразу массив или массив структур, потому как никакие функции ТЗ не требуются и его передавать с сервера на клиента, не заводя никаких реквизитов формы. Но это чисто ИМХО. На вкус и цвет все фломастеры разные :)
  18. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    В вашем ответе есть логика, но она не для 1С, скорее больше для ООП