Имя: Пароль:
1C
1С v8
Еще одна тема о коде УПП.
0 program1Cer
 
22.03.13
13:25
Их наверно уже было тысячи.

Модуль БухгалтерскийУчет.

Процедура ПривестиЗначениеСубконто(ТабличноеПоле, ДтКт, СведенияОСчете) Экспорт
   Для СчетчикСубконто = 1 По 3 Цикл
       Если СведенияОСчете.КоличествоСубконто >= СчетчикСубконто Тогда
           ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто] = СведенияОСчете["ТипСубконто"+СчетчикСубконто].ПривестиЗначение(ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто]);
       Иначе
           ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто] = Неопределено;
       КонецЕсли;
   КонецЦикла;
КонецПроцедуры   // ПривестиЗначениеСубконто


Ну почему нельзя было сделать:
Для СчетчикСубконто = 1 По СведенияОСчете.КоличествоСубконто Цикл

?
1 Господин ПЖ
 
22.03.13
13:26
ибо сказано в писании - более 3 субконто - зло есть. мозг буха столько не выносит
2 Господин ПЖ
 
22.03.13
13:26
надо все выносить в регистры и сношать мозг буха и программиста за одно. чтобы было не понятно почему аванс не закрывается
3 Maxus43
 
22.03.13
13:28
в документах в ТП 3 поля потомушта, 4 нету
4 Господин ПЖ
 
22.03.13
13:29
(3) за это отдельное спасибо...
5 program1Cer
 
22.03.13
13:33
(1) У нас бух-извращенцы, требуют 4 субконто и иногда даже дублировать аналитику по дебету и кредиту.

(3) Не аргумент, система позволяет увеличивать число субконто, следовательно уж в общих модулях могли бы предусмотреть этот факт. Про документы ладно, динамическое количество полей это видимо задача уже не для 1С =)
6 Maxus43
 
22.03.13
13:35
(5) Этот код из (0) работает именно с табличным полем документа, тут просто смысла нет более 3-х использовать
7 program1Cer
 
22.03.13
13:53
(6) В этом и суть общего модуля. Что если разрабатываю свой документ под 3+ субконто или дорабатываю типовой, то вынужден просто менять общие модули, что не есть хорошо.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан