http-сервис и глобальная переменная

1. kmish 03.12.21 19:26 Сейчас в теме
Добрый день,
у меня есть созданный http-сервис, который выполняет 2 функции.
1й запрос выполняет 1ю функцию, которая создает инициализирует переменную.

Проблема состоит в том, что я не знаю как созданную первой фукцией переменную можно было бы получить,
при выполнении второго запроса внутри второй функции.
Иными словами, как можно глобальную переменную для http-сервиса объявить?

Спасибо.
По теме из базы знаний
Найденные решения
3. ErshKUS 2 03.12.21 20:15 Сейчас в теме
(1) Никак, отдельные запросы (первый и второй), это условно можно считать как отдельные запуски 1С (как будто отдельных два окна предприятия). Поэтому только через базу как предложили. Константа, справочник, регистр сведений (на свой вкус что больше подходит).
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Fox-trot 158 03.12.21 19:51 Сейчас в теме
(1) не пробовал сохранить в базе, например как константу?
starik-2005; +1 Ответить
3. ErshKUS 2 03.12.21 20:15 Сейчас в теме
(1) Никак, отдельные запросы (первый и второй), это условно можно считать как отдельные запуски 1С (как будто отдельных два окна предприятия). Поэтому только через базу как предложили. Константа, справочник, регистр сведений (на свой вкус что больше подходит).
4. kmish 04.12.21 08:03 Сейчас в теме
(3)Благодарю за пояснение.
Дело в том, что моя переменная - это некая коллекция, которую я не могу заполнить одним запросом в силу ограничения длины http-строки, а хранить коллекцию как реквизит - невозможно.
5. ErshKUS 2 04.12.21 10:14 Сейчас в теме
(4) А что за коллекция? может стоит перекроить где то до этой коллекции?
6. ErshKUS 2 04.12.21 10:18 Сейчас в теме
(4) Вообще есть тип ХранилищеЗначения в который можно "упаковывать" что угодно. Например так:
// Упаковка (сохранение в базу)
КакаяТоПеременная = Новый Структура("тест1,тест2", "Строка", Новый Запрос);
УпакованнаяПеременная = Новый ХранилищеЗначения(КакаяТоПеременная);  
Константы.Константа1.Установить(УпакованнаяПеременная);

// Распаковка (извлечение из базы)
ПеременнаяВУпаковке = Константы.Константа1.Получить();
НашаПеременная = ПеременнаяВУпаковке.Получить();
Показать


Но у данного способа есть минус, такие данные запросом уже обработать (сравнить с чем то, сгруппировать и пр.). Поэтому лучше разобраться, и возможно перекроить саму переменную.
7. kmish 04.12.21 11:00 Сейчас в теме
(6) Коллекция вот эта - ДокументОбъект.Движения.Хозрасчетный.
Я не очень силен в типах 1С, поэтому не знаю, что там и как хранится.
Если конкретно, то нужно проводки перенести, а их много. Методом тыка пришли к выводу, что они всегда перезаписываются, а не добавляются, поэтому искал временное хранилище, чтобы добавить в него, а в конце уже сделать операцию с проводками.
НО, в итоге это все не нужно )
Я вчера совершенно забыл, что можно в тело запроса данные упаковать, а не в http-строку. А в теле уж никаких ограничений не будет.
В итоге проблема отпала сама собой, но спасибо за помощь в любом случае :)
Прикрепленные файлы:
8. starik-2005 3036 04.12.21 17:04 Сейчас в теме
В файл запиши свою коллекцию (через ЗначениеВФайл или через сериализацию в XML/JSON), потом читай. Сервис пусть возвратит идентификатор (имя временного файла, например), а потом по этому идентификатору второй вызов восстановит коллекцию...
9. ErshKUS 2 05.12.21 11:26 Сейчас в теме
10. Dr.HiHi 3 05.12.21 20:39 Сейчас в теме
можно через хранилище общих настроек ;))
по ключу можно поместить и получить из любого фонового задания... так что в одном туда что-то помещаем, а из другого получаем ;))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот