Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/d3c6062a2d37b18a6a87493585f04204 to your computer and use it in GitHub Desktop.
Save anonymous/d3c6062a2d37b18a6a87493585f04204 to your computer and use it in GitHub Desktop.
1с отбор по значению в текущей колонке

1с отбор по значению в текущей колонке


1с отбор по значению в текущей колонке



Вызов процедуры Отбор и сортировка
Создаем универсальный механизм отбора и сортировки для управляемых форм
Кнопка отбор по значению в колонке для форм списка


























Программирование - Практика программирования. Как это было просто в обычном интерфейсе: И как это, оказывается, нетривиально для списков в УФ. Особенно в общем случае, который я и рассматривал, работая с ТекущимиДанными как с ДаннымиФормыбезотносительно их происхождения и наполнения. И вот тут 1С немного "поленились": Свойство ИмяКолонки возвращает истину, то вот уже полей, добавленных в Конфигураторе как разыменование, хоть на 1 шаг вперёд, нет возможности получить их значение. Видеть - видим, программно не получаем. Но это ещё терпимо, так как для таких полей есть свойство их реквизита ПутьКДанным, по которому можно, исходя из "штатно" объявленных полей, вытащить значение. Поля, добавленные в режиме "Предприятие" как разыменование имевшихся и неважно, штатно-объявленных основных полей или разыменованных в конфигураторе , - эти поля вообще никак не ущучить. Для них свойство "ПутьКДанным" вообще не поддерживается, не говоря уж о ТекущиеДанные[ИмяКолонки]. Видеть - видим, общий отбор обычным образом поставить можем, а получить видимое невооружённым глазом значение ячейки программно - нет. Да, у таких добавленных разыменованных полей есть имена. И на этом были основаны пара решений, которые на ИС появились ещё в лохматые времена. Как известно, работая с путями к данным, которые надо преобразовать в валидные имена 1С, любая СКД в системном представлении заменяет точки на знак подчёркивания. И вот теперь у нас есть развлечение: СКД динамического списка тут не исключение. Заметим также, что СКД ещё и стандартные реквизиты именует латиницей DeletionMark, а не ПометкаУдаления , притом что локализованная 1С при переборе коллекции метаданных СтандартныеРеквизиты в их свойстве "Имя" возвращает-таки русскоязычное написание. Ничего не скажу плохого про другие варианты решений, но проблему подчёркиваний там, насколько видел, не решали. Словом, место для извращений есть. Элементы [ рИмяРеквизитаСписка ]. НайтиСтроки Новый Структура "Имя,Путь" , рИмяЗвена , рПуть. Вставить "Имя" , эл. Вставить "Путь" , СтрЗаменить эл. Вставить "ТипЗначения" , стротрек. Прочие варианты - служебные! Функция работает, исходя из условия, что элемент динам. Свойство "РежимВызова" , СокрЛП рПараметры. Свойство "ЭлементыИРеквизиты" , рПараметры. Вставить "ПутьКДанным" , рНужное. Вставить "ИмяЭлементаИРеквизитаСписка" , рПараметры. Вставить "ИмяИсходногоПоля" , СокрЛП рНужное. Вставить "ОписТиповИсходногоПоля" , рНужное. Вставить "ИмяПуть" , рПараметрыДалее. В настройке формы поля с подчёркиванием и без штатных представлений ооочень забавно выглядят При изменении данных объявленные в конфигураторе обновляются, а добавленные динамически в 1С - нет. Или это у меня релиз такой Несмотря на то, что стандартные реквизиты в служебных именах СКД списка даёт латиницей, в диалоге настройки списка установленные исходя из англоязычных термов отборы представлены по-русски. Если разыменованное поле имеет тип Булево, но путь разыменования прерван пустым значением то есть до конечного значения просто нельзя дойти , показ псевдозначения поля в этой колонке всё равно будет, равный "нет", но при отборе по "Нет" он эту строку в удовлетворяющие отбору не включит. Спецэффект, вызывающий недоумение пользователей. И "до кучи" предлагаю процедуру установки "быстрого отбора" по значению текущей колонки. Да, есть отборы, вызываемые через "Настроить список", да, есть поиск с множественным отображением, но привычка пользователя - страшная штука, да и нажатий меньше. При прямом поиске перебором элемент "наследуется". Тип файла Нет файла. Платформа Платформа 1С v8. Конфигурация Не имеет значения. Операционная система Не имеет значения. Страна Не имеет значения. Отрасль Не имеет значения. Налоги Не имеет значения. Вид учета Не имеет значения. Раздел учета Не имеет значения. Доступ к файлу Бесплатно free. Код открыт Не указано. Павел Чистов Визитная карточка. Новости Публикации Вебинары Видео Вакансии Заказы на работу. Получить значение из текущей ячейки списка в УФ - оказывается, не так-то просто. Особенно если хочется сделать универсальное решение. Предлагаю свой, достаточно общий способ. И до кучи - быстрый отбор по значению текущей колонки. Оформление и рефакторинг сложных логических выражений. Net в 1С для новичков. Недокументированное использование стандартных обработок из меню "Все функции". Выразить число как строку и дату как строку в запросе. Расчет хэш-функции в запросе. Простая и быстрая эмуляция операций с битовыми строками. На примере использования HTTPClient,AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Полезные советы для разработки. Мой взгляд на проблему. Старые обработки в новом Управляемом интерфейсе. Будни автоматизации или "мне нужна программка для 3D упаковки". Обновление доработанной Бухгалтерии предприятия. Как проверить и убедиться, что все сделано хорошо? Некоторая работа с данными через COM. Хранение файлов в томах на диске для УПП 1. Сложные запросы в динамическом списке или как не надо писать запросы для них. Как устроена регламентированная отчетность в 1С. Дата Дата Дата Рейтинг Древо Сохранить. Яков Коган Yashazz Да, и ещё примечание для эстетов - во встроенной коллекции картинок 1С теперь отсутствуют иконки для быстрого отбора и для снятия отборов, придётся откуда-то брать; я из 8. Алексей 1 AlX0id Алексей Опарихин Al-X Никита Грызлов nixel Отбор по значению в текущей колонке добавят в одном из новых релизов 8. А вот за методику текущей ячейки - спасибо: Елена Пименова Bukaska Хоть я ещё и плохо соображаю в динамических списках, но буду вникать Спасибо за информацию. У меня под 8. Вообще, красавцы 1С-овцы, не доделали кучу нужнейших вещей, а мы теперь изгаляйся и жди у моря погоды. EvgeniuXP EvgeniuXP EvgeniuXP Но как оно там работает - бабушка надвое сказала, а моему способу хоть верить можно. Хотя радует, что всего-то через год после бодрого анонса "продвинутой" системы в неё вернули то, что умела ещё 7. Антон Антонов monkbest 28 Это же и есть отбор по текущей ячейке? Или я не понял суть статьи, прокомментируйте пожалуйста на пальцах, какое действие желание пользователя тут автоматизируется. Введите ваш пароль Забыли свой пароль? Код подтверждения из письма: Введите код подтверждения из письма. Оставьте заявку и в течение 24 часов с Вами свяжется менеджер и вышлет подбор обработок или программных продуктов 1С по вашим требованиям. Отраслевые решения Бухгалтерия Производство Услуги и сервис Торговля Прочее Отчеты Анализ учета Бухгалтерские Налоговые Специальные Статистические Управленческие Финансовые Разное Обработки Закрытие периода Менеджеры внешних отчетов 53 Обработка документов Обработка справочников Рабочее место Свертка базы Универсальные обработки Ценообразование, прайсы Управление Бизнес-процессы Интеграция 43 Личная эффективность 17 Пользователю системы Практика учета Теория учета Техническое задание 44 Управление проектом Обмен Email рассылки SMS рассылки 96 Загрузка и выгрузка в Excel Интеграция с WEB Обмен с другими системами Обмен с интернет-банком Обмен через DBF Обмен через XML Перенос данных из 1C8 в 1C8 Перенос данных из 1С7. Администрирование Архивирование backup Журнал регистрации Защита, права, пароли Оптимизация БД HighLoad Поиск данных Распределенная БД УРИБ, УРБД Сервисные утилиты Системное Стартеры 1С 75 Статистика базы данных Тестирование и исправление Чистка базы Программирование Инструментарий Внешние компоненты Защита и шифрование 68 Мобильные приложения Ошибки в отраслевых решениях 28 Практика программирования Работа с интерфейсом Сертификация Теория программирования Универсальные функции Печать Классификаторы 55 Пакетная печать Печатные формы документов Регламентированная отчетность Справки Статистики 80 Универсальные печатные формы Ценники Оборудование POS терминал 36 Весы 56 ККМ Ридер магнитных карт 11 Сканер штрих-кода Телефония, SIP 41 Терминал сбора данных 86 Фискальный регистратор 82 Сообщество Архив Игры Инфостарт Люди 22 О жизни Поздравления Яков Коган Yashazz Рейтинг: Анализ изменений в регистрах при перепроведении документа 8.


