Имя: Пароль:
1C
1C 7.7
v7: Рассчитываемые колонки в форме журнала
0 ЛюбопытнаяЯ
 
24.04.15
14:54
Есть форма журнала по д-там Приход. В эту форму передаются параметры ВыбНом. В журнале есть рассчитываемые колонки "Цена за шт" и "Кол-во в приходе".
Функция ПолучитьКол(Док,Ном)
    ЗначениеВозврата=0;
    Если Док.Выбран()=1 Тогда
        Если Ном.Выбран()=1 Тогда
            Д=СоздатьОбъект("Документ.Приход");
            Если Д.НайтиДокумент(Док)=1 Тогда
                Д.ВыбратьСтроки();
                Пока Д.ПолучитьСтроку()=1 Цикл
                    Если Д.Номенклатура=Ном Тогда
                        ЗначениеВозврата=ЗначениеВозврата+Д.Количество;
                    КонецЕсли;
                КонецЦикла;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    Возврат ЗначениеВозврата;
КонецФункции

Аналогичная функция для расчета цены. Можно сделать как-нибудь, чтоб переберались документы один раз, а получать значения два разных(цену и кол-во). Ведь у меня колонки в журнале текстовые, расчитываемые.
1 Ёпрст
 
24.04.15
15:10
(0) ну как бэ, за ТАКОЙ гкод, нужно линейкой по пальчикам стучать, чтоб неповадно было в следующий раз :)
2 ЛюбопытнаяЯ
 
24.04.15
15:24
(1)Это понятно. А как надо?
3 vinogradъ
 
24.04.15
15:27
отчет делать надо
4 Garykom
 
гуру
24.04.15
15:33
(0) собсттно 2 варианта, либо реквизиты в документ которые в одном цикле обновляем, либо в регистру это и оттуда по доку уже без перебора
5 ЛюбопытнаяЯ
 
24.04.15
16:10
Форма списка журнала вызывается из документа. В этой форме списка нужно выбрать нужный приход.
6 Ёпрст
 
24.04.15
16:14
(5) тормозит форма журнала поди еще не по-детски, да ?
:)
7 Cap_1977
 
24.04.15
16:16
// В модуле журнала документов
Перем ПечКоличество;
....

Функция ПолучитьЦенуКоличество()
.....
ПечКличество = <что то там>;
Возврат ЦенаПолученная;
КонецФункции

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

И таки да - перепиши код в (0) )))
8 Ёпрст
 
24.04.15
16:16
Хочешь быстро - в момент открытия сделай прямой запрос , в нём получи табличку вида Док, Цена,Количество и передай её в журнал, поставь индекс на колонке с доком.
В формуле дока, имей цену и количество из этой индексированной таблички по ключу док.
9 ЛюбопытнаяЯ
 
24.04.15
16:17
(6) Ага. Но нужна именно форма журнала. Подбор обработкой, ТЗ и др. не подойдет
10 Ёпрст
 
24.04.15
16:17
+8 в Формуле дока читать как в форме журнала
11 ЛюбопытнаяЯ
 
24.04.15
16:18
(7) У меня форма журнала. В документе не нужно кол-во
12 Масянька
 
24.04.15
16:24
(11) А можно узнать всю задачу?
13 alex74
 
24.04.15
16:25
1. СоздатьОбъект() вынести из функции, создавать один раз при открытии журнала,
2. Функцией возвращать строку типа Строка(Количество) + " по цене " + Строка(Цена)
14 Масянька
 
24.04.15
16:28
(13) Мне пока тоже не понятно - зачем колонки?
15 ЛюбопытнаяЯ
 
24.04.15
17:17
Спасибо! Сделала по (13)
16 Ёпрст
 
24.04.15
17:38
(15) открою тебе тайну, для кода в (0) , создатьОбъетк и найтиДокумент нужно вообще из кода выкинуть
17 Ёпрст
 
24.04.15
17:39
как и проверку на Выбран()
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn