|
Наследование | ☑ | ||
---|---|---|---|---|
0
dp118m
19.09.11
✎
16:21
|
Здравствуйте!
Допустим я хочу сделать в 1С форму для подсчета стоимости и сроков неких работ. Прогноз трудозатрат - это список строк. По одной строке на работу. Работа - это, например, "положить плитку", "покрасить стены", "наклеить обои". В строках есть поля, которые можно разделить на а) общие для всех (есть во всех строках без исключения) и б) специфические для видов работ. Для всех работ есть 2 поля - трудозатраты и стоимость. Примеры специфических полей: Для "положить плитку" это будут а) площадь помещения, где ее надо положить и б) вид плитки. Из этих параметров считаются трудозатраты и стоимость. Для каждого вида работ будут разные параметры для расчета трудозатрат и стоимости. Для каждого вида работ, трудозатраты и стоимость расчитываются по разным алгоритмам. * * * Это можно изобразить так: class Смета { List<СтрокаСметы> строки; } abstract class СтрокаСметы { double получитьТрудозатраты(); double получитьСтоимость(); } class ПоложитьПлитку extends СтрокаСметы { установитьПлощадь(double aПлощадь); установитьВидПлитки(enum aПлитка); double получитьТрудозатраты() { // Алгоритм расчета трудозатрат для этого вида работ } double получитьСтоимость() { // Алгоритм расчета стоимости для этого вида работ } } class НаклеитьОбои extends СтрокаСметы { установитьПлощадь(double aПлощадь); установитьВидПлитки(enum aПлитка); double получитьТрудозатраты() { // Алгоритм расчета трудозатрат для этого вида работ } double получитьСтоимость() { // Алгоритм расчета стоимости для этого вида работ } } * * * Мне нужна форма, в которой будет отображаться список работ. При этом в этом списке должны выводиться только наименование работы, трудозатраты и стоимость. Если я дважды щелкаю по строке, то открывается форма элемента той или иной работы, где можно ввести параметры и пересчитать трудозатраты/стоимость. Вопрос: Как можно сделать это? Я смотрел в сторону связных справочников. Мне не нравится то, что тогда придется для каждого вида работ делать отдельный справочник (видов работ может быть несколько десятков). Есть еще вариант сделать один справочник с полем "Формула", в котором будут записаны параметры вроде "видРаботы=10;площадь=20;плиткаТип=3" и будет одна большая функция, которая на основании этих данных будет считать трудозатраты. Недостаток - будет одна функция для всех видов работ, что не очень гуд с точки зрения тестирования и модульности. Заранее благодарен Дмитрий |
|||
1
ботаникус
19.09.11
✎
16:25
|
ПВХ?
|
|||
2
Ненавижу 1С
гуру
19.09.11
✎
16:27
|
посмотреть как реализованы виды расчетов в ЗУП
там для каждого пользовательского вида расчета можно добавлять произвольное число параметров и редактировать формулу расчета результата |
|||
3
dp118m
19.09.11
✎
16:45
|
Что такое ЗУП?
|
|||
4
Ненавижу 1С
гуру
19.09.11
✎
16:47
|
(3) конфигурация такая, для расчета зарплаты и учета персонала
|
|||
5
dp118m
19.09.11
✎
16:55
|
Где ее можно найти?
|
|||
6
Толич
19.09.11
✎
16:58
|
(5) Купить. =)
|
|||
7
dp118m
19.09.11
✎
17:03
|
Не подходит.
Неужели ни в одном учебнике по 1С не рассказано, как делать полиморфию? |
|||
8
qeos
19.09.11
✎
17:04
|
(7) какая к черту полиморфия??
|
|||
9
Fragster
гуру
19.09.11
✎
17:05
|
(7) здесь не полиморфия. кури планы расчета в ЗУП, или в библиях всяких, типа Габеца и Радченко
|
|||
10
shuhard
19.09.11
✎
17:06
|
(7) ни в одном,
вернись к своей джаве, 1С не для слабых духом |
|||
11
Fragster
гуру
19.09.11
✎
17:06
|
1с не ООП
|
|||
12
Vladal
19.09.11
✎
17:07
|
(7) Рассказано. только не про полиморфию, а про сложные расчеты (вытесняющие, замещающие и их комбинации).
Есть такая большая и толстая книга "Профессиональная разработка в системе 1С:Предприятие 8". Авторы: А. П. Габец, Д. И. Гончаров, Д. В. Козырев, Д. С. Кухлевский и М. Г. Радченко) |
|||
13
Толич
19.09.11
✎
17:09
|
(7) Я лет 8 назад так перестал хвастаться, что знаю больше, чем окружающие. Понял, что ничего не знаю.
|
|||
14
Gesperid10
19.09.11
✎
17:11
|
() Почитай любой учебник по 1С 8 с примерами, начиная с Радченко и заканчивая Габец и Ко
|
|||
15
Ненавижу 1С
гуру
19.09.11
✎
17:17
|
(7) полиморфии тут как раз до грязи, ибо из-за не типизированности все методы виртуальны
|
|||
16
Goggy
19.09.11
✎
17:18
|
Ну давайте ещё разочек упомянем Радченко и Габца :)
|
|||
17
shuhard
19.09.11
✎
17:18
|
(15) а как обстоят дела со спинорными полями ?
|
|||
18
Vladal
19.09.11
✎
17:22
|
(17) зачёт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |