|   |   | 
| 
 | Получение объекта из временного хранилища | ☑ | ||
|---|---|---|---|---|
| 0
    
        1С-ница 09.11.13✎ 12:00 | 
        Управляемое приложение, платформа 8.3
 Необходимо строковые данные записать в таблицу значения, чтобы потом записать ее в таб часть документа Корректировка регистров. &НаСервере Процедура ЗаписатьТЗ(Наименование,Остаток) перем Адрес Попытка ТЗ = ПолучитьИзВременногоХранилища(Адрес); Исключение ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Наименование"); ТЗ.Колонки.Добавить("Остаток"); КонецПопытки; НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Наименование = Наименование; НоваяСтрока.Остаток = Остаток; Адрес = ПоместитьВоВременноеХранилище(ТЗ); КонецПроцедуры при входе в процедуру во второй и последующие разы Адрес неопределен и значение из временного хранилища не получается. Помогите сделать это правильно... | |||
| 1
    
        Defender aka LINN 09.11.13✎ 12:02 | 
        (0) Я так понимаю, СП безнадежно покраден?     | |||
| 2
    
        1С-ница 09.11.13✎ 12:02 | 
        Глобальный контекст (Global context)
 ПолучитьИзВременногоХранилища (GetFromTempStorage) Синтаксис: ПолучитьИзВременногоХранилища(<Адрес>) Параметры: <Адрес> (обязательный) Тип: Строка. Адрес, указывающий на значение во временном хранилище. Возвращаемое значение: Тип: Произвольный. Значение, ранее помещенное с помощью метода ПоместитьВоВременноеХранилище. Описание: Получает значение из временного хранилища. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Результат выполнения не кэшируется, вызов сервера осуществляется при каждом вызове метода. | |||
| 3
    
        GROOVY 09.11.13✎ 12:06 | 
        (0) Ну так переменная Адрес инициализируется всякий раз при входе в процедуру. 
 И еще можно не попыткой проверять получены ли данные из ВХ. | |||
| 4
    
        1С-ница 09.11.13✎ 12:06 | 
        Желательно пожеланий по существу     | |||
| 5
    
        1С-ница 09.11.13✎ 12:07 | 
        (3) как тогда правильно получать адрес временного хранилища?     | |||
| 6
    
        Defender aka LINN 09.11.13✎ 12:08 | 
        (5) Надо сделать над собой усилие и таки прочитать, что тебе пишут в СП. Ну или хотя бы в этой ветке     | |||
| 7
    
        GROOVY 09.11.13✎ 12:08 | 
        И я если честно не понял зачем в этом примере нужно временное хранилище...
 (5) Наверно не "Получать", а "Хранить"? Можно в реквизите формы, а можно в переменной модуля. | |||
| 8
    
        1С-ница 09.11.13✎ 12:10 | 
        (7) Если честно я не придумала другого способа как записывать строки в Таблицу значений, т к чтение текста возможно только на клиенте, а работа с ТЗ только на сервере     | |||
| 9
    
        GROOVY 09.11.13✎ 12:12 | 
        (8) То есть, сейчас для каждой строки вы гоняете на сервер с передачей контекста формы?     | |||
| 10
    
        Defender aka LINN 09.11.13✎ 12:12 | 
        (8) "чтение текста возможно только на клиенте" - а еще такая трава осталась?     | |||
| 11
    
        1С-ница 09.11.13✎ 12:12 | 
        &НаКлиенте
 Процедура Сформировать(Команда) ТекстКлиенты = Новый ЧтениеТекста("D:\Test Base\ExportOst.txt", КодировкаТекста.Системная); Стр = ""; Пока Стр<>Неопределено Цикл Стр = ТекстКлиенты.ПрочитатьСтроку(); СформироватьКлиенты(Стр); Состояние("Обрабатывается " + Стр); ОбработкаПрерыванияПользователя(); КонецЦикла; Процедура СформироватьКлиенты(Стр) Позиция1 = Найти (Стр, ";"); //10 Наименование = Сред(Стр, 1,Позиция1-1);//ФИО Позиция2 = Найти(Прав(Стр,СтрДлина(Стр)-(Позиция1)),";"); //Остаток Остаток = Сред(Стр,Позиция1+1, Позиция2-1); ДобавитьВТЗ(Наименование,Остаток); КонецПроцедуры | |||
| 12
    
        GROOVY 09.11.13✎ 12:13 | 
        Сделайте реквизит формы с типом "ТаблицаЗначений" и пишите все туда на клиенте.     | |||
| 13
    
        GROOVY 09.11.13✎ 12:14 | 
        (11) Загрузите файл с текстом во временное хранилище, переедте на сервер, там получите этот файл и грузите куда нужно.     | |||
| 14
    
        1С-ница 09.11.13✎ 12:25 | 
        (12) Сделала реквизит формы ТЗ с типом ТЗ, в отладчике записать туда данные не получается, т к тип у ТЗ Данные формы коллекция, а не ТаблицаЗначений     | |||
| 15
    
        GROOVY 09.11.13✎ 12:29 | 
        (14) Что не получается писать в реквизит? Добавить() не работает?     | |||
| 16
    
        GROOVY 09.11.13✎ 12:32 | ||||
| 17
    
        1С-ница 09.11.13✎ 12:33 | 
        (15) Добавила колонки реквизит, нужные данные записываются, но почему то через одну строку: она строк заполняется пустыми данными, вторая нужными...     | |||
| 18
    
        1С-ница 09.11.13✎ 12:34 | 
        (17) прошу прощения, моя ошибка     | |||
| 19
    
        1С-ница 09.11.13✎ 12:42 | 
        Получилось!!!!!!!!!!!!!! Спасибо большое за помощь)))))     | |||
| 20
    
        1С-ница 09.11.13✎ 12:51 | 
        Подскажите еще пож-ста: использую тестовую платформу (не помню для каких целей ее ставила) 8.3.4.304 В последнее время стали появляться записи дампа, то  при работе в конфигураторе, то при работе в 1С предприятии (на тестовой базе) Это связано именно с платформой?     | |||
| 21
    
        GROOVY 09.11.13✎ 12:54 | 
        (20) Скорее всего. Ставьте более свежую.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |