1С 7.7 - возникла интересная проблема!
13.11.2007
12:30
#1
В документе создана табличная часть, в которой хранится список расходных накладных. В печатную форму считываются некоторые реквизиты этих накладных.
Пример работы:
Жму "Печать". Вижу - ага значение указано неправильно! Захожу в накладую. Изменяю. Провожу. И снова жму в открытом документе кнопку "Печать". Выводится старое значение реквизита никладной. Но! Как только я закрою и открою документ, то значение становится новое!
Я так предполагаю, что это работает кэш объектов. Вроде 1С ускоряет мне работу, используя уже считанные данные! Это и хорошо, но как мне объяснить пользователем....Вообщем, я нашел выход из ситуации и перед печатью очищаю табличную часть и формирую заново.
Скажите, кто-нибудь сталкивался с такой проблемой и какие способы её решения вы можете предложить.
Спасибо!
Пример работы:
Жму "Печать". Вижу - ага значение указано неправильно! Захожу в накладую. Изменяю. Провожу. И снова жму в открытом документе кнопку "Печать". Выводится старое значение реквизита никладной. Но! Как только я закрою и открою документ, то значение становится новое!
Я так предполагаю, что это работает кэш объектов. Вроде 1С ускоряет мне работу, используя уже считанные данные! Это и хорошо, но как мне объяснить пользователем....Вообщем, я нашел выход из ситуации и перед печатью очищаю табличную часть и формирую заново.
Скажите, кто-нибудь сталкивался с такой проблемой и какие способы её решения вы можете предложить.
Спасибо!
13.11.2007
12:43
#2
"...
Док=СоздатьОбъект("Документ[.ВидВашегоДокумента]");
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Док.НайтиДокумент(<ИмяРеквизитаТабличнойЧастиСДокументом>);
ПечРеквизитДокумента=Док.<НеобходимыйРеквизитДокумента>;
Таб.ВывестиСекцию("<СекцияТаблицыСРеквизитом'ПечРеквизитДокумента'>");
...
Способ?"
Док=СоздатьОбъект("Документ[.ВидВашегоДокумента]");
ВыбратьСтроки();
Пока ПолучитьСтроку()>0 Цикл
Док.НайтиДокумент(<ИмяРеквизитаТабличнойЧастиСДокументом>);
ПечРеквизитДокумента=Док.<НеобходимыйРеквизитДокумента>;
Таб.ВывестиСекцию("<СекцияТаблицыСРеквизитом'ПечРеквизитДокумента'>");
...
Способ?"
13.11.2007
15:15
#3
IceBeerg, способ! И пожалуй получше моего! Спасибо!
Я правильно понимаю, что эту проблему не обойти по другому? Можно конечно использовать ещё и запрос.
В любом случае - дополнительные заморочки...
Я правильно понимаю, что эту проблему не обойти по другому? Можно конечно использовать ещё и запрос.
В любом случае - дополнительные заморочки...
13.11.2007
15:29
#4
> Я правильно понимаю, что эту проблему не обойти по другому?
Я считаю, что по другому не обойти. Метода типа Обновить у документов я не видел. Но ИМХО.
> Можно конечно использовать ещё и запрос.
Конечно можно, попробуйте сделать выборку значений необходимых реквизитов запросом и использовать ее при формировании печатной формы и сравните с методом предложенным мной, что будет быстрее и прозрачнее работать то и используйте.
> В любом случае - дополнительные заморочки...
Угу.
Я считаю, что по другому не обойти. Метода типа Обновить у документов я не видел. Но ИМХО.
> Можно конечно использовать ещё и запрос.
Конечно можно, попробуйте сделать выборку значений необходимых реквизитов запросом и использовать ее при формировании печатной формы и сравните с методом предложенным мной, что будет быстрее и прозрачнее работать то и используйте.
> В любом случае - дополнительные заморочки...
Угу.
Читают тему
(гостей: 1)