Имя: Пароль:
1C
1С v8
Изменение движений в подписке.
0 ДенисЧ
 
09.12.11
10:55
Сделал подписку на проведение документа. Код:

нз = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
нз.Отбор.Регистратор.Установить(Источник.Ссылка);//короче регистратор
нз.Прочитать();
для Каждого стрнз Из нз Цикл
 Если стрнз.Склад <> СкладСтекла Тогда
   стрнз.Качество = Справочники.Качество.ПустаяСсылка();
 КонецЕсли;
КонецЦИкла;
нз.Записать(Истина);

Вызывается она последней, проверил. В результате движения не меняются.
Что я не так делаю?
В отладчике нз - правильный, какой мне нужно...
1 mirosh
 
09.12.11
10:58
(0) "Вызывается она последней"
После процедуры ОбработкаПроведения самого документа?
2 БибиГон
 
09.12.11
11:04
Ты новый набор создаешь, а не текущий меняешь.
3 Irbis
 
09.12.11
11:05
А почему модуле набора записей не делаешь?
4 shuhard
 
09.12.11
11:06
(0) будь скромнее
сделай подписку перед записью Рг ТоварыНаСкладах
проверь тип регистратора
и меняй набор записей как хочешь
5 ДенисЧ
 
09.12.11
11:20
(3) не хочу менять сильно конфигурацию.
(4) хм... Идея...
6 shuhard
 
09.12.11
11:24
(5) и пустое качество странное решение
в УПП такое вызовет много странных эффектов
вплоть до не возможности отгрузки и передачи в НЗП
7 ДенисЧ
 
09.12.11
11:26
(6) ну поставлю Новый... Разницы для меня никакой...
8 acsent
 
09.12.11
11:27
(0) Движения еще не записаны а ты их меняешь уже
9 shuhard
 
09.12.11
11:28
(7) ОК
10 acsent
 
09.12.11
11:28
Источник.Движения.ИмяРегистра
11 Maxus43
 
09.12.11
11:29
(10) так подписка не видит
12 Живой Ископаемый
 
09.12.11
11:33
2(11) если прочитать, то видит
13 ДенисЧ
 
09.12.11
11:40
хм....

Процедура ПриЗаписи_ТоварыНаСкладах_КонтрольСкладаСтекла(Источник, Отказ, Замещение) Экспорт
   
   рег = Источник.Отбор.Регистратор.Значение;
   
   Если ТипЗнч(рег) <> Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
       Возврат;
   КонецЕсли;
   
   СкладСтекла = Константы.СкладСтекла.Получить();
   Если (рег.СкладОтправитель <> СкладСтекла) И (рег.СкладПолучатель <> СкладСтекла) Тогда
       Возврат;
   КонецЕсли;
   
   Для Каждого стр из Источник Цикл
       Если стр.Склад <> СкладСтекла Тогда
           стр.Качество = Справочники.Качество.Новый;
       КонецЕсли;
   КонецЦикла;
КонецПроцедуры

После цикла источник содержит нужные мне данные...
А документ в результате имеет неправильные движения...

А если ставлю Источник.Записать(), то вхожу в цикл...

Что-то я не понимаю...
14 shuhard
 
09.12.11
11:40
(13) сделай подписку перед записью Рг ТоварыНаСкладах
15 Maxus43
 
09.12.11
11:41
(13) в регистре ЭтотОбъект содержит записи. т.е. сам Источник перебирай, а не рег = Источник.Отбор.Регистратор.Значение;
16 ДенисЧ
 
09.12.11
11:41
тьфублин...
17 ДенисЧ
 
09.12.11
11:42
теперь заработало.
Спасибо за помощь.
18 shuhard
 
09.12.11
11:43
(17) ещё б оно не заработало
19 ДенисЧ
 
09.12.11
11:47
(18) У меня много что может не заработать :-)
20 Maxus43
 
09.12.11
11:49
(19) ты продаёш только СП, надо ещё чтоб отладчик кто-нить продавал. бери задёшево)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.