8.х Не сохраняются значения реквизитов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Ivan2014, 25 янв 2016.

  1. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Добрый день/утро/вечер!
    Имеется внешняя обработка, у которой есть две формы.
    После заполнения реквизитов обработки в одной из форме (второстепенная, открывается из основной), ее закрытия и последующего открытия значения не сохраняются.
    Подчеркиваю, речь идет про реквизиты обработки. А не формы.
    В чем может быть причина?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Значения реквизитов объекта/формы никогда не сохраняются/восстанавливаются самостоятельно.
    Как минимум нужно указать реквизиты для сохранения/восстановления в свойствах формы и выполнить сохранение значений формы в режиме предприятия, но это решение не очень, поэтому в типовых есть свой механизм сохранения/восстановления значений реквизитов.
    Ivan2014 нравится это.
  3. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Мне необходимо чтобы значения сохранялись после закрытия формы и ее открытия, при этом мне не нужно чтобы после закрытия сохранялись значения, только пока обработка открыта.
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Это внешняя обработка, как Вам написали для нее есть только сохранение значений на форме после закрытия или по определенным клавишам. форма то данные не из БД берет и посл езакрытия ей хранить их особо негде
    Ivan2014 нравится это.
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Чессказать, последнее я вообще не понял, могу посоветовать посмотреть любую типовую конфигурацию на предмет сохранения настроек отчетов.
    Ivan2014 нравится это.
  6. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Я понял, спасибо. Буду думать что-то.
    Я просто не понимаю все равно.
    У меня есть реквизит обработки.
    Отрывается обработка. Из формы отрываю 2-ую форму. В ней реквизиту обработки (не формы!) присваиваю значение. Закрываю 2-ую форму и опять же ее открываю из первой. Почему реквизит обнуляется? Странно. Я вообще то думал для этого и есть реквизит обработки. Ведь сама же обработка не закрывается, основная форма открыта.
    --- Объединение сообщений, 26 янв 2016 ---
    Речь не про сохранение настроек отчета идет - это я знаю. Речь идет именно про сохранение значения реквизита до закрытия обработки.
  7. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Я посмотрел через отладчик - фактически один реквизит, но на каждой форме у него свое значение. Буду думать что-то.
    --- Объединение сообщений, 26 янв 2016 ---
    Мне всего навсего нужно следующее: у обработки две формы, нужно чтобы значения свободно гуляли между формами.
  8. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Реализовал все это дело, возможно коряво (другого решения не нашел).
    На вспомогательной форме при изменении реквизита:
    Код:
    П = Новый Структура("Ключ", Объект);
    ФормаОсн = ПолучитьФорму("Обработка.МояОбработка.Форма.Форма", П);
    ФормаОсн.Объект.МойРеквизит = Объект.МойРеквизит;
    При открытии вспомогательной формы:
    Код:
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    ПриОткрытииНаСервере();
    П = Новый Структура("Ключ", Объект);
    ФормаОсн = ПолучитьФорму("Обработка.МояОбработка.Форма.Форма", П);
    Объект.МойРеквизит= ФормаОсн.МойРеквизит;
    КонецПроцедуры
    
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну смотрите у Вас есть у документа и форма и реквизит, когда вы документ записываете его данные значения реквизита, сохраняются в таблице и когда вы открываете эти значения берутся оттуда.
    Внешняя обработка и кк реквизиты - это не таблица БД, как только вы закрыли форму данные нигде не созхранились
    Ivan2014 нравится это.
  10. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Спасибо. Я не сразу это понял.

Поделиться этой страницей