Вопрос № 94120: Доброе время суток!
У меня такой вопрос. 1С 77. Конф. ЗиК сетевая. 4 пользователя.
Есть отчет. На форме отчета Таблица значений.
Пользователь сохраняет Таблицу при помощи функции СохранитьЗначение().
Потом при повторном открытии вос...
Вопрос № 94.120
Доброе время суток!
У меня такой вопрос. 1С 77. Конф. ЗиК сетевая. 4 пользователя.
Есть отчет. На форме отчета Таблица значений.
Пользователь сохраняет Таблицу при помощи функции СохранитьЗначение().
Потом при повторном открытии восстанавливает ТЗ функцией ВосстановитьЗначение().
Проблема в том, что другой пользователь не может восстановить таблицу (1 забил данный, сохранил; 2 открыл отчет - ТЗ пустая)
Пробовал сохранять-восстанавливать функциями ЗначениеВФайл() ЗначениеИзФайла() выдает ошибку "Ваше приложение .... будет закрыто... и т.д."
Может есть какие-то другие варианты?
Заранее благодарю. Виталий.
Отправлен: 06.07.2007, 07:29
Вопрос задал: _vit9791 (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: DERL.KG
Здравствуйте, _vit9791!
Вариант с СохранитьЗначение() и ВосстановитьЗначение() не работает поскольку настройка сохраняется только для текущего пользователя, другой пользователь не может открыть эту же настройку. Но можно скопировать файл настройки (*.prm) в каталог нужного пользователя.
Также вместо ЗначениеВФайл() ЗначениеИзФайла() можно сохранять значения ТЗ в DBF таблицу.
Удачи!
Ответ отправил: DERL.KG (статус: 4-ый класс)
Ответ отправлен: 06.07.2007, 07:41 Оценка за ответ: 5 Комментарий оценки: Вариант с копированием не подходит По поводу DBF - возможно так и сделаю Спасибо
Отвечает: Владимир Лазурко
Здравствуйте, _vit9791!
Вы пошли правильным путём - сохранять настройки в отдельный файл, чтобы другие пользователи могли его открыть. Я свою проблему решил так: ТаблицуЗначений построчно перегружаю в СписокЗначений, который и сохраняю в текстовый файл. При загрузке из файла проделываю всё в обратном порядке - из списка в ТЗ. У меня реализована выгрузка документа и используется обработка открытия файла. Имя файла для упрощения жизни продавцов формируется в комментарий документа при выгрузке/загрузке нового.
Приложение:
Ответ отправил: Владимир Лазурко (статус: 9-ый класс)
Ответ отправлен: 06.07.2007, 07:59 Оценка за ответ: 5 Комментарий оценки: Вариант хороший. Спасибо.
Отвечает: Nikakoy
Здравствуйте, _vit9791!
у меня такая ошибка вываливается при попытке использования формата в функции значениевфайл(), без этого параметра все нормально отрабатывает.
Ответ отправил: Nikakoy (статус: 1-ый класс)
Ответ отправлен: 06.07.2007, 11:15 Оценка за ответ: 4 Комментарий оценки: формат по умолчанию (=1)
Вообще ЗначениеВФайл() - действенный метод для сохранения значений между пользователями (в отличии от СохранитьЗначение(), которое распространяется только на одного пользователя). Необходимо разбираться, почему вылетает ошибка. Может, имеется попытка пропихнуть ему в имени файла недопустимое значение, или еще чего-нибудь. Если можно, подробнее опишите момент возникновения ошибки (в плане, возникает ли она при сохранении, восстановлении, или в обоих случаях), и саму процедурку неплохо бы увидеть, так как у меня
ЗначениеВФайл() прекрасно сохраняет ТЗ в файл. И точно также хорошо можно восстановить.
Ответ отправил: Dmitry Stashenko (статус: 6-ой класс)
Ответ отправлен: 06.07.2007, 11:30 Оценка за ответ: 5 Комментарий оценки: Ошибка возникала при попытке загрузить из файла. пошел пообедал. пришел. работает. че было не понятно. Большое спасибо.
Отвечает: Elric
Здравствуйте, _vit9791!
Перед выгрузкой в файл, можно преобразовать таблицу в строку функцией ЗначениеВСтроку(), после чего записать хоть в текстовый файл, хоть той же процедурой ЗначениеВФайл() воспользоваться. Обратное преобразование -- ЗначениеИзСтроки().
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 06.07.2007, 13:23 Оценка за ответ: 4 Комментарий оценки: Мне уже помогли. Спасибо за внимание.
Отвечает: Натаров Петр Леонидович
Здравствуйте, _vit9791!
СохранитьЗначение и ВосстановитьЗначение - привязанны к конкретному пользователю 1С. Поэтому другой пользователь видит пустую ТЗ. Самым правильным решением, на мой взгляд, будет обработка данных в ручную. Сохранять и восстанавливать данные, например, из текстового файла. Придется добавить пару кнопочек для этого. Если вы хотите чтобы не всем пользователям эта таблица заполнялась, то можно выкрутиться дополнительным флажком на форме. А вот с ним работать уже через механизм сохранения и восстановления значений.
Ответ отправил: Натаров Петр Леонидович (статус: 1-ый класс)
Ответ отправлен: 06.07.2007, 19:25 Оценка за ответ: 3 Комментарий оценки: Спасибо мне уже помогли