|
Получить значение из регистра накопления | ☑ | ||
---|---|---|---|---|
0
Adgjj
15.08.12
✎
11:09
|
Здравствуйте!
При проведении документа "ТТД" надо в обновленной записи РегистрыНакопления.уатВыработкаПоСтоимости оставлять старое значение поля "Счет". Значение поля счет записывается в регистр не из ТТД, поэтому надо его сохранить. У меня НЗ - пустая таблица получается. Функция ФормированиеДвижений(Отказ, Заголовок, РежимПроведения) НЗ = РегистрыНакопления.уатВыработкаПоСтоимости.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Использование = Истина; //для каждого СтрокаУслуги из Услуги Цикл НЗ.Отбор.Регистратор.Значение = ЭтотОбъект.Ссылка; //СтрокаУслуги.ДокументОснование; НЗ.Прочитать(); Для Каждого Запись Из НЗ Цикл //если строк в ТТД несколько, для них в уатВыработкаПоСтоимости поле "Счет" будет одно и тоже //Запись.Счет = ЭтотОбъект.Ссылка; Счет = Запись.Счет; КонецЦикла; //НЗ.Записать(); //конеццикла; НаборДвижений = Движения.уатВыработкаПоСтоимости; ТаблицаДвижений = НаборДвижений.Выгрузить(); Для Каждого ТекСтрока Из Стоимость Цикл НоваяСтрока = ТаблицаДвижений.Добавить(); //НоваяСтрока.Счет = 1; НоваяСтрока.Период = Дата; НоваяСтрока.Контрагент = Контрагент; |
|||
1
Adgjj
15.08.12
✎
11:12
|
поле "Счет" регистра заполняется при использовании ТТД в документе "Счет", чтобы в след. раз уже использованные ТТД в других счетах в новый счет не попадали.
|
|||
2
Adgjj
15.08.12
✎
11:13
|
Изменение связано с тем, что при изменении времени (например) в ТТД поле "Счет" очищается
|
|||
3
DrShad
15.08.12
✎
11:13
|
(0) что за адский отжиг?
|
|||
4
ptiz
15.08.12
✎
11:15
|
(0) Странный подход. А если документ сначала распроведут, а потом проведут?
Зачем "СоздатьНаборЗаписей", когда есть свойство Движения? |
|||
5
Liova
15.08.12
✎
11:15
|
Нифига не понял, но может сделать поле СуперПуперСчет и его не очищать и из него писать в регистр?
|
|||
6
Лоботряс
15.08.12
✎
11:16
|
Конечно пустая, если стоит удаление движений "удалять автоматически"
|
|||
7
Adgjj
15.08.12
✎
13:47
|
Решила не трогать регистр документа "ТТД", создала новый регистр - РегистрыСведений.ВКакомСчетеТТД с режимом записи "Подчинение регистратору", полями Активность,Регистратор(Счет),ТТД. В Процедура ПриЗаписи(Отказ) модуля объекта документа уатСчетНаОплатуПокупателю пишу:
НЗ = РегистрыСведений.ВКакомСчетеТТД.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Значение = ЭтотОбъект.Ссылка; //Счет НЗ.Отбор.Регистратор.Использование = Истина; для каждого СтрокаУслуги из Услуги Цикл //НЗ.Отбор.Регистратор.Значение = ЭтотОбъект.Ссылка; //СтрокаУслуги.ДокументОснование; НЗ.Прочитать(); Для Каждого Запись Из НЗ Цикл //Запись.Счет = ЭтотОбъект.Ссылка; Запись.ТТД = СтрокаУслуги.ДокументОснование; КонецЦикла; НЗ.Записать(); конеццикла; НЗ пустая, поэтому записи в регистр не помещаются. Как исправить код? |
|||
8
Reset
15.08.12
✎
13:49
|
НЗ = РегистрыСведений.ВКакомСчетеТТД.СоздатьНаборЗаписей();
НЗ.Отбор.Регистратор.Значение = ЭтотОбъект.Ссылка; //Счет НЗ.Отбор.Регистратор.Использование = Истина; для каждого СтрокаУслуги из Услуги Цикл Запись=НЗ.Добавить(); Запись.ТТД = СтрокаУслуги.ДокументОснование; Запись.Регистратор=Ссылка; конеццикла; НЗ.Записать(); |
|||
9
Reset
15.08.12
✎
13:53
|
+В (4) верно сказано
|
|||
10
Adgjj
15.08.12
✎
13:54
|
Спасибо большое, Reset, получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |