конфигурирование
20.10.2009
16:27
#11
> Если колонки имеют один КОРЕНЬ в имени, тогда можно сделать так:
Например все колонки в которых ставиться флаг начинаются на День: День1, День2... День30
Например все колонки в которых ставиться флаг начинаются на День: День1, День2... День30
20.10.2009
16:34
#12
"Вот тут проблема.....поэтому КолФлаг нулевое получается
Если Найти (Кол.Имя, Корень) <> 0 Тогда
КолФлаг = КолФлаг + ?(Стр[Кол.Имя], 1, 0);
КонецЕсли;"
Если Найти (Кол.Имя, Корень) <> 0 Тогда
КолФлаг = КолФлаг + ?(Стр[Кол.Имя], 1, 0);
КонецЕсли;"
20.10.2009
16:45
#13
да...имеют один корень....только вот он ошибку выдает такую....
Переменная не определена (День)
Если Найти (Кол.Имя, <>>День) <> 0
колонки именно так и называются день1 ...день30
Переменная не определена (День)
Если Найти (Кол.Имя, <>>День) <> 0
колонки именно так и называются день1 ...день30
21.10.2009
09:40
#16
А вот ещё вопросик))помогите плиз....
вот сделала я этот документ с табличной частью, количество отмеченных флагов считает.....
Теперь мне нужно чтоб этот документ делал движение по регистру накопления так чтобы в один из ресурсов попада как раз таки это самое количество отмеченных флажков....Если в документе одна строка то все нормально))))а вот если несколько - нужно чтоб сумма по каждой строке попадала в отдельные строки регистра......
как можно это сделать?)))
вот сделала я этот документ с табличной частью, количество отмеченных флагов считает.....
Теперь мне нужно чтоб этот документ делал движение по регистру накопления так чтобы в один из ресурсов попада как раз таки это самое количество отмеченных флажков....Если в документе одна строка то все нормально))))а вот если несколько - нужно чтоб сумма по каждой строке попадала в отдельные строки регистра......
как можно это сделать?)))
21.10.2009
09:55
#17
А чем вас пугает множество строк?
Как одну записываете так, записывайте и все, только в цикле.
Если не понятно - приведите кусок кода, где вы формируете движения по регистру, когда у вас "одна" строка (можно не все, а только основные моменты). А то не ясно, что вас так испугало.
Как одну записываете так, записывайте и все, только в цикле.
Если не понятно - приведите кусок кода, где вы формируете движения по регистру, когда у вас "одна" строка (можно не все, а только основные моменты). А то не ясно, что вас так испугало.
21.10.2009
10:02
#18
"Вот строка из Процедуры Обработка Проведения.
Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней ();
А функци идет следующая после Процедуры.
Функция ПолучитьКоличествоДней ()
// ТЗ = ЭтотОбъект.ГрафикРабот.Выгрузить();
// Для Каждого Стр Из ТЗ Цикл
// КолФлаг = 0;
// Для Каждого Кол Из ТЗ.Колонки Цикл
// Если Найти (Кол.Имя, "День") <> 0
// Тогда
// КолФлаг = КолФлаг + ?(Стр[Кол.Имя], 1, 0);
//
// КонецЕсли;
// КонецЦикла;
// КонецЦикла;
//возврат КолФлаг;
КонецФункции"
Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней ();
А функци идет следующая после Процедуры.
Функция ПолучитьКоличествоДней ()
// ТЗ = ЭтотОбъект.ГрафикРабот.Выгрузить();
// Для Каждого Стр Из ТЗ Цикл
// КолФлаг = 0;
// Для Каждого Кол Из ТЗ.Колонки Цикл
// Если Найти (Кол.Имя, "День") <> 0
// Тогда
// КолФлаг = КолФлаг + ?(Стр[Кол.Имя], 1, 0);
//
// КонецЕсли;
// КонецЦикла;
// КонецЦикла;
//возврат КолФлаг;
КонецФункции"
21.10.2009
10:14
#19
":))) Попробуйте так (это как шаблон, так что думайте, когда копируете):
Функция ПолучитьКоличествоДней (МасКол, Стр)
КолФлаг = 0;
Для Каждого Кол Из МасКол Цикл
КолФлаг = КолФлаг + ?(Стр[Кол], 1, 0);
КонецЦикла;
возврат КолФлаг;
КонецФункции
Процедура ОбработкаПроведения()
МасКол = Новый Массив;
ТЗ = ЭтотОбъект.ГрафикРабот.Выгрузить();
Для Каждого Кол Из ТЗ.Колонки Цикл
Если Найти (Кол.Имя, "День") <> 0 Тогда
МасКол.Добавить (Кол.Имя);
КонецЕсли;
КонецЦикла;
....
Для Каждого Стр Из ГрафикРабот Цикл
...
> Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней ();
Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней (МасКол, Стр);
...
КонецЦикла;
....
КонецПроцедуры"
Функция ПолучитьКоличествоДней (МасКол, Стр)
КолФлаг = 0;
Для Каждого Кол Из МасКол Цикл
КолФлаг = КолФлаг + ?(Стр[Кол], 1, 0);
КонецЦикла;
возврат КолФлаг;
КонецФункции
Процедура ОбработкаПроведения()
МасКол = Новый Массив;
ТЗ = ЭтотОбъект.ГрафикРабот.Выгрузить();
Для Каждого Кол Из ТЗ.Колонки Цикл
Если Найти (Кол.Имя, "День") <> 0 Тогда
МасКол.Добавить (Кол.Имя);
КонецЕсли;
КонецЦикла;
....
Для Каждого Стр Из ГрафикРабот Цикл
...
> Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней ();
Движение.ВсегоДнейОсобыхРабот = ПолучитьКоличествоДней (МасКол, Стр);
...
КонецЦикла;
....
КонецПроцедуры"
Читают тему
(гостей: 1)