1с Обработка найти в таблице пересечения документов
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- Универсальная обработка для 1С 8.3 Инструмент для восстановления и исправления ошибок информационной базы
- Интерактивная справка по объектам 1С (подключаемое расширение)
- Отображение и редактирование в дереве большого количества настроек/параметров/опций программы, конфигурации, документа, справочника - без программного создания элементов формы
- Быстрая выгрузка в Excel с оформлением (числа, даты, колонтитулы, гиперссылки) через OpenXML
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(7)
ВЫБРАТЬ
ИсхТаблица.Событие,
ИсхТаблица2.Событие КАК ВтороеСобытие
ИЗ
ИсхТаблица КАК ИсхТаблица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсхТаблица КАК ИсхТаблица2
ПО (ИсхТаблица2.Начало МЕЖДУ ИсхТаблица.Начало И ИсхТаблица.Окончание)
И (ИсхТаблица2.Окончание МЕЖДУ ИсхТаблица.Начало И ИсхТаблица.Окончание)
И ИсхТаблица.Событие <> ИсхТаблица2.Событие
Показать
Сделайте выборку сначала по больничным.
Потом создайте соответствие.
Обходе сначала выборку циклом.
По типу такого
Итератор = День(НачалоБольничного);
С День(НачалоБольничного) по День(КонецБольничный) Цикл
Соответсвие.Вставить(Итератор, СсылкаНаБольничный);
итератор = итератор + 1;
КонецЦикла;
Таким образом ключ это число. Значение это ссылка.
После этого вам надо будет сделать выборку по отсутствию.
Так же обходите, ее циклом, но ищите уже в соответствии.
Цикл как сверху, но уже поиск.
Если Соответствие.Получить(Итератор) <> Неопределено тогда пересечение есть.
Я не точно не помню, но если поиск работает так же как в структуре, то поиск там О(1) должен быть. Т.е. моментальный.
По идее это должно быть очень быстро.
Потом создайте соответствие.
Обходе сначала выборку циклом.
По типу такого
Итератор = День(НачалоБольничного);
С День(НачалоБольничного) по День(КонецБольничный) Цикл
Соответсвие.Вставить(Итератор, СсылкаНаБольничный);
итератор = итератор + 1;
КонецЦикла;
Таким образом ключ это число. Значение это ссылка.
После этого вам надо будет сделать выборку по отсутствию.
Так же обходите, ее циклом, но ищите уже в соответствии.
Цикл как сверху, но уже поиск.
Если Соответствие.Получить(Итератор) <> Неопределено тогда пересечение есть.
Я не точно не помню, но если поиск работает так же как в структуре, то поиск там О(1) должен быть. Т.е. моментальный.
По идее это должно быть очень быстро.
(9) Какая разница. Ну сделай на все документы. Просто сделай соответствие или структуру(если ключ к строке будешь приводить). И по порядку обходи документы. В отличии от всяких массивов, в этом случае не надо будет молотить все строки при поиске пересечения. Если есть совпадение выводишь совпадение. Если нет, то добавляешь в соответствие/структуру.
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день