Значение текущей ячейки списка УФ


Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www. Программирование - Практика программирования. Реквизит имеет не ссылочный тип: В таблице нет данных о имени: ПустаяСтрока АдресРеквизита , "" , ". Выполнить СхемаКомпоновкиДанных , КомпоновщикНастроек. Добавить Новый Структура "ЛевоеЗначение, ВидСравнения, ПравоеЗначение" , ЭлементОтбора. ИмяКоманды , ИсторияОтборов [ 0 ]. Имя , Тип "КнопкаФормы" , Элементы. Найти ИмяКоманды , Элементы. Пустая И НЕ Элементы. Имя , ИсторияОтборов [ 0 ]. Тип файла Внешняя обработка ert,epf. Платформа Платформа 1С v8. Операционная система Не имеет значения. Отрасль Не имеет значения. Налоги Не имеет значения. Вид учета Не имеет значения. Раздел учета Не имеет значения. Код открыт Не указано. По каталогу По форуму. Мы свяжемся с вами в рабочее время. Новости Event Библиотека Конфигурации Разработки Курсы Биржа труда Вакансии Резюме Кабинет Биржа заказов Компании Вебинары Видео Форум ТОП Причиной этого труда стало: Отбор имеет полный функционал как и в 1С Предприятие 8. Отсутсвует ошибка при использовании истории отборов в 1С Предприятии 8. Возможность использования отборов и сортировки для всех возможных реквизитов, которые присутствуют в таблице и тех которые добавлены через команду формы "Изменить форму" Например, Номенклатура. Сортировка по любому реквизиту в таблице; 5. История отборов размером в 20 элементов; 6. Все построенно на СКД с выводом в таблицу значений, что дает возможность использовать дополнительные поля которые есть в запросе; 7. Минимум серверных вызовов; 8. Для использования в своих разработках достаточно изменить запрос в наборе данных, структуру полей компоновщика ПриСозданииНаСервере и подкоректировать таблицу значений для вывода. Код обработки, работоспособен в конфигурации УТ Скачать файлы Наименование Файл Версия Размер Универсальный отбор. Новый запрос и новая таблица значений как функции. Простой способ индексирования интервалов. Уровни, глубина, прародители, циклы и аналоги запросом. Расчет средних по периодам в запросе - это элементарно! Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали. Баттерфляй - метод быстрого расчета нарастающего итога в запросе. Быстрое определение интервалов в запросе. Как нарисовать граф на 1С. Выполнение JavaScript кода из 1С в объекте Поле HTML Документа HTML 5 и вызов события в 1С ПриНажатии. Выразить строку как число и строку как дату в запросе. Подборка иконок для подсистем 1С: Универсальный редактор реквизитов объектов. Импорт из EXCEL и других источников xls, xlsx, xlsb, ods, sxc, dbf, mxl, csv, clipboard, sql в 1С. Полезные приемы при работе с Excel из 1С Версия 3. Эффективная обработка данных в оперативной памяти за счет использования коллекции "соответствие". Дата Дата Дата Рейтинг Древо Сохранить. Петр Базелюк pbazeliuk Dmitry Afanasyev afanasko 35 Побежал прикручивать к своим конфам. Дандронтий Крузенштерн dandrontiy Получается не только чисто отбор можно использовать, но еще и дополнительные запросы. Функционал явно превосходит механизм отборов в 1с 8. Например отбор по реквизитам подчиненного документа. Но с кодом еще придется поразбираться ;- не тривиально всё. Makc Saipl Saipl 6 Василий Антонов khaoos Однозначно плюс, к тому же еще и код выложил! Александр Гуляев gavrikprog Евгений Шабалин xzorkiix 27 Екатерина Горобец aviaye Очень этого не хватало, спасибо автору И пошла пробовать-экспериментировать. Вот это штукенция очень надо. Алексей Ан An-Aleksey 53 То что доктор прописал: Сергей Федоров Bober 26 Яков Коган Yashazz Красиво, но для добавляемых колонок нежизнеспособно, ибо сделать такой универсал очень трудно. Вот есть у меня динам. И вот хочу я отобрать по колонке, принудительно выведенной на интерфейс. И тут, подозреваю, нифига не выйдет. Да, и если в именах полей, сами по себе, есть знаки подчёркивания - тоже сомневаюсь в безошибочности. Проблема присутствует, если в выборке множество реквизитов ссылочного типа, а не один. Пользователям жутко не хватает этих кнопок. Вроде как в УФ это и есть, но где раньше было одно нажатие, теперь нужно в лучшем случае, а при составных отборах и того больше. Еще бы как-то это в общую команду оформить Да как этим пользоваться, объясните Основной реквизит - Список с типом ДинамическийСписок. Чекбокс Произвольный запрос установлен. В скаченной обработке среди реквизитов есть таблица значений. Значит, работаем вместо динамического списка с таблицей значений, что ли? Для динамического списка эта публикация не подойдет. Для динамического списка все совсем иначе и в описании еще написано: Z Lu validat 1 Сортировка нужна в платформе, однозначно. Елена Ситникова lesenoklenok 19 Иван Дижа IDija Подскажите а как бы этот функционал использовать в форме выбора? Что бы при написании наименования предлагалась предыдущие варианты поиска. Может есть и вариант попроще, но не шел? Задача по своей сути очень простая, если не нужно использовать переопределение вызовов и динамическое подключение функциональности. Александр Зорин Manticor 62 Подскажите пожалуйста, возможно ли данный механизм реализовать под обычные формы для табличного поля с типом таблица значений?? Введите ваш пароль Забыли свой пароль? Код подтверждения из письма: Введите код подтверждения из письма. Оставьте заявку и в течение 24 часов с Вами свяжется менеджер и вышлет подбор обработок или программных продуктов 1С по вашим требованиям. Отраслевые решения Бухгалтерия Производство Услуги и сервис Торговля Прочее Отчеты Анализ учета Бухгалтерские Налоговые Специальные Статистические Управленческие Финансовые Разное Обработки Закрытие периода Менеджеры внешних отчетов 53 Обработка документов Обработка справочников Рабочее место Свертка базы Универсальные обработки Ценообразование, прайсы Управление Бизнес-процессы Интеграция 43 Личная эффективность 17 Пользователю системы Практика учета Теория учета Техническое задание 44 Управление проектом Обмен Email рассылки SMS рассылки 96 Загрузка и выгрузка в Excel Интеграция с WEB Обмен с другими системами Обмен с интернет-банком Обмен через DBF Обмен через XML Перенос данных из 1C8 в 1C8 Перенос данных из 1С7. Администрирование Архивирование backup Журнал регистрации Защита, права, пароли Оптимизация БД HighLoad Поиск данных Распределенная БД УРИБ, УРБД Сервисные утилиты Системное Стартеры 1С 75 Статистика базы данных Тестирование и исправление Чистка базы Программирование Инструментарий Внешние компоненты Защита и шифрование 68 Мобильные приложения Ошибки в отраслевых решениях 28 Практика программирования Работа с интерфейсом Сертификация Теория программирования Универсальные функции Печать Классификаторы 55 Пакетная печать Печатные формы документов Регламентированная отчетность Справки Статистики 80 Универсальные печатные формы Ценники Оборудование POS терминал 36 Весы 56 ККМ Ридер магнитных карт 11 Сканер штрих-кода Телефония, SIP 41 Терминал сбора данных 86 Фискальный регистратор 82 Сообщество Архив Игры Инфостарт Люди 22 О жизни Поздравления Петр Базелюк pbazeliuk Рейтинг: Библиотека Новости Статьи Книги. Сообщество Форум ТОП Спецпроекты. Биржа труда Вакансии Резюме Компании. Обучение Видео Вебинары Курсы. Программы Конфигурации Разработки Софт. Биржа заказов Специалисты Заказы Компании. Тарифы на абонемент О сайте Контакты Партнерство Пресса о нас Помощь Реклама на сайте. Бесплатный доступ Пользовательское соглашение Правила публикации Правила форума Правила работы магазина Конфиденциальность. Написать в техподдержку Контакты и реквизиты Россия:


Звезда лады значение оберега
Почему нравится тот или иной человек
Ewh 80 инструкция
Диагностика результатов не дала
Как делать салат цезарь в домашних условиях
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment