Имя: Пароль:
1C
1С v8
где искать создание движения по регистру
0 Not1C
 
30.07.14
16:55
Приветствую.
Есть конфигурация "Бухгалтерия для Украины", документ "ПлатежноеПоручениеВходящее". Добавил новый ресурс в регистр накопления, нужно изменить движение по регистру, а модуле документа только движения по проводкам. А где собственно искать движения регистров оперативного учета?
Мне сказали искать в коде. Пока вижу только движения по регистрам бухгалтерии
НалоговыйУчет.ДвиженияПоРегистрамНалоговогоУчетаПлатежныхДокументов(ЭтотОбъект,СтруктураШапкиДокумента,РеестрПлатежей,Отказ);
1 МойКодУныл
 
30.07.14
16:57
Поискать процедуру общего модуля, куда вынесены движения.
Пройти обработку проведения на отладке и найти.
2 jsmith
 
30.07.14
17:00
Точку останова в модуле набора записей поставь и смотри стек
3 Not1C
 
30.07.14
17:26
допустим, я нашел код для записи движений, но т.к. он универсален, я не могу внести в него изменения, чтобы сделать запись еще в один ресурс регистра.Может быть и не нужно ничего искать, как мне добавить в структуру значение для нового ресурса?
4 jsmith
 
30.07.14
17:37
гугли код йоптыть. чо как маленький ;)
5 Not1C
 
30.07.14
17:43
а большим лень подсказать. Что гуглить?
6 Fragster
 
гуру
30.07.14
17:48
сделай подписку на ПередЗаписью у регистра и там заполняй свой реквизит
7 Not1C
 
30.07.14
17:55
сделал, спасибо.
НаборЗаписей = РегистрыНакопления._ВзаиморасчетыСПокупателями.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
    КросКурс = Ценообразование.КурсНаДату(ВалютаДокумента,Дата);
    Для каждого СтрокаЗаписи Из НаборЗаписей Цикл
    //...
    КонецЦикла;
8 Fragster
 
гуру
30.07.14
17:59
(7) не надо так
9 Fragster
 
гуру
30.07.14
18:00
в подписке ты находишься в контексте набора, просто чтипа:

Для каждого Запись Из Объект
   Запись.Реквизит = Значение;
КонецЦикла

даже записывать не надо
10 Not1C
 
30.07.14
18:17
(9) Почему-то не записывается значение в мой новый ресурс. Хотя если я создаю новый набор записей, чтобы проверить записался ли он, он заполнен
11 Not1C
 
30.07.14
18:18
НаборЗаписей = РегистрыНакопления._ВзаиморасчетыСПокупателями.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
    КросКурс = Ценообразование.КурсНаДату(ВалютаДокумента,Дата);
    
    Для каждого Запись Из НаборЗаписей Цикл
    Запись.КросКурс = КросКурс;
     КонецЦикла;
12 jsmith
 
30.07.14
18:19
да ставь в модуле набора записей регистра в процедуре ПередЗаписью
13 Not1C
 
30.07.14
18:21
как раз и стоит
14 Redkiy
 
30.07.14
18:27
Иди на войну, 1С - это не для тебя.
15 Not1C
 
30.07.14
18:27
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если РасшифровкаПлатежа.Количество() = 0 Тогда
        НоваяСтрока = РасшифровкаПлатежа.Добавить();
    КонецЕсли;
    
    Если Не Оплачено И РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        РежимЗаписи = ?(Проведен, РежимЗаписиДокумента.ОтменаПроведения, РежимЗаписиДокумента.Запись);
    КонецЕсли;
    
    ТекущаяСхемаНалогообложения = УчетНДС.ПолучитьСхемуНалогообложения(Дата,Организация);
    Если НЕ ТекущаяСхемаНалогообложения.НалогНаПрибыль Тогда
        НалоговоеНазначениеПлатежныеКартыУслуги = Неопределено;
    КонецЕсли;
    Если Филиал.Пустая() тогда
        Филиал = Справочники._Филиалы.ОсновнойФилиал;
    КонецЕсли;    
    
    НаборЗаписей = РегистрыНакопления._ВзаиморасчетыСПокупателями.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
    КросКурс = Ценообразование.КурсНаДату(ВалютаДокумента,Дата);
    Для каждого Запись Из НаборЗаписей Цикл
    Запись.КросКурс = КросКурс;
    КонецЦикла;
            
    
КонецПроцедуры
16 Not1C
 
30.07.14
18:28
(14) а с кем воевать?
17 jsmith
 
30.07.14
18:31
(15) нахрен создавать набор записей
он у тебя и так есть
не тупи
18 jsmith
 
30.07.14
18:31
ЭтотОбъект йопта
19 Not1C
 
30.07.14
18:44
ЭтотОбъект это не набор записей :(
20 Fragster
 
гуру
30.07.14
19:06
(19) тебе говорят - присасывайся к регистру, а не к документу
21 Not1C
 
31.07.14
10:31
(20)
КросКурс = Ценообразование.КурсНаДату(ВалютаДокумента,Дата);
    Движения._ВзаиморасчетыСПокупателями.Прочитать();
    
    Для каждого Запись Из Движения._ВзаиморасчетыСПокупателями Цикл
    Запись.КросКурс = КросКурс;
    КонецЦикла;
После таких манипуляций, регистр пустой
22 lxndr
 
31.07.14
10:34
(21) если так, то это в обработчике "ОбработкаПроведения" для документа