сравнение значений в строках после отбора
16.04.2019
16:08
#1
Добрый день! Подскажите, можно ли после того как заполнил ТЗ и сделал свертку и отбор, сравнить полученные строки между собой по значению(определенному столбцу) и записать цифру в переменную по количеству равную одинаковым значениям в этих строках?
Код отбора после свертки:
Таб.ВыбратьСтроки();
Пока Таб.ПолучитьСтроку()=1 Цикл
Если ПустоеЗначение(Водитель)=0 Тогда
Если Таб.ФИО<>Водитель Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если ПустоеЗначение(Марка)=0 Тогда
Если Таб.Марка<>Марка Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
//сравнить как то строки
Если Таб.ДатаРаботы=Таб.ДатаРаботы тогда //сравнивать по этому значению строки
Коллл=Коллл+1;
КонецЕсли;
КонецЦикла;
//Но у меня не работает этот код, подскажите правильное решение.
Код отбора после свертки:
Таб.ВыбратьСтроки();
Пока Таб.ПолучитьСтроку()=1 Цикл
Если ПустоеЗначение(Водитель)=0 Тогда
Если Таб.ФИО<>Водитель Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если ПустоеЗначение(Марка)=0 Тогда
Если Таб.Марка<>Марка Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
//сравнить как то строки
Если Таб.ДатаРаботы=Таб.ДатаРаботы тогда //сравнивать по этому значению строки
Коллл=Коллл+1;
КонецЕсли;
КонецЦикла;
//Но у меня не работает этот код, подскажите правильное решение.
16.04.2019
16:35
#2
Обычно в таких случаях рисуют пример таблицы и пишут "Для такой таблицы Коллл будет равен 10. Как это реализовать?"
16.04.2019
21:04
#3
Денис (САМАРА) пишет:
а это:
тебя не смутило?
Цитата |
---|
Обычно в таких случаях рисуют пример таблицы и пишут "Для такой таблицы Коллл будет равен 10. Как это реализовать?" |
Код |
---|
Если Таб.ДатаРаботы=Таб.ДатаРаботы тогда //сравнивать по этому значению строки |
17.04.2019
08:12
#4
Prikum пишет:
Это всех смущает, поэтому и спрашиваю, как правильно это сделать
Цитата | ||||
---|---|---|---|---|
Денис (САМАРА) пишет:
|
17.04.2019
08:15
#5
мне нужно не количество ФИО, а посчитать дни работы сотрудника. В документе могут забивать строки с одинаковой датой. Например работал сотрудник 3.04.19 Вывозил мусор и еще ниже строка 3.04.19 гладил белье. Вот мне чтоб посчитать это за 1 день, нужно эти строки соединить вместе и посчитать сколько строк получится - это и будет отработанные дни. У меня в программе заложено заполнение ТЗ по диапазону дат потом свертка по определенным значением а потом только отбор из этих полученных строк. Вот мне нужно эти полученные строки правильно посчитать. Если сверткой, то как это сделать ПОСЛЕ ОТБОРА:
Таб.ВыбратьСтроки();
Пока Таб.ПолучитьСтроку()=1 Цикл
Если ПустоеЗначение(Водитель)=0 Тогда
Если Таб.ФИО<>Водитель Тогда
Продолжить;
КонецЕсли;
Таб.ВыбратьСтроки();
Пока Таб.ПолучитьСтроку()=1 Цикл
Если ПустоеЗначение(Водитель)=0 Тогда
Если Таб.ФИО<>Водитель Тогда
Продолжить;
КонецЕсли;
17.04.2019
09:06
#6
Ответ на
пост №5
Evgenius пишет: Цитата |
---|
мне нужно не количество ФИО, а посчитать дни работы сотрудника. В документе могут забивать строки с одинаковой датой. Например работал сотрудник 3.04.19 Вывозил мусор и еще ниже строка 3.04.19 гладил белье. Вот мне чтоб посчитать это за 1 день, нужно эти строки соединить вместе и посчитать сколько строк получится - это и будет отработанные дни. |
Таб2 = СоздатьОбъект("ТаблицаЗначений");
Таб.Выгрузить(Таб2);
Таб2.Свернуть("ФИО,Марка,ДатаРаботы","<нужные колонки суммирования>");
Таб2.Сортировать("ФИО+,Марка+,ДатаРаботы+");
Таб2.ВыбратьСтроки();
Пока Таб2.ПолучитьСтроку() = 1 Цикл
....
КонецЦикла;
и по ней считай количество дней.
Некорректно отражается в отчетности больничный в отпускеУНФ и совместное ведение розницы и опта через 1 ккм
Читают тему
(гостей: 1)