Имя: Пароль:
1C
1С v8
Корректировка записей регистра.
0 Альбатрос
 
26.12.13
06:39
Задача: в форме списка док-та корректировка записей регистра создать колонку "Сумма", отображающей итоговую сумму по корректируемому РН, если она есть.

Вопрос: Как проверить у текущей корректировки, что она корректирует РН, который имеет ресурс "Сумма"?
1 Альбатрос
 
26.12.13
06:40
Использую ДокументСписокПриВыводеСтроки()
2 catena
 
26.12.13
07:10
(0)А если там несколько РН? Что должна символизировать эта "Сумма"? Среднюю температуру по больнице?
3 catena
 
26.12.13
07:11
Так-то, проверить запросом по всем РН с отбором по регистратору...
4 Альбатрос
 
26.12.13
07:15
(2) В принципе, на данный момент интересует только один РН. Упростив задачу - как определить, что корректировка корректирует именно нужный мне РН? Потом можно и запросом по регистратору.
5 catena
 
26.12.13
07:18
(4)Запросом по "именно нужному тебе РН" с отбором по текущему регистратору.
6 skunk
 
26.12.13
07:20
эээ ... там вроде как табличные части в документах были ... какой регистр его имя и все такое
7 catena
 
26.12.13
07:22
(6)В корректировках вроде нет ТЧ, только наборы записей.
8 Альбатрос
 
26.12.13
07:27
(7) Есть ) 3
9 Альбатрос
 
26.12.13
07:28
(6) Спасибо за подсказку!
10 skunk
 
26.12.13
07:28
11 catena
 
26.12.13
07:32
(10)А, ну да. Только они не обязательно будут заполнены для движений.
12 skunk
 
26.12.13
07:37
(11)в них записывается регистры которые корректируют текущий документ
13 skunk
 
26.12.13
07:39
и там где-то есть что-то на похожее на это


Процедура НастройкаСоставаРегистров(Команда)

    СписокИспользуемыхРегистров = Новый СписокЗначений;

    Для Каждого Строка Из Объект.ТаблицаРегистров Цикл
        СписокИспользуемыхРегистров.Добавить(Строка.Имя);
    КонецЦикла;
14 skunk
 
26.12.13
07:41
во всяком случае у виденных мною корректировок регистров ... а видел я их за свою жизнь ... мама не горюй
15 Альбатрос
 
26.12.13
07:55
Тааак. все выводит, но жутко тормозит =(

    Ссылка = ОформлениеСТроки.ДанныеСтроки.Ссылка;
    Если Ссылка.ТаблицаРегистровНакопления.Количество() > 0 тогда
        Если Ссылка.ТаблицаРегистровНакопления.Найти("ДвиженияДенежныхСредств", "Имя") <> неопределено тогда
            
            Запрос = Новый Запрос;
            
            
            Запрос.Текст = "ВЫБРАТЬ
            |    ДвиженияДенежныхСредств.Сумма КАК Сумма
            |ИЗ
            |    РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
            |ГДЕ
            |    ДвиженияДенежныхСредств.Регистратор.Ссылка = &Ссылка";
            
            Запрос.УстановитьПараметр("Ссылка", Ссылка);
            
            Результат = Запрос.Выполнить();
            Если Результат.Пустой() тогда
                Возврат;
            КонецЕсли;
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() цикл
        ОформлениеСтроки.Ячейки.Сумма.Значение = Выборка.Сумма;
        КонецЦикла;
    
        кОНЕЦеСЛИ;    
        КонецЕсли;
Как поправить сей код?
16 catena
 
26.12.13
08:01
(14)Открываю нашу последнюю УППшку. Пишу

Корректировка = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
Корректировка.Дата = ТекущаяДата();
Корректировка.Организация = Справочники.Организации.НайтиПоКоду("000000001");
Корректировка.УстановитьНовыйНомер();

Движение = Корректировка.Движения.ПартииТоваровНаСкладахБухгалтерскийУчет.Добавить();
Движение.Активность = Истина;
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00000000005");
Движение.Организация = Справочники.Организации.НайтиПоКоду("000000001");
Движение.Период = Корректировка.Дата;
Движение.Склад = Справочники.Склады.НайтиПоКоду("000000001");
Движение.Стоимость = 555;
Корректировка.Записать();

Движения есть, ТЧ пустые...
17 catena
 
26.12.13
08:03
(15)Если сделать общий запрос, а в цикле искать по полученной индексированной таблице, будет несколько быстрее. А так, вычисляемые поля в списке всегда больная тема.
18 skunk
 
26.12.13
08:09
(16)нету у меня упп, что-бы посмотреть чего у тебя там получилось ... в утп при открытии корректировке не отображаются
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший