|
УФ. Как сравнить изменение табличной части документа? | ☑ | ||
---|---|---|---|---|
0
БукинГена
01.04.14
✎
13:40
|
Допкутим юзер открыл док и изменял в табл. части количество номенклатуры.
Все эти изменения должны быть записаны в регитср сведений. Все получилось. Но застрял в одном месте. в событии ПереЗаписьюНаСервере() все получается на ура. Но чую что это не кошерно. Надо это записать при событии ПриЗаписиНаСервере() |
|||
1
olegves
01.04.14
✎
13:42
|
Перед записью получаешь изменения и передаешь их через ДополнительныеСвойства в При заприси
|
|||
2
VikingKosmo
01.04.14
✎
13:44
|
(0) Если так неймется полезть в модуль объекта, я бы подумал над вопросом, а с чего бы это вдруг делать в ПриЗаписи()?
|
|||
3
БукинГена
01.04.14
✎
13:44
|
"ДополнительныеСвойства " а это чо такое?
|
|||
4
vmv
01.04.14
✎
13:44
|
все верно
|
|||
5
БукинГена
01.04.14
✎
14:27
|
ап
|
|||
6
olegves
01.04.14
✎
14:27
|
(3) научить справкой пользоваться?
|
|||
7
БукинГена
01.04.14
✎
14:35
|
(6) я уже понял что это такое.Есть приемр работы ?
|
|||
8
VikingKosmo
01.04.14
✎
14:39
|
(7) все таки, чем событие ПередЗаписью не устраивает?!
|
|||
9
vmv
01.04.14
✎
14:50
|
(8) отказом
|
|||
10
VikingKosmo
01.04.14
✎
14:52
|
(9) "С этого момента по подробнее, пожалуйста" (с)
|
|||
11
БукинГена
01.04.14
✎
15:02
|
(10) Здесь можно отказаться от записи, тогда в регистр попадают не правильные данные
|
|||
12
Ненавижу 1С
гуру
01.04.14
✎
15:03
|
надо это делать в событиях модуля объекта, а не формы
|
|||
13
VikingKosmo
01.04.14
✎
15:06
|
(11) при Отказ = Истина не делать записи в РС, что мешает?
|
|||
14
БукинГена
01.04.14
✎
15:10
|
Все! Решил проблему.
В событие ПередЗаписьюНаСервере() написал: СтарыеДанные = Новый ТаблицаЗначений; СтарыеДанные.Колонки.Добавить("Номенклатура"); СтарыеДанные.Колонки.Добавить("Количество"); Для Каждого СтрТЧ Из Объект.Ссылка.Продукция Цикл СтрТЗ = СтарыеДанные.Добавить(); СтрТЗ.Номенклатура = СтрТч.Номенклатура; СтрТЗ.Количество = СтрТч.Количество; КонецЦикла; СтарыеДанные.Свернуть("Номенклатура","Количество"); ТекущийОбъект.ДополнительныеСвойства.Вставить("СтарыеДанные", СтарыеДанные); а в событии ПриЗаписиНаСервере() : СтарыеДанные = ТекущийОбъект.ДополнительныеСвойства.СтарыеДанные; Если НЕ Объект.Ссылка.Пустая() Тогда ТЗ = Объект.Продукция.Выгрузить(); ТЗ.Свернуть("Номенклатура","Количество"); //Тз2 = Объект.Ссылка.Продукция.Выгрузить(); //Тз2.Свернуть("Номенклатура","Количество"); НаборЗаписей = РегистрыСведений.ОперативныйЖурналКонтроля.СоздатьНаборЗаписей(); Для Каждого СтрТЧ Из ТЗ Цикл Нашли = СтарыеДанные.Найти(СтрТЧ.Номенклатура,"Номенклатура"); Если Нашли <> Неопределено Тогда Если Нашли.Количество <> СтрТЧ.Количество Тогда Движение = НаборЗаписей.Добавить(); Движение.Период = ТекущаяДата(); Движение.Документ = Объект.Ссылка; Движение.Получатель = Объект.СкладПриходования; Движение.Продукция = СтрТЧ.Номенклатура; Движение.Пользователь = ПараметрыСеанса.ТекущийПользователь; Движение.ДоИзменения = Нашли.Количество; Движение.ПослеИзменения = СтрТЧ.Количество; КонецЕсли; Иначе Движение = НаборЗаписей.Добавить(); Движение.Период = ТекущаяДата(); Движение.Документ = Объект.Ссылка; Движение.Получатель = Объект.СкладПриходования; Движение.Продукция = СтрТЧ.Номенклатура; Движение.Пользователь = ПараметрыСеанса.ТекущийПользователь; Движение.ДоИзменения = 0; Движение.ПослеИзменения = СтрТЧ.Количество; КонецЕсли; КонецЦикла; // если удаляем строку Для Каждого СтрТЧ Из СтарыеДанные Цикл Нашли = ТЗ.Найти(СтрТЧ.Номенклатура,"Номенклатура"); Если Нашли = Неопределено Тогда Движение = НаборЗаписей.Добавить(); Движение.Период = ТекущаяДата(); Движение.Документ = Объект.Ссылка; Движение.Получатель = Объект.СкладПриходования; Движение.Продукция = СтрТЧ.Номенклатура; Движение.Пользователь = ПараметрыСеанса.ТекущийПользователь; Движение.ДоИзменения = СтрТЧ.Количество; Движение.ПослеИзменения = 0; КонецЕсли; КонецЦикла; НаборЗаписей.Записать(Ложь); КонецЕсли; Вроде работает. |
|||
15
Ненавижу 1С
гуру
01.04.14
✎
15:12
|
(14) быдлокод
|
|||
16
БукинГена
01.04.14
✎
15:13
|
(15) Поделись своим, гуру
|
|||
17
Ненавижу 1С
гуру
01.04.14
✎
15:17
|
(16) читай (12)
|
|||
18
БукинГена
01.04.14
✎
15:20
|
(17) Вот как в модуле объекта получить старые данные? В каком событии?
|
|||
19
Ненавижу 1С
гуру
01.04.14
✎
15:22
|
(18) в ПередЗаписью прочитать данные из ссылки
|
|||
20
1Сергей
01.04.14
✎
15:22
|
(18) ПередЗаписью
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |