#0
by PiotrLoginov
Здравствуйте всем. Сформирована ТаблицаЗначений (есть колонка "Дата"). Необходимо перебрать даты определенного периода и для каждого дня выбрать те строки из ТаблицыЗначений, в которых "Дата" - этот день (если, конечно, таковые имеются). Проще говоря для первого числа вынимаем из таблицы все строки, где в колонке Дата - 1, для второго числа - все со значением 2 и т.д. Подскажите, пожалуйста, на какие методы языка опереться.
#2
by PiotrLoginov
Как будет правильнее - отсортировать таблицу по колонке Дата и затем в переборе проверять каждую новую строку на предмет увеличения значения даты или же перебирать массив дат и для каждой даты искать в ТаблицеЗначений строки с нужным значением?
#3
by Darky
Откуда ТЗ сформирована? Модет проще при заполнении таблицы накладывать условие на период?
#4
by H A D G E H O G s
Груды хлама, снопы света Полусонные глаза Не хватило до рассвета Где-то 22 часа Было холодно и тихо, Мысли медленно ушли По стене и по паркету Потекли мои мозги
#5
by szhukov
Если нужны все данные из таблицы, то быстрее, наверное, будет перебор со сменой даты. Если данные из таблицы нужны не все, а интересует какая-то часть, то лучше отбором по нужным строкам (НайтиСтроки). Еще вариант - запрос, таблицу в запрос и все что угодно...
#6
by PiotrLoginov
ТЗ сформирована из справочника с периодическим реквизитом. По формированию ТЗ вопросов нет. "проще при заполнении таблицы накладывать условие на период?" Гм... неужели перебор дат в 1С настолько сложен? сильные строки. В данный момент я в порядке.. в сон не клонит. Помогите лучше советом; уверен, для Вас вопрос яйца выеденного не стоит.
#7
by PiotrLoginov
"Если данные из таблицы нужны не все..." нет-нет, в итоге нужны все строки. Вот только надо их выбирать не все сразу, а сначала те, где дата - начало периода (если такие есть), затем те, где дата - начало периода + 1 и т.д.
#12
by France
можно начать с исходной задачи.. и, для развлекухи проверь, с ТЗ Дата или Дата+время. и, самое правильное - научи себя запросам - в 8.2 их можно везде и всегда использовать... и нужно..
#13
by PiotrLoginov
Если перебирать отсортированную таблицу, то надо при получении новой строки как-то определять, новая там дата или прежняя... и если новая, то на сколько дней она сменилась. Если честно, я надеялся, что в 1С как-то можно тупо перебрать все даты определенного периода и для каждой даты проверить наличие подходящих строк в ТаблицеЗначений.
#16
by PiotrLoginov
Сори, господа, помогите, пожалуйста, с поправкой на язык седьмой версии, а завтра я попытаюсь найти модератора с правами переноса веток.
#17
by PiotrLoginov
Сейчас набросаю код использования сортированной таблицы поконкретней. Цель будет - создание табличных частей из строк с одниаковой датой. Мне это понадобится потом для программного создания документов с табличными частями.. Ну не суть. Итак:
#18
by PiotrLoginov
Ну вот, я получил для одного дня (одной даты) одну строку результирующей таблицы со вложенной табличной частью. А как получить такие строки для остальных дней периода?
#20
by PiotrLoginov
спасибо... у меня тем временем кажется формируется решение... как всегда простое до безобразия... или я ошибаюсь...
#22
by Voronve
Собстна метода 2, первый - поиск в плоской таблице нужной даты и выборка строк пока дата не кончиться или не кончиться таблица. Второй (ты правильно ухватил идею) - превратить плоскую таблицу в двумерную (табица в таблице). Пример 1 (плоская таблица): .... твои телодвижения ... Пример 2 (таблица в таблице): ... твои телодвижения .... КонецЦикла;
#23
by PiotrLoginov
Вчера после завершения работы уже не хватило сил отписаться о найденном решении. В конечном итоге вопрос решается, имхо, организацией цикла перебора искомых строк внутри цикла перебора дат. Спасибо Большое. Создать вспомогательную таблицу, свернуть ее и организовать цикл с перебором ее строк - просто гениальная идея, ибо все гениальное просто. Вот и я вчера не мудрствуя лукаво попросту перебрал все даты требуемого периода: День = '01.11.2012'; Как и подозревалось, вопрос яйца выеденного не стоил, и все же для меня это было несколько потерянных часов :( ................................... Вопрос решен, но да здравствуют новые вопросы. В основном благодаря . Не знаю, стоит ли в них копаться... Честно говоря, мне не удалось до конца въехать в смысл предложенного в первом примере, так как я плохо представляю себе работу метода НайтиЗначение . В третий параметр метод возвращает номер найденной строки? А если найденных строк несколько? Тогда видимо для первой найденной строки? Т.е. только для одной? Гм... как, для начала, организован перебор дат? Мне показалось так мы получим данные только для одной даты - '01.02.03' ... __________ Во втором примере, видимо, предлагается заполнить ТЗ в рамках одного цикла (а не цикла внутри цикла) перебора строк <ТвояТаблица>. Это конечно невероятно круто... Если бы я еще понимал, как этим пользоваться :D Просто скопировать код нет смысла - мне надо его модифицировать под свои нужды... Ну вот: ... ...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: Перебор подчиненных справочников в 77
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Пустая дата не определяется как Дата(0)
- v7: Перебор скрытых колонок в таблице значений
- Что быстрее? Поиск в таблице значений, соответствии или прямой поиск в базе?
- Запрос всех строк номенклатуры из всех табличных частей всех документов
- v7: Перенос данных Бухгалтерия из v7 в v8
В этой группе 1С
- Ошибка записи файла обмена в сетевой каталог
- ут 11 8.2 как отключить контроль ссылочной целостности
- Хитрая задачка - таблица в шаблоне Word
- Не работают свойства ПовторятьПриПечатиКолонки и ПовторятьПриПечатиСтроки ...
- ЭДО в Бухгалтерии 2.0
- Приложения RemoteAPP не запускаются
- Реструктуризация регистра бухгалтерии
- Разница в регистрах Способы распределения статей затрат.
- Риб в одну сторону
- Документооборот согласование по почте
- Список значений - Таблица значений - Временная таблица
- как установить УстановитьПривилегированныйРежим
- Аналог процедуры ТекущаяИБКод() в 1с8
- Картинка на заднем плане макета ?! КАК?!
- Последовательность "Расчеты по приобретению организации" не двигается.
- ошибка SDBL:Соединение с базой данных не удерживается
- БП 2.0: ввод остатков НДС 19.7
- Обмен УТ-БП постоянно идет "запись изменений для узла"?
- Как получить текущее значение списка значений
- СКД: вывод шапки столбца группировок