|
Что вы думаете по поводу процедуры из типовых | ☑ | ||
---|---|---|---|---|
0
Fragster
гуру
12.07.11
✎
16:09
|
Процедура ВыполнитьДвижениеПоРегистру(НаборДвижений, ВидДвижения = Неопределено,
ПустыеКолонкиСоставногоТипа = Неопределено) Экспорт Какова цель? почему именно так сделано (обход по колонкам, потом внутри по строкам)? |
|||
1
wladimir90
12.07.11
✎
16:12
|
Подробней пожалуйста.
|
|||
2
Ненавижу 1С
гуру
12.07.11
✎
16:12
|
универсальность типо
|
|||
3
Fragster
гуру
12.07.11
✎
16:13
|
(2) что ж так через анус?
|
|||
4
Лефмихалыч
12.07.11
✎
16:13
|
(0) пользуюсь с удовольствием
|
|||
5
ice777
12.07.11
✎
16:13
|
(0) нет у тебя в коде ни колонок ни строк )
|
|||
6
Лефмихалыч
12.07.11
✎
16:13
|
+(4) зело удобно в купе с туповой же ЗагрузитьВТаблицуЗначений()
|
|||
7
Fragster
гуру
12.07.11
✎
16:13
|
// Откопируем остальные колонки (структура таблиц совпадает).
ПерваяКолонка = Истина; МассивСтрок = Новый Массив(ТаблицаДвижений.Количество()); Для каждого Колонка Из ТаблицаДвижений.Колонки Цикл ИмяКолонки = Колонка.Имя; Если ИмяКолонки <> "Период" И ИмяКолонки <> "Активность" И ИмяКолонки <> "НомерСтроки" И ИмяКолонки <> "" И ИмяКолонки <> "ВидДвижения" И ИмяКолонки <> "МоментВремени" Тогда Если ИзмеренияСостТипа.Свойство(ИмяКолонки) Тогда ФлагКолонкиСостТипа = Истина; Иначе ФлагКолонкиСостТипа = Ложь; КонецЕсли; Индекс = 0; Для каждого СтрокаТаблицы Из ТаблицаДвижений Цикл Если ПерваяКолонка Тогда Если ВидДвижения = ВидДвиженияНакопления.Приход Тогда СтрокаДвижения = НаборДвижений.ДобавитьПриход(); ИначеЕсли ВидДвижения = ВидДвиженияНакопления.Расход Тогда СтрокаДвижения = НаборДвижений.ДобавитьРасход(); Иначе СтрокаДвижения = НаборДвижений.Добавить(); // Для оборотных регистров КонецЕсли; МассивСтрок[Индекс] = СтрокаДвижения; СтрокаДвижения.Период = НаборДвижений.мПериод; Иначе СтрокаДвижения = МассивСтрок[Индекс]; КонецЕсли; |
|||
8
Fragster
гуру
12.07.11
✎
16:14
|
почему не обходить сначала строки? почему не использовать "заполнитьЗначенияСвойств" (хотя бы для колонок несоставного типа)?
|
|||
9
Maxus43
12.07.11
✎
16:19
|
никогда не пользовался... Набор записей наше всё
|
|||
10
apokrit
12.07.11
✎
16:24
|
(8) Наверное, ЗаполнитьЗначенияСвойств в платформе еще не было когда этот код писали.
В оправдание странного порядка обхода ничего не скажу. |
|||
11
ice777
12.07.11
✎
16:30
|
(7) тоже не нашел смысла. до обхода строк не делается ничего, определяющего дольнйшее заполнение.
|
|||
12
IamAlexy
12.07.11
✎
16:45
|
(0) типовую пишут люди.. простые человеческие обычне люди...
не БН лично.. а простые смерные.. вопрос "почему они делают так"? нужно в большинстве случаев перефразировать на "почему ОН сделал именно так?" и соответственно ответ зачастую будет "а почему бы и нет, работает же" это я к тому что не пытайтесь постичь вселенскую мудрость кода типовых.. |
|||
13
Fragster
гуру
12.07.11
✎
17:20
|
(12) переписал сейчас (поскольку надо заполнять регистратор, а он не заполняется в этой процедуре, отдается на откуп автозаполнения). получилось почти в 2 раза меньше кода, ну и побыстрее незначительно.
|
|||
14
wladimir90
12.07.11
✎
17:32
|
(13) На то они и типовые что бы не заморачиваться а использовать типовые механизмы везде пусть и в ущерб скорости исполнения, зато в плюс скорости разработки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |