Имя: Пароль:
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+ субконто или дорабатываю типовой, то вынужден просто менять общие модули, что не есть хорошо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший