Имя: Пароль:
1C
1С v8
Вопрос по табличной части документа
,
0 gerksly
 
14.09.12
17:51
Есть документ, в котором одна из табличных частей заполняется автоматически при открытии. При следующем открытии данные автоматически обновляются и т.д. Собственно вопрос - можно ли отключить у документа запрос на сохранение при закрытии(при изменении данных именно в этой табличной части)?
1 6tuf
 
14.09.12
17:52
записывай втихаря
2 Goggy
 
14.09.12
17:52
оО
Насыщенная пятница сегодня :)
3 6tuf
 
14.09.12
17:54
еще вариант - храни данные не в тч, а в переменной объекта или формы, а записывай в саму тч уже постфактум
4 gerksly
 
14.09.12
17:59
Смысл то в том, что мне их и сохранять не надо.. Данные динамически подхватываются. Просто кроме как через ТЧ в голову не пришло, как реализовать..
5 gerksly
 
19.09.12
18:30
Сделал через ТЗ в форме. И вроде все хорошо, данные подхватываются. И документ не воспринимается как измененный. Но, если данные одной из колонок не берутся из выборки напрямую, а вычисляются, то документ почему-то видит изменения... В чем причина?
6 Aprobator
 
19.09.12
18:33
(0) в форме после процедуры заполнения этой ТЧ Модифицированность = Ложь. Хотя, что то в Датском королевстве явно не ладно.
7 vmv
 
19.09.12
18:37
(0) вы хотите чказать, что документ писал г-кодер и при открытии НЕ НОВОГО его данные тупо модифицируються и когда юзер просто его открыл чтобы глянуть, а потом кроет, то его ставят перед фактом "какой-то идиот изменил документ без вашего ведома - будем его расстреливать? да, нет"

вывод: перепиши инициализацию документа при создании/открытии грамотно и не требуй еще большей чуши в нем, чем есть сейчас!
8 gerksly
 
19.09.12
18:38
Спасибо, работает, но все-же хотелось бы понять причину.
Вот сам код:
   Запрос = Новый Запрос;
   Запрос.Текст =
"ВЫБРАТЬ
|    ПлатежноеПоручение.Ссылка как ППС,
|    ПлатежноеПоручение.Номер как ППН,
|    ПлатежноеПоручение.Дата как ППД,
|    ПлатежноеПоручение.СуммаДокумента как ППСД,
|   ПлатежноеПоручение.ВалютаДокумента как ПВал,
|    ПлатежноеПоручение.СчетОснование,
|    Счет.Ссылка КАК Ссылка1
|ИЗ
|    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Счет КАК Счет
|        ПО ПлатежноеПоручение.ДокументОснование = Счет.Ссылка
|            И ПлатежноеПоручение.СчетОснование = Счет.Ссылка
|ГДЕ
|    ПлатежноеПоручение.СчетОснование = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
      НовСтрока = Оплаты.Добавить();
       НовСтрока.Документ = Выборка.ППС;
       НовСтрока.НомерДокумента = Выборка.ППН;
       НовСтрока.ДатаДокумента = Выборка.ППД;
       
       Если Выборка.ПВал = Справочники.Валюты.НайтиПоНаименованию("EUR") Тогда
       НовСтрока.СуммаОплат = Выборка.ППСД;
   Иначе
   ВалютнаяСумма = Выборка.ППСД;
   Дата =  Выборка.ППД;
   Валюта = Выборка.ПВал;
   Запись = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", Валюта));
   ЗаписьЕвро = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", Справочники.Валюты.НайтиПоНаименованию("EUR")));
   КурсКЕвро = ЗаписьЕвро.Курс / Запись.Курс;
   аСумма  = ВалютнаяСумма / КурсКЕвро / Запись.Кратность;
       
   НовСтрока.СуммаОплат = аСумма;
   КонецЕсли

КонецЦикла;
9 vmv
 
19.09.12
18:39
Валюта = Выборка.ПВал;

это модификация, караеццо гильотиной
10 gerksly
 
19.09.12
18:49
А как тогда организовать пересчет значения другим способом?
11 gerksly
 
19.09.12
19:12
Ведь Валюта в данном контексте - всего лишь переменная...
12 Noroving
 
19.09.12
19:21
(4) Такие вещи делаются "динамическими списками", если это упр. приложение
13 Mafoni
 
19.09.12
19:25
за такое название полей в запросе - розгами сечь нужно !!!
14 mih_io
 
19.09.12
19:30
Если вся таблица формируется динамически, то создать таблицу значений не привязанную к данному документу и заполнять как хочешь и когда хочешь

Если часть таблицы надо формировать динамически, то кури процедуру таблицы ПриВыводеСтроки
15 Aprobator
 
19.09.12
22:24
(14) +100500 вешается реквизит формы и делай с ним, что хошь. И нефиг над документом издеваться.
16 gerksly
 
19.09.12
23:54
Спасибо, буду пробовать.
17 Stim
 
19.09.12
23:59
изменение данных документа при открытии - это зло, за которое надо отрывать пальцы
18 gerksly
 
20.09.12
05:20
Да понял уже... Тем более там не данные, а подхват в динамическую таблицу связанных доков, чтобы проще было видеть проплаты... И не судите строго, опыта то ноль... Я только учусь...
19 gerksly
 
20.09.12
05:22
Постараюсь поменьше тут спрашивать, а то я вижу куча народу напрягается. За советы спасибо.
20 gerksly
 
27.09.12
11:48
В общем все оказалось просто. У меня и была привязка к реквизиту формы, а не документа, но виновата собственная невнимательность) Не обратил внимание, что в коде использовал Дата и Валюта в качестве переменных. Исправил, все заработало. Еще раз спасибо)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший