|
Заполнение вспомогательных реквизитов табличной части формы документы | ☑ | ||
---|---|---|---|---|
0
Scorp1985
23.04.13
✎
08:42
|
Добрый день все!
В табличной части формы документа есть вспомогательные реквизиты для расчета и основные реквизиты, привязанные к реквизитам табличной части самого документа. Необходимо держать в актуальном состоянии их значения. Вопросы: 1. Процедура для расчета должна выгладеть так? &НаКлиенте Процедура ЗаполнитьВспомогательныеРеквизиты(ТекущаяСтрока) ТекущаяСтрока.ЦенаПоставщика = ТекущаяСтрока.СуммаПоставщика / ТекущаяСтрока.Количество; // и т.д. для каждого реквизита КонецПроцедуры 2. Лучше при изменении значения в определенной строке вызывать процедуру только для этой строки? 3. При открытии документа вызываю процедуру таким циклом с перебором строк, и получаю ошибку "Итератор для значения не определен", что не так? Для Каждого Строка из Элементы.СоставНакладной.ТекущаяСтрока Цикл ТекСтр = Элементы.СоставНакладной.ДанныеСтроки(Строка); ЗаполнитьВспомогательныеРеквизиты(ТекСтр); 4. Откуда вызывать процедуру в цикле, ПередОткрытием ?? |
|||
1
Scorp1985
24.04.13
✎
07:01
|
Никто не поможет новичку?)
|
|||
2
Jonny_Khomich
24.04.13
✎
07:18
|
ТекСтр = Элементы.СоставНакладной.ДанныеСтроки(Строка); - бред какой то непонятный.
Твоя переменная Строка содержит значение строки. Ты вообще знаком с циклами? Может стоит сперва их подтянуть? и в твою грёбанную процедуру передавай Строка ЗаполнитьВспомогательныеРеквизиты(Строка); |
|||
3
kosts
24.04.13
✎
07:18
|
Для Каждого Строка из Элементы.СоставНакладной.ТекущаяСтрока Цикл
Что хотел этим перебрать, колонки строки? В данном случае программа правильно ругается, что итератор не определен. Лучше опиши предметную задачу, что тебе нужно посчитать... А то ничего не понятно "вспомогательные", "основные" чем они отличаются? |
|||
4
Jonny_Khomich
24.04.13
✎
07:23
|
и понятно, что эти данные надо менять при изменении значений этих колонок! Зачем каждый раз пересчитывать перед открытием? У тебя документ будет с пометкой "Изменён".
|
|||
5
Scorp1985
24.04.13
✎
07:32
|
Есть табличная часть документа с реквизитами "Количество", "СуммаПоставщика", "СуммаНаценки"
На форму документа добавлены для удобства заполнения реквизиты "ЦенаПоставщика" ( = СуммаПоставщика/Количество ), "Наценка" ( = СуммаНаценки/Количество ), эти реквизиты в документе мне хранить не нужно, т.к. они создают избыточность, но при заполнении они нужны. |
|||
6
Scorp1985
24.04.13
✎
07:34
|
Ну и при открытии, соответственно нужно во всю таблицу эти все расчетные реквизиты таблично формы подставить.
|
|||
7
kosts
24.04.13
✎
07:35
|
(5) Все сохраняют цены в документе и не считают это избыточностью. Сохраняй и не ломай себе моск.
|
|||
8
Scorp1985
24.04.13
✎
07:38
|
Я просто изначально не 1с-ник, и меня в Институте им. Б.Н. Ельцина учили так не делать =)
|
|||
9
Jonny_Khomich
24.04.13
✎
07:39
|
(8) твой 1кб в базе вообще никак не помеха, а выполнять каждый раз заполнение, бред!
|
|||
10
kosts
24.04.13
✎
07:40
|
(8) Не тот случай.
Что будет если у тебя количество не введут, а цену введут. При открытии как цену посчитаешь? |
|||
11
Scorp1985
24.04.13
✎
07:41
|
Спасибо, т.е. даже если мне нужно 10 элементов использовать, которые можно посчитать от остальных - всё писать в документ по законам программирования на 1с?)
|
|||
12
Scorp1985
24.04.13
✎
07:42
|
(10) У меня контроль заполнения =)
|
|||
13
Jonny_Khomich
24.04.13
✎
07:44
|
(12) если тебя учили в таком хорошем институте и ты весь такой умный, то что же ты обращаешься на форум с такой проблемой то?
|
|||
14
kosts
24.04.13
✎
07:44
|
(11) Не по законам 1С, а по соображениям целесообразности.
И придется везде считать эти цены, условия ставить. В печатных формах, например. |
|||
15
Defender aka LINN
24.04.13
✎
08:00
|
(12) И как же он реализован, позволь полюбопытствовать?
(8) А в этом вашем университете тебя не учили, что при делении двух чисел может получиться число с числом десятичных знаков несколько более 2? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |