Подсистема "Инструменты разработчика" v7.82.2
Разработка - Инструментарий разработчика
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
| Наименование | Скачано | Бесплатно |
|---|---|---|
|
Вариант Конфигурация для 1С 8.2.19+, 8.3.4+
.cf 15,21Mb ver:6.67.7
15977
|
15977 | Скачать бесплатно |
|
Вариант Портативный для 1С 8.2.12+, 8.3.4+
.zip 14,35Mb ver:6.67.7p
9747
|
9747 | Скачать бесплатно |
|
Вариант Расширение для 1С 8.3.10.2375+, режим совместимости 8.3.9+
.cfe 15,99Mb ver:7.82.2e
6262
|
6262 | Скачать бесплатно |
|
Подсистема для 1С 8.1.12+ (поддержка прекращена)
.cf 2,33Mb ver:2.04
13658
|
13658 | Скачать бесплатно |
|
Синтакс-помощник 8.1.15.14
.ZIP 13,90Mb
2137
|
2137 | Скачать бесплатно |
|
Установщик варианта Расширение
.epf 42,51Kb ver:20.04.2025
2311
|
2311 | Скачать бесплатно |
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Подсистема победила на конференции Infostart Event Evolution 2013 в номинации "Лучшая разработка"
Поддерживаются клиентские приложения
- 32-битный толстый клиент (1cv8.exe), доступны все функции
- 32-битный тонкий клиент (1cv8c.exe), только для запуска 32-битного толстого клиента
- 64-битный толстый клиент (1cv8.exe), недоступны некоторые малозначимые функции
- 64-битный тонкий клиент (1cv8c.exe), только для запуска 64-битного толстого клиента
Поддерживаются режимы запуска
- толстый клиент обычное приложение
- толстый клиент управляемое приложение, недоступен в портативном варианте
- на стороне сервера доступно использование некоторых программных отладочных функций
Поддерживаются режимы конфигурации
- (для 8.3) "Режим использования синхронных вызовов расширений и внешних компонент" <> "Не использовать"
Запуск в режиме "Обычное приложение"
Конфигурации под управляемое приложение часто вполне работоспособны и в режиме обычного приложения. У таких конфигураций установлен основной режим запуска "Управляемое приложение". Однако вы можете запустить для них обычное приложение любым их вариантов
- указав параметр командной строки /RunModeOrdinaryApplication
- установив пользователю базы свойство "Режим запуска" = "Обычное приложение"
- из конфигуратора в "Сервис/Параметры" указать режим запуска "Управляемое приложение и обычное приложение" и запускать команду "Начало отладки"/"Толстый клиент (обычное приложение)"
- из управляемого приложения выполнив команду подсистемы "Запустить обычное приложение" или формы базовой внешней обработки портативного варианта инструментов
Как разобраться в большом количестве кнопок
В каждой немаленькой командной панели подсистемы, включая главную панель инструментов, первой кнопкой идет кнопка
"Структура командной панели" (продвинутый аналог "Все действия" в управляемой форме). Она позволяет искать по описанию кнопок


Копирование и вставка ссылок
Во всех полях ввода и табличных полях подсистемы доступны команды Копирования (SHIFT+ALT+C) и Вставки (SHIFT+ALT+V) ссылки. Используется собственный формат буфера обмена Windows и поэтому копировать можно в приложении одной базы, а вставку выполнить в приложении другой базы с одноименным типом объектов. Демонстрация
В большинстве полей ввода подсистемы при вставке представлений ссылок документов выполняется поиск подходящего документа по номеру и дате из вставленного представления.
В большинстве полей ввода подсистемы при вставке представлений уникальных идентификаторов (например "<Объект не найден> (2491:bb0d84b6646fdfd3424fd266dd85544a)", "dd85544a-d266-424f-bb0d-84b6646fdfd8") выполняется преобразование уникального идентификатора в ссылку.
Глобальное меню управляемых форм
В непортативных вариантах во всех управляемых формах (не ограничиваясь подсистемой) сочетание клавиш CTRL+ALT+E вызывает глобальное контекстное меню подсистемы. Его состав определяется текущими ячейкой/полем/строкой/таблицей/табличным документом/формой. Подробно познакомиться с ним можно в статье.
Так например выглядит состав этого меню при вызове в таблице динамического списка:

Состав:
- справочник Алгоритмы- здесь можно хранить редактировать и выполнять программный код с параметрами
- алгоритмы можно вызывать через методы
- ирИВА(СсылкаАлгоритма СтруктураПараметров) - именованная передача параметров
- ирПВА(СсылкаАлгоритма П1= П2= П3= ...) - позиционная передача параметров
- для каждого алгоритма при включенной настройке "Выполнять через динамические внешние обработки" генерируется внешняя обработка через которую он выполняется что позволяет выполнять отладку и замер производительности
- алгоритмы можно вызывать через методы
- консоль кода -форма для редактирования и выполнения произвольного кода на встроенном языке с использованием параметров
- к редактору программного кода подключена компонента "Контекстная подсказка"
- в редакторе программного кода кнопка "Вставить ссылку на объект БД"
- код можно выполнять на сервере
- режим выполнения через динамическую внешнюю обработку на клиенте
- кнопка Отладчик открывает динамическую внешнюю обработку в отладчике
- заполнение таблицы параметров через анализа текста
- кнопка для исследования значения текущего параметра
- кнопка для помещения данных в форму выбранного элемента справочника "Алгоритмы"
- для программного вызова служат функции
- Оперировать(Знач ТекстПрограммы= Знач РежимОперации= СтрокаИменПараметров= П1= П2= П3= П4= П5=)
- Оп(П1=П2= П3= П3= П4= П5=)
- ОперироватьСтруктурой(ТекстПрограммы= Модально= СтруктураПараметров) или короткая Опс(СтруктураПараметров)
- интерфейсная панель- форма позволяет быстро находить нужный объект метаданных и открывать любую его форму
- структура дерева метаданных
- на первом уровне находятся типы объектов метаданных а на втором сами объекты
- ветка последних использованных объектов
- ветка часто используемых объектов (накопление статистики)
- ветка избранное с возможностью перетаскивания туда не только строк дерева но и ссылок из динамических списков
- ветка автозапуск позволяет открывать вместе с этой формой формы других объектов
- фильтр по основному представлению объекта
- при использовании разбивается на слова условия по словам соединяются по И («ном вид» найдет «виды номенклатуры» но не найдет «виды заявок»)
- при наборе текста фильтра выполняется быстрая промежуточная фильтрация метаданных
- запоминает последние использованные значения
- переключатель основного представления Имя/Синоним
- фильтр по подсистеме
- позволяет выбрать одну подсистему из дерева подсистем
- запоминает последние использованные значения
- в контекстном меню объекта метаданных можно выбрать
- любую статическую форму объекта метаданных
- добавить объект в избранное
- открыть динамический список
- открыть консоль запросов
- открыть консоль компоновки
- открыть журнал регистрации
- открыть динамический список
- открыть подбор и обработку объектов
- в контекстном меню объекта данных можно выбрать
- добавить объект в избранное
- открыть любую форму объекта
- открыть в редакторе объекта БД
- открыть в исследователе объектов
- открыть консоль компоновки
- открыть журнал регистрации
- открыть динамический список
- при выборе в дереве объекта открывается его основная форма списка или объекта
- основано на //infostart.ru/projects/1472/
- структура дерева метаданных
- менеджер интерфейсов -раскрывает возможности платформы по управлению интерфейсами
- можно подключать и отключать любые доступные переключаемые интерфейсы
- тестирование метаданных - автоматическая проверка метаданных
- Тестирование форм путем их создания открытия и закрытия
- Тестирование прикладных объектов путем их создания копирования записи проведения отмены проведения в отменяемых транзакциях
- Тестирование внешних метаданных из выбранного каталога
- Отображение результатов в виде полного имени операции и чистого описания ошибки при выборе которого выполняется переход к строке модуля в конфигураторе
- настройка журнала регистрации- управление всеми настройками журнала регистрации
- Изменение уровня регистрации событий
- Включение/Выключение регистрации конкретных событий
- Детальная настройка регистрации событий "Доступ" и "Отказ доступа"
- Переход в анализ журнала по выбранному событию
- Переключатель представления событий в виде имя/синоним
- Сохранение/Загрузка конфигурации всех настроек в/из файла
- анализ журнала регистрации -выгрузка с отбором журнала регистрации в табличное поле
- перед выгрузкой выполняется гибкая настройка отбора ориентированная на максимальную скорость получения результата
- опция "Все транзакции с участием выгруженных записей" позволяет многоэтапно получить полные транзакции куда попали выгруженные на первом этапе записи журнала
- в результате выгрузки доступен стандартный отбор
- результат выгрузки можно передать в консоль компоновки для сложного анализа в виде отчета на компоновке данных
- переход к настройке регистрации текущего события
- настройка техножурнала- управление всеми настройками техножурнала платформы
- основано на соответствующей обработке с ИТС далее перечислены только основные доработки
- правильно определяет каталог конфигурационных файлов для версий 8.0-8.3 платформы
- знает о всех свойствах и событиях техножурнала для версий платформы 8.0-8.2.14 платформы
- автоматически добавляет строку для регистрации всех свойств при добавлении нового журнала
- корректная управляемая обработка индивидуальных и общих каталогов настройки приложения 1С
- поддержка работы с настройкой на стороне сервера
- понятное представление сложных условий регистрации событий и свойств
- исправленные стандартные шаблоны настройки журнала (большинство из них были некорректными и фактически не работали)
- комбинация нового упрощенного и обычного режима задания отбора событий позволяют намного быстрее редактировать простые настройки
- простое выключение журнала
- вычисление размера выбранного каталога журнала
- очистка выбранного каталога журнала
- переход к анализу выбранного каталога журнала
- запоминаемые реквизиты "Основной каталог журналов" и "основной каталог дампов" упрощают создание новых настроек и загрузку чужих настроек журнала
- индикатор наличия активной настройки журнала
- анализ техножурнала -загрузка с отбором по дате технологического журнала в табличное поле
- в загруженной таблице доступен стандартный отбор
- автоматическое определение текущего каталога техножурнала для клиента
- загруженную таблицу можно передать в консоль компоновки для сложного анализа в виде отчета на компоновке данных
- поиск ссылок на объект- форма позволяющая получить все объекты ссылающиеся на выбранный объект
- можно использовать в виде команды управляемого приложения
- можно использовать через ввод на основании в обычном приложении для чего сделан виртуальный план обмена ирКмдНайтиСсылки который после включения его ввода на основании нужных объектов предоставляет возможность поиска ссылок через стандартное меню ввода на основании
- кнопка для открытия ссылающегося объекта в редакторе объекта БД
- поддерживается открытие не только ссылающихся ссылочных объектов но и записей независимых регистров сведений
- консоль запросов
- для программного вызова служит функция Отладить(Запрос *Модально) или коротко От(Запрос) для использования в точке останова при этом запрос открывается в консоли с сохранением работоспособности всех параметров и временных таблиц
- поддержка пакетных запросов
- поддержка временных таблиц
- конструктор запроса "понимает" запросы с обращениями к существующим временным таблицам (у всех временных таблиц должны быть псевдонимы)
- дерево запроса (для работы режима дерева запроса требуется регистрация COM-компоненты GoldParser.DLL которая выполяется автоматически при наличии прав администратора ОС)
- в режиме дерева запроса можно редактировать/ смотреть содержимое отдельно каждого узла
- вездесущая контекстная подсказка (если имеются вложенные запросы то для улучшения ее работы лучше включать режим дерева запроса)
- режим сворачивания вложенных запросов в режиме дерева запроса
- замер времени выполнения
- настройка динамического отбора и порядка в режиме компоновки (в режиме построителя поддерживается настройка только отбора и только с 11-го релиза)
- просмотр результирующего запроса
- обработчики перед выполнением строки и самого результата с возможностью отладки в штатном отладчике платформы через выполнение в консоли кода через динамическую внешнюю обработку
- функции для рефакторинга запроса в режиме дерева запроса: "Перенести в новый запрос" и "Преобразовать в подзапрос"
- переход (по F12) к определению таблицы или во вложенный запрос в режиме дерева запроса
- пошаговое выполнение пакетного запроса (по F10)
- автоматический вывод содержимого созданной временной таблицы
- в редакторе текста запроса кнопка "Вставить ссылку на объект БД"
- после большинства операций с текстом запроса параметры извлекаются автоматически
- передача выбранных данных в подбор и обработку объектов а также в поиск и замену дублей
- генераторы текста модуля для обработчиков результата и строки таблицы результата
- кнопка Период добавляет группу параметров для задания интервала времени только при первом нажатии а при повторном открывает диалог редактирования периода
- для коллекции результата предусмотрен режим частичной
загрузки, включаемый автоматически, если выборка превышает 100000
строк, и загружает первые 999 строк. Кнопка "Загрузить" загружает
выборку полностью
- консоль построителей отчетов- форма со списком конфигураций построителя отчета позволяющая их редактировать формировать отчет
- сохранение в файл и загрузка из файла списка конфигураций построителя
- поле результата имеет удобное подменю для именованного сворачивания группировок
- к редактору запроса подключена компонента "Контекстная подсказка"
- для программного вызова служит функция Отладить(ПостроительОтчета *Модально) или короткая От(ПостроительОтчета) для использования в точке останова
- исполняемый запрос можно передавать в консоль запросов
- консоль компоновок данных
- для программного вызова служит функция Отладить(СхемаКомпоновки *Модально *НастройкаКомпоновки *ВнешниеНаборыДанных) или короткая От(СхемаКомпоновки *НастройкаКомпоновки *ВнешниеНаборыДанных) для использования в точке останова
- исполняемые запросы можно передавать в консоль запросов
- в структуре настроек компоновки есть команда "Переставить с родителем" позволяющая быстро поменять местами текущую и родительскую группировки
- наборы данных запросы можно редактировать в консоли запросов
- поле результата имеет удобное подменю для именованного сворачивания группировок
- исполняемые запросы макета компоновки можно передавать в консоль запросов
- позволяет исследовать макет компоновки схему компоновку внешние наборы данных настройки компоновки расшифровку
- конструктор выражения компоновки
- экспериментальная опция "осторожной выборки" включающая выполнение предварительных запросов для определения числа строк результате что позволяет предотвратить нежелательное извлечение из СУБД значительных объемов данных
- консоль заданий- форма для управления регламентными и фоновыми заданиями
- основана на одноименной обработке с ИТС
- показывает полное описание ошибки фонового задания
- добавлен редактор параметров регламентного задания
- добавлена кнопка «Показать сообщения пользователю» для фонового задания
- добавлена кнопка "Работать диспетчером" имеющая смысл в файловой версии и вызывающая в цикле ВыполнитьОбработкуЗадания() с возможностью прерывания
- улучшено управление отбором
- режим получения количества сообщений пользователю в колонку списка фоновых заданий (работает на релизе >=8.2.14)
- вывод сообщений пользователю от фонового задания при выборе ячейки с количеством этих сообщений
- добавлена колонка Длительность (Конец-Начало) и возможность отбора по ней
- улучшена поддержка файлового режима в т.ч. обход ошибки платформы
- добавлено подменю "Выполнить" для регламентного задания
- На клиенте
- На сервере
- В фоновом задании
- В консоли кода
- подбор и обработка объектов - форма для подбора строк из одной таблицы БД и их обработки
- Поддерживаются типы таблиц БД
- ссылочная
- регистр
- последовательность
- табличная часть
- режим многотабличной выборки (можно выбирать данные сразу из нескольких однотипных таблиц)
- Заполнение таблицы "Строки для обработки"
- ручной подбор строк таблицы для обработки
- отбор компоновкой данных
- Таблица "Строки для обработки"
- колонка "Результат обработки" для отображения результата обработки объекта (Успех или)
- колонка "Пометка" для ручного отключения обработки строки
- ключевые колонки выбранной таблицы БД всегда добавляются автоматически
- дополнительные колонки выбранной таблицы БД можно указывать в выбранных полях настройки компоновки
- после обработки данных неключевые колонки перечитываются из базы данных автоматически
- кнопка ручного перечитывания неключевых колонок из базы данных
- кнопка открытия универсального редактора объекта БД позволяет быстро перейти к непосредственному редактированию строки в составе объекта БД
- кнопка снятия пометок с успешно обработанных строк
- Управление обходом выборки данных для не ссылочных таблиц
- "Строки" - обрабатывается каждая помеченная строка табличной части или набора записей
- "Объекты" - обрабатывается каждый объект БД которому принадлежит хотя бы одна помеченная строка
- встроенные обработки с указанием допустимых типов объектов
- перенумерация - Ссылка
- проведение документов - Документ
- установка реквизитов - СсылкаТабличнаяЧастьСтрокаРегистрЗапись
- кнопка "Загрузить из объекта" для загрузки значений реквизитов из выбранного объекта
- в начале выполнения добавляет колонки изменяемых реквизитов в таблицу "Строки для обработки" на основной форме
- удаление - Ссылка
- отмена проведения - Документ
- пометка на удаление - Ссылка
- изменение регистрации на узле - СсылкаРегистрНаборЗаписей
- произвольный алгоритм - СсылкаТабличнаяЧастьСтрокаРегистрНаборЗаписейРегистрЗапись
- подключена компонента "Контекстная подсказка"
- возможность передачи обработки в консоль кода
- автоматическая запись объекта БД если он был модифицирован
- выполнение пакета обработок
- отключаемый контроль записи (ОбменДанными.Загрузка)
- опция пропускать ошибки
- опция перепроведения проведенных документов при записи
- основано на обработке УниверсальныйПодборИОбработкаОбъектов с ИТС
- Поддерживаются типы таблиц БД
- поиск дублей и замена ссылок- поиск дублей в ссылочных таблицах и выборочная замена ссылок во всей базе
- поиск дублей выполняется с настраиваемым отбором
- сопоставление дублей можно выполнять по любому количеству строгих критериев (реквизитов) и одному нестрогому для строкового реквизита (по похожим словам)
- на закладке замена поддерживается открытие не только ссылающихся ссылочных объектов но и записей независимых регистров сведений
- перед замещением в независимых регистрах сведений в случае склеивания записей по новым ключам открывается диалог настройки замещения где отображаются отличия в ресурсах конфликтующих записей и можно выбрать какую именно оставить
- возможность независимого использования функционала замены ссылок без поиска дублей
- выполнение замены только в помеченных объектах
- возможность групповой пометки по попаданию даты документа в интервал и по нескольким типам и видам объектов метаданных
- таблица правил замены ссылок
- возможность выбора ссылок различного типа внутри правила (если новый тип ссылки не допустим то значение не меняется)
- кнопка перестановки ссылок внутри правила
- автоматический подсчет количества ссылающихся и помеченных объектов
- отображение даты документов и типа метаданных в списке ссылающихся объектов
- возможность отбора в списке ссылающихся объектов в т.ч. динамического по текущему правилу
- кнопка для открытия ссылающегося объекта в редакторе объекта БД
- после выполнения замены в случае наличия изменений в проведенных документах предлагается открыть их список с возможностью перепроведения
- выполнение замен с отключенными проверками регистрируется в журнале регистрации (событие - "Запись с флагом Загрузка")
- портативная версия //infostart.ru/projects/1134/ не совместима с подсистемой
- основано на обработке "ПоискИЗаменаДублирующихсяЭлементов" с ИТС
- проверка базы данных перед усечением типов - форма для поиска и исправления препятствий и потенциальных проблем перед реструктуризацией БД c удалением ссылочных (типов) объектов метаданных
- спасает от
- если при усечении типов измерений регистров сведений нарушается уникальность записей то конфигуратор не дает применить конфигурацию к БД с ошибкой "Записи регистра сведений ... стали не уникальными!"
- молчаливого удаления конфигуратором элементов планов видов характеристик вследствие ошибки платформы до 8.2.9 включительно
- при открытии в базе с измененной основной конфигурацией предлагает автоматически заполнить удаляемые типы
- автоматическое заполнение удаляемых типов при свободном конфигураторе анализирует разницу между конфигурацией БД и основной конфигурацией
- будущие неуникальные записи можно групповым образом удалить но можно и править вручную
- из элементов планов видов характеристик удаляются ссылки на удаляемые типы
- портативная версия //infostart.ru/projects/2230/ не совместима с подсистемой
- спасает от
- исследователь объектов- форма представляющая свойства и методы переданного объекта в виде дерева и позволяющая таким образом исследовать любой объект по аналогии с диалогом "Вычислить выражение" отладчика
- колонка "Определение" и пиктограмма показывают происхождение свойства или метода (метаданные - зеленый или платформа - синий)
- можно открывать контекстную справку по любому свойству или методу
- можно интерактивно изменять значения его свойств в пределах поддержки типов механизмом расширенного редактирования ячеек
- кнопка для сериализации значения в XML через XDTO
- кнопка для получения внутреннего представления значения через функцию ЗначениеВСтрокуВнутр()
- для программного вызова служит функция Исследовать(Объект *Модально *КакКоллекцию) или короткая Ис(Объект *КакКоллекцию) для использования в точке останова
- форма-компаньон "Исследователь коллекций" позволяет исследовать любую коллекцию открывается по двойному щелчку в ячейке "Количество элементов" исследователя объектов
- редактор объекта БД -форма позволяющая редактировать любой ссылочный объект БД вместе с движениями по регистрам для документов
- для документа можно прочитать и записать движения в т.ч. для несуществующего ()
- для документа на закладке Движения имеется фильтруемый по количеству записей наименованию и типу список регистров
- отображаются все реквизиты объекта включая общие и нередактируемые
- закладка "Связанные колонки БД" для анализа колонок и строк таблиц БД содержащих ссылку на объект
- закладка "Поиск в объекте" позволяет выполнять поиск произвольного значения в реквизитах табличных частях и движениях объекта
- строковые реквизиты можно редактировать в отдельном окне в подсветкой синтаксиса
- можно выполнять с объектом основные действия
- создание нового
- запись с управлением признаком ОбменДанными.Загрузка
- пометка удаления
- непосредственное удаление
- проведение
- отмена проведения
- отображаемое в форме состояние (снимок) объекта или набора записей движений можно открыть в исследователе объектов
- отображаемое в форме состояние (снимок) объекта можно открыть в основной форме объекта
- таблицу реквизитов табличную часть набор движений объекта можно вывести в табличный документ отредактировать их там и загрузить обратно
- у нового объекта можно редактировать уникальный идентификатор
- основано на //infostart.ru/projects/895/
- редактор констант -форма позволяющая просматривать и редактировать значения констант в табличном виде
- измененные значения констант не пишутся сразу в БД а пишутся кнопкой Записать все вместе
- редактор параметров сеанса -форма позволяющая просматривать и редактировать значения параметров сеанса в табличном виде
- кнопка для исследования параметров сеанса полезна когда есть параметры со значениями не имеющими информативного отображения в элементе управления
- динамический список - форма с табличным полем в котором можно отобразить динамический список любой доступной таблицы БД
- кнопка для открытия редактора объекта БД
- кнопка для открытия менеджера табличного поля
- кнопка для объединения (замены) ссылок
- редактор изменений на узле- форма для анализа и модификации регистрации изменений на выбранном узле плана обмена
- обзор всех изменений в виде дерева типов и связанной таблицы изменений по текущему типу
- добавление и удаление регистрации всех изменений с учетом авторегистрации
- добавление и удаление регистрации всех изменений выбранного типа
- добавление регистрации изменений по одному объекту каждого типа
- вычисление количества изменений сразу для всех типов
- редактирование номеров сообщений
- таблица изменений
- редактирование записей в стиле приближенном к традиционному (добавить скопировать удалить)
- просмотр сериализации текущего объекта
- возможность ввода ссылок на несуществующие объекты
- список пользователей- список пользователей инфобазы
- запуск сеанса под пользователем не зная его пароля
- менеджер табличного поля - форма замены стандартного диалога "Отбор и сортировка"
- подключен к
- Список справочника "Алгоритмы"
- Динамический список
- Редактор объекта БД (для табличных частей и движений)
- Редактор таблицы значений
- Исследователь коллекций
- Поиск ссылок на объект
- Поиск дублей и замену ссылок (для правил замены и найденных ссылок)
- Консоль кода
- предоставляет богатые возможности по настройке горячего отбора и применяемого порядка любого табличного поля
- снимает ограничения по использованию полей в отборе
- закладка "Обработка"
- выполняет групповую установку значения в ячейках колонки табличного поля (табличной части таблицы и дерева значений) доступной для редактирования
- при установке значения в каждую ячейку срабатывают все интерактивные события что обеспечивает высокий уровень соответствия изменений контексту
- новое значение может быть задано выражением встроенного языка вычисляемого с использованием параметров и данных каждой строки
- подключен к
- функции, ориентированные на использование в режиме отладки - вызывать из отладчика (через диалог "Вычислить выражение")
- изменение значения переменной Пр (Перем1 Перем2) - присваивает параметру Перем1 значение параметра Перем2. Например Пр(Построитель.Текст "ВЫбрать * Из Константы")
- доступна на сервере
- основано на http://www.kb.mista.ru/article.php?id=105
- выполнение произвольного кода простое Ду(СтрокаВыражения П1= П2= П3=...) - выполняет код из параметра СтрокаВыражения где могут применяться параметры П1 П2 П3... Например ду("П1.Текст = П2" Построитель "ВЫбрать * Из Константы").
- доступна на сервере
- основано на http://www.kb.mista.ru/article.php?id=105
- выполнение произвольного кода сложное Оперировать(ТекстПрограммы РежимОперации= СтрокаИменПараметров= П1 = П2 = П3= П4= П5=) - выполняет код из параметра ТекстПрограммы где могут применяться параметры П1 П2 П3... с опциональными именами задаваемыми в параметре СтрокаИменПараметров. Например Оперировать("ПостроительЗапроса.Текст = Текст" 2 "ПостроительЗапроса Текст" Постротель "ВЫбрать * Из Константы").
- доступна на сервере
- открытие исследователя объекта или коллекции - Ис(Объект = КакКоллекцию = Ложь) - открывает объект в исследователе объектов или коллекций
- удобно менять свойства объекта во время остановки
- при вызове на сервере выполняется только сохранение копии переданного объекта для отложенной отладки на клиенте командой "Выполнить отложенную отладку" находящейся в панели инструментов подсистемы обычного приложения или в панели действий командного интерфейса подсистемы управляемого приложения
- открытие параметров в консоли кода - Оп(П1= П2= П3= ...) - открывает консоль кода и передает ей все свои параметры
- изменения параметров возвращаются в вызывающий контекст
- открытие фрагмента программы в консоли кода - Поп(ТекстПрограммы=) используется путем копирования в буфер обмена целостного фрагмента программы и вычисления "Вычислить(Поп())"
- позволяет осуществить предварительное многократное выполнение кода с возможностью внесения изменений на ходу
- вычисление структуры из переменных переданного фрагмента программы - Пер(ТекстПрограммы=) используется путем копирования в буфер обмена интересующего фрагмента программы и вычисления "Вычислить(Пер())"
- позволяет вычислить структуру образованную сразу из всех встречающихся во фрагменте программы переменных
- открытие специализированных консолей - От(Объект НастройкаКомпоновки= ВнешниеНаборыДанных=) варианты использования:
- От(Запрос) - открывает запрос в консоли запросов
- От(ПостроительЗапроса) - открывает результирующий запрос построителя запросов в консоли запросов
- От(ПостроительОтчета) - открывает построитель отчета в консоли построителей отчетов откуда можно открыть результирующий запрос построителя отчета в консоли запросов
- От(СхемаКомпоновки НастройкаКомпоновки= ВнешниеНаборыДанных=) - открывает схему компоновки в консоли компоновки данных откуда можно открыть результирующие (из макета компоновки) запросы в консоли запросов
- От(МакетКомпоновки) - открывает запросы макета компоновки в консоли запросов
- при вызове на сервере выполняется только сохранение копий переданных объектов для отложенной отладки на клиенте командой "Выполнить отложенную отладку" находящейся в панели инструментов подсистемы обычного приложения или в панели действий командного интерфейса подсистемы управляемого приложения
- вычисление входящих в запрос временных таблиц- ПолВТ(ЗапросИлиМенеджерВременныхТаблиц ИмяВременнойТаблицы = "" ДопустимоеЧислоСтрок = 500000)
- варианты использования
- ПолВТ(Запрос) - получает структуру всех входящих в запрос временных таблиц
- ПолВТ(МенеджерВременныхТаблиц "Ставки") - получает таблицу значений из временной таблицы "Ставки" переданного менеджера временных таблиц
- доступна на сервере
- варианты использования
- отложенная отладка - режим работы функций режима отладки ориентированный на объекты серверного контекста; в этом режиме делается снимок объекта и сохраняется в справочник "Объекты для отладки" откуда уже можно продолжать отладку снимка объекта на клиенте в любом сеансе
- изменение значения переменной Пр (Перем1 Перем2) - присваивает параметру Перем1 значение параметра Перем2. Например Пр(Построитель.Текст "ВЫбрать * Из Константы")
- компонента контекстная подсказка
-
подключена ко всем доступным программно редакторам встроенного языка языка текста запроса и языка выражений компоновки данных
-
имеет справку по своим функциям
-
кнопка "Контекстная подсказка" ()
-
вычисление предопределенных свойств и методов
-
вычисление свойств определяемых метаданными
-
вычисление расширений форм и элементов управления
-
подсказка в специальных случаях: языка запросов - <ССЫЛКА >; внутреннего языка - <Новый > <Новый(" >
-
отображение адекватной информации об ошибке и подсветка ошибочной строки текста
-
переход к ближайшему определению идентификатора в тексте
- горячий фильтр по подстроке в списке слов подсказки
-
поддержка программного указания свойств локального контекста
-
поддержка явного указания типа в комментариях (//: Таб=Новый Таблица;)
-
поддержка шаблонов текста (st) шаблон выполняется кнопкой "Выполнить шаблон" (SHIFT+SPACE) которая включается только после указания файла шаблонов
- кнопка-переключатель "АвтоКонтекстняСправка" (CTLR+ALT+A) которая позволяет автоматически (раз в секунду) обновлять страницу справки в соответствии с текущим контекстом для курсора
-
подсказка по параметру метода или конструктора открывает страницу синтакс-помощника и выделяет текущий параметр красным
-
контекстная справка умнее определяет какую страницу справки нужно открывать по сравнению с конфигуратором для текущего слова в тексте
-
контекстная справка умеет работать с описанием как встроенного языка так и языка запросов и языка выражений компоновки данных
-
в списке контекстной подсказки колонка "Определение" и пиктограмма показывают происхождение свойства или метода (метаданные - зеленый платформа - синий локальные - красный)
- кнопка "Копировать весь текст в буфер обмена в виде выражения встроенного языка" для текста запроса
-
для корректной работы формы подсказки требуются библиотеки из пакета MS Office 95-2007
-
данная функциональность также доступна в виде отдельной подсистемы //infostart.ru/projects/848 где приведена более подробная но местами устаревшая информация
-
- синтакс-помощник
- сверху поле выбора книги (основные - встроенный язык языка запросов и языка выражений компоновки данных)
- закладка Содержание аналогичная конфигуратору показывает дерево содержания текущей книги
- закладка Индекс аналогичная конфигуратору но с отбором и горячим перемещением вперед/назад доступная для всех 3-х языков платформы позволяет быстро находить правильное слово и выполнять по нему поиск
- для корректной работы закладки Индекс требуются библиотеки из пакета MS Office 95-2007
- закладка Поиск предназначена для поиска слова по точному совпадению без учета регистра
- поиск текущей страницы в индексе и содержании
- в 8.1 для работы требуется в настройках компоненты "контекстная подсказка" указать локальный путь к архиву синтакс-помощника
- универсальные команды толстого клиента управляемого поддерживающие любые ссылочные объекты (подключать их к своим метаданным нужно в свойстве "Тип параметра команды")
- Исследовать источник - Передать источник команды в исследователь объектов
- Обработать объекты - Передать ссылки в подбор и обработку объектов
- Объединить ссылки - Передать ссылки в поиск и замену дублей в качестве группы дублей
- Отладить источник - Передать источник команды в консоль кода
- Поиск ссылок на объект - Найти ссылки на объект
- Редактировать объект - Передать объект в редактор объекта БД
- расширенное редактирование ячеек - во многих табличных полях подсистемы реализован выбор и редактирование типов не полностью поддерживаемых полем ввода
- поддерживаемые типы
- УникальныйИдентификатор
- ТаблицаЗначений
- ДеревоЗначений
- СписокЗначений
- Тип
- МоментВремени
- Граница
- Массив
- ВидДвиженияНакопления
- ВидДвиженияБухгалтерии
- ВидСчета
- ОписаниеТипов
- ТабличныйДокумент
- При вызове выбора в поле ввода ячейки используется специальная форма выбора редактируемого типа
- горячий фильтр по подстроке в названии типа
- возможность вызова контекстной справки по текущему типу
- в режиме редактирования описания типов кнопки "Только выбранные" "Установить все" "Отключить все"
- подключенные колонки табличных полей
- значение параметра в консоли кода
- значение параметра в консоли запросов
- значение параметры данных в консоли компоновки данных
- значение реквизита в редакторе объекта бд
- значение свойства в исследователе объектов и коллекций
- значение ячейки в редакторе таблицы и дерева значений
- значения элементов в редакторах списка значений и массива
- поддерживаемые типы
Установка и обновление
Файл конфигурации подсистемы нужно объединять с целевой конфигурацией. Все объекты подсистемы имеют префикс "ир".
Установка (первое объединение)
- Если ваша конфигурация находится на поддержке то включите возможность изменения корня конфигурации. Это отключит возможность полностью автоматического обновления конфигурации от поставщика однако оно будет очень простым.
- Запустите сравнение и объединение конфигураций.
- Снимите все пометки.
- Установите пометки по подсистеме «Инструменты разработчика» файла
- Установите пометку на самой подсистеме «ИнструментыРазрабочика».
- Нажмите Выполнить
- Если желаете подключите общие команды и справочники-команды к своим метаданным
- Добавьте роль ирРазработчик нужным пользователям инфобазы
Чтобы предоставить пользователю информационной базы возможность полного использования подсистемы ему нужно включить роль ирРазработчик.
Чтобы получить возможность программного использования инструментов при отладке под обычным пользователем ему нужно на время отладки включить роль ирОтладкаПользователя.
Чтобы подключить команды подсистемы (в ветке "Общие команды") для толстого клиента управляемого приложения нужно в свойстве "Тип параметра команды" указать для форм каких типов объектов целевой конфигурации они будут доступны.
Чтобы подключить команды подсистемы для обычного приложения нужно для справочников ирКоманда* во вводе на основании указать для форм каких типов объектов целевой конфигурации они будут доступны.
Установка общая для подсистемы и портативного варианта
Если текущий пользователь ОС не является администратором или запуск приложения выполнен с контролем учетных записей (User acccount control), то для работы некоторых функций инструментов требуется зарегистрировать в ОС ряд COM компонент с помощью повышенных привилегий. Для этого необходимо запустить предприятие от имени администратора (run as administrator) и командой "Регистрация COM компонент (ИР)" открыть форму регистрации и нажать там Выполнить.
Обновление (повторное объединение)
- Запустите сравнение и объединение конфигураций.
- Снимите все пометки.
- В настройках объединения установите флажок «Разрешить удаление объектов основной конфигурации».
- Установите пометки по подсистеме «Инструменты разработчика» файла
- Если подключены общие команды или справочники-команды то снимите пометки с их связующего свойства (Тип параметра или Ввод на основании)
- Установите пометку на самой подсистеме «ИнструментыРазрабочика» если она есть в списке отличий.
- Нажмите Выполнить
Удаление
- Установить отбор по подсистеме "ИнструментыРазработчика"
- Удалить все общие команды отчеты обработки общие формы общие модули общие макеты группы команд параметры сеанса элементы стиля роли
- Для справочников ирКомандаРедактироватьОбъект ирОбъектыДляОтладки ирАлгоритмы
- очистить список "является основанием для"
- удалить сами справочники
- Удалить общие картинки кроме ирИнструментыРазработчика
- Удалить подсистему "ИнструментыРазработчика"
- Удалить общую картинку ирИнструментыРазработчика
Вариант Портативный
Несколько урезанный вариант инструментов в виде набора внешних обработок. Будет полезен в тех случаях, когда менять конфигурацию базы неудобно.
Номер версии варианта Портативный образуется от номера версии варианта Подсистема, на базе которой он выпущен, путем приписывания справа латинской буквы "p" (portative).
Состав
Состоит из основной внешней обработки «ирПортативный.epf» и внешних обработок инструментов и общих модулей, которые находятся в подкаталоге «Модули» каталога обработки. Форма внешней обработки «ирПортативный.epf» является заменой панели инструментов подсистемы, а ее объект выполняет роль глобального контекста для портативных инструментов. После закрытия основной формы открытые формы инструментов теряют свою работоспособность, поэтому они закрываются. Если открыть основную внешнюю обработку в управляемом приложении, то она предложит форму запуска обычного приложения.
Запуск
Для запуска инструментов нужно в режиме предприятия открыть основную внешнюю обработку "ирПортативный.epf".
Обновление
Не следует открывать в одном сеансе разные версии инструментов даже если это выполняется последовательно. Поэтому для использования другой версии инструментов следует запускать новый сеанс. Самый простой способ корректно обновить инструменты при наличии интернета - в диалоге "О подсистеме" нажать кнопку "Обновить на актуальную версию".

Как открыть объект БД в управляемом приложении
Сначала в любом инструменте кнопкой
откройте объект в инструменте "Редактор объекта БД". Затем нажмите в этом инструменте кнопку "В тонкий"

При этом будет открыто приложение тонкого клиента, в котором сразу будет открыта форма текущего объекта по ссылке.
Функции режима отладки
Отладочные функции (От, Ис, Оп...) расположены в модуле объекта внешней обработки «ирПортативный.epf». Чтобы их вызвать в отладчике, нужно в табло вычислить выражение "ВнешниеОбработки.Создать(<ПутьКОбработке/ирПортативный.epf>, Ложь).<ИмяФункции>(<Параметры>)". Отложенная отладка обеспечивается за счет сохранения снимков в подкаталог "ОбъектыДляОтладки\<СтрокаСоединенияБазы>\*.deb".
Недостатки по сравнению с подсистемой:
- Формы открываются только в обычном приложении
- Недоступны
- Справочник "Алгоритмы"
- Справочник "Объекты для отладки"
- Справочник-команда "Редактировать объект"
- Роли
- Команда "Отладчик фоновых заданий" в консоли заданий
- Инструмент "Отладка внешних обработок БСП"
- Работает только на стороне клиента
- консоль кода (в конфигурациях без БСП)
- настройка техножурнала
- Не работает настройка журнала регистрации из-за ошибки платформы 8.2, обход которой в подсистеме реализован через серверный контекст.
- Невозможно запустить в базе, в конфигурации которой встроена подсистема "Инструменты Разработчика"(из-за конфликтов имен).
- Менее удобное сравнение/объединение доработанных портативных инструментов при обновлении на новую версию. Придется сравнивать каждый файл отдельно.
Вариант Расширение
Несколько урезанный вариант инструментов в виде расширения конфигурации. Будет полезен в тех случаях, когда менять конфигурацию базы неудобно.
Номер версии варианта Расширение образуется от номера версии варианта Подсистема, на базе которой он выпущен, путем приписывания справа латинской буквы "e" (extension).
Особенности установки
Устанавливать и включать видимость для текущего пользователя удобнее всего через внешнюю обработку "Установщик варианта Расширение".
Подключите расширение к вашей базе на платформе 8.3.10.2375+ (для клиент-серверных баз рекомендуется 8.3.12+) и режимом совместимости 8.3.9+. Снимите флажки "Безопасный режим" и "Защита от опасных действий". Как подключить расширение, можно узнать тут. Если у пользователя есть право Администрирование и ТолстыйКлиент, но у него нет роли ирПользователь и у других пользователей базы нет роли ирРазработчик, то при входе ему добавляются роли ирРазработчик и ирПользователь и сеанс перезапускается. Если в общих настройках включить флажок "Добавлять роль ИР всем администраторам", то отсутствие роли ирРазработчик у других пользователей проверяться не будет. Управлять ролями заданными в расширении можно только в режиме клиентского приложения (например через инструмент "Редактор пользователей").
При наличии в конфигурации БСП ниже чем 2.4 после добавления ролей расширения в профили групп доступа могут возникнуть проблемы с обновлением вспомогательных данных, т.к. там отсутствует поддержка ролей в расширениях. В качестве обхода проблемы можно использовать инструмент "Редактор пользователей" для добавления нужных ролей пользователям напрямую.
С помощью формы "Адаптация расширения" можно подключить параметризованные команды расширения ко всем объектам конфигурации, сгенерировать роль ирВсеПрава и подключить перехватчик создания внешних обработок БСП. Эта форма автоматически открывается при первом запуске толстого клиента управляемого приложения.
Обновление
Самый простой способ корректно обновить инструменты при наличии интернета - в диалоге "О подсистеме" нажать кнопку "Обновить на актуальную версию".

Функции режима отладки
Отладочные функции (От, Ис, Оп...) расположены в общем модуле ирОбщий. Чтобы их вызвать в отладчике, нужно в табло вычислить выражение "ирОбщий.<ИмяФункции>Лкс(<Параметры>)". Отложенная отладка обеспечивается за счет сохранения снимков в каталог объектов для отладки, задаваемый в общих настройках инструментов.
Недостатки по сравнению с подсистемой:
- Недоступны
- Справочник "Алгоритмы"
- Справочник "Объекты для отладки"
- Справочник-команда "Редактировать объект"
- Невозможно запустить в базе, в конфигурации которой встроена подсистема "Инструменты Разработчика"(из-за конфликтов имен).
Выпущенные приоритетные изменения
Поддержать развитие продукта с яндекс кошелька
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.22.63, 2.5.16.61
Вступайте в нашу телеграмм-группу Инфостарт
ИР инструменты разработка консоль запрос отладка техножурнал таблица компоновка скд контекстная подсказка
См. также
Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)
Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.
50000 руб.
10.09.2026 13333 115 0
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83207 432 171
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 285578 1606 423
Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)
Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.
14000 руб.
17.04.2026 16721 63 62
Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
22570 руб.
06.10.2023 44152 122 54
Инструментарий разработчика Нейросети Платные (руб)
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.
15250 руб.
25.08.2025 76810 147 41
Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)
Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.
18300 руб.
11.09.2026 3697 5 0
Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
17000 руб.
10.11.2023 28712 103 46
вычислить(поп()) {(1)}: Error compiling or calculating expression or executing fragment of code
поп() "{(3,7)}: Variable is not defined (АнализироватьТранзакцииСУчастиемОбъекта)" Строка
Интерфейс.ирДемонстрация.Интерфейс Неразрешимые ссылки на объекты метаданных (1)
Обработка.ирПодборИОбработкаОбъектов.Справка Неразрешимые ссылки на объекты метаданных (1)
Обработка.ирРедакторПользователей.Форма.Форма.Справка Неразрешимые ссылки на объекты метаданных (2)
В интерфейсе вроде в Сервисе "ОбщаяФорма.ирНастройкиАлгоритмов: Открыть форму"
В Обработка.ирПодборИОбработкаОбъектов - "форму настроек вывода"
В Обработка.ирРедакторПользователей - обе имеющиеся ссылки
А то смотришь в "Редактор объекта БД (ИР)" и так кроме "Предопределенный = Да" больше ни чего нет.
А в "Иследователь объектов (ИР)" поле "ИмяПредопределенныхДанных" имеет значение "{(1)}: Поле объекта не обнаружено (ИмяПредопределенныхДанных)"
Всё это творится на платформе 8.3.8.2168 с конфигурацией "Бухгалтерия предприятия, редакция 2.0" (режим совместимости не меняли и он стаит тот, что проставила платформа сама)
P.S. Так же хотелось, что бы что-то (например "Редактор объекта БД (ИР)") при отображении "ПеречислениеСсылка" тоже показывал его имя в метаданных.
Всё это позвилит ещё проще писать код в "Консоль кода (ИР)" не открывая конфигуратор базы.
Портативные ИР 3.88.1
Я открыл "Динамический список (ИР)" выбрал "Объект метаданных" в виде перечисления и у меня там светится только колонка "Ссылка" и какая-то пустая колонка (настройка списка показывает, что это колонка "Картинка"). Т.е. я не вижу имя перечисления согластно методанным (а оно может сильно отличаться от синонима/представления)
Вот скриншот
ИмяПредопределенного = Справочники.СправочникХХХ.ПолучитьИмяПредопределенного(НашаСсылка);
Как раз с 8.3.3 этот метод считается устаревшим, но есть и другой метод (и он есть в 8.2.19.130 так же):
ИмяПредопределенного = ПолучитьПолноеИмяПредопределенногоЗначения(НашаСсылка);
А где это отображается?
Взял портативные 3.92.1 (конфигурация Бухгалтерия предприятия 2.0 в режиме совместимости 8.2)
в "Динамический список (ИР)" выбрал "ПланСчетов.Хозрасчетный". В списке отображается только колонка "Идентификатор ссылки" и нет не включенной колонки с именем предопределённого (или типо того).
Думал ладно может где-то в "Редактор объекта БД (ИР)", выбираю продопределённый элемент и нажимаю из верхнего меню кнопку "Строка". Смотрю в редактор объекта...и тоже найти не могу где это поле может быть.
Вот даже скриншот приложил.
Ещё подумал о "Редактор предопределённых", но он мне выдаёт:
ОС: Windows x86 version 6.1 Service Pack 1 (Build 7601)
Платформа: 8.3.8.2167
Конфигурация: Бухгалтерия предприятия, редакция 2.0 (2.0.65.44-uz.17)
Режим: клиент-серверный
Приложение: Обычное приложение 32б
Режим совместимости: Версия8_2_16
Инструменты разработчика: Портативные 3.92.1
Сейчас установлен режим поиска/подбора по первым буквам.
НО ИМХО по большому опыту использования произвольной фильтрации (например, в Опенконфе) намного удобнее юзать поиск по подстрокам. Т.е. ищутся все слова/варианты, в которых встречаются все подстроки, разделенные пробелами.
Например, в Опенконфе есть мощный макрос для перехода к любому метаданному. Этот макрос выдает очень длинный список из всех метаданных. А с помощью фильтрации по подстрокам очень быстро найти то, что нужно, даже не зная точное название. Например, набрав "Спр Сот", можно быстро перейти к справочнику Сотрудники.
ИМХО рекомендую добавить подобный поиск/фильтрацию, будет очень и очень удобно.
Тех. информация та же.
Ошибка в "Консоль запросов (ИР)": что бы воспроизвести ошибку:
1) Создаём пустой запрос
2) Переходим в закладку "Параметры" и нажимаем "Добавить". В результате у нас создаётся параметр с именем "_".
3) Тыкаем мышкой в значение и выбираем ему тип "ТаблицаЗначений".
4) В появившемся окне редактора "Таблица значений" просто нажимаем "ОК"
5) Нажимаем мышкой в пустое пространство, что бы отключилось редактирование ячейки "Значение" (исчезла кнопка "..."), где содержится наш параметр с таблицей значения.
6) Кликаем два раза на наш параметр и у нас снова появляется форма редактирования нашей таблицы значения. В ней мы просто нажимаем "ОК".
7) И имеем ошибку - параметр сменил тип с "ТаблицаЗначений" на "Строка".
Эту ошибку можно и обойти. Тогда вместо пункта (6) нужно навести мышку на поле "Значение" и нажать правую клавишу (вызвать контекстное меню) и там выбрать "Изменить". Потом нажать на "..." и делать что нужно в открывшейся форме редактирования таблицы значений. Тогда после закрытия этой формы тип параметра не слетит.
Скриншоты приложил.
Доработана консоль компоновок. Добавлена функция сохранения настроек в схему в качестве настроек по умолчанию (будет работать только на 8.1.9+). Обновлены табличные поля с настройками для отображения новых свойств компоновки.
Доработан менеджер интерфейсов. Исправлены мелкие ошибки.
Доработана контекстная подсказка. Исправлены мелкие ошибки.
Добавлена глобальная функция Отладить(Запрос).
Ее удобно использовать во время отладки выполнения запроса в программе.
Перед выполнением запроса можно вычислить в отладчике выражение Отладить(<Имя переменной объекта запроса>) и откроется консоль запросов и загрузит текущий запрос в себя вместе с параметрами и менеджером временных таблиц.
Кстати, для отладки есть и еще пара очень полезных функций, расположенных в общем модуле ирПлатформа рядом с Отладить(). Советую познакомиться с ними и взять их на вооружение.
Улучшено контекстное меню табличных документов.
консоль отчетов - переименована в консоль построителей отчетов
консоль запросов - наконец то добавил туда поддержку параметров списков, выражений и тип значения параметра; теперь работать с параметрами стало почти также удобно как и в консоли построителей отчетов
подсказка - версии 1.12, что нового читать на ее страничке
обшие модули - появился неглобальный общий модуль ирОтладка, в который была перенесена функция Отладить(<Запрос или ПостроительОтчета>); теперь она поддерживает кроме запросов еще и построители отчетов, которые открывает в консоли построителей отчетов
Спасибо. Самостоятельно исправить ошибку можно заменой ошибочной строки на
СтруктураОбъекта = ирОбщий.ОбъектБДПоКлючуЛкс(ПолноеИмяОбъекта, УдаляемаяСсылка,,, ЗаписьНаСервере);- реализован режим "Дерево запроса" в консоли запросов, позволяющий заметно упростить работу со ложновложенными запросами; для работы режима дерева запроса необходимо зарегистрировать библиотеку (COM-компоненту) GoldParser.DLL (ее рекомендуется поместить в каталог исполняемых файлов платформы, регистрация производится выполнением в командной строке в каталоге библиотеки "regsvr32 GoldParser")
- подсказка - версии 1.13, что нового читать на ее страничке
Консоль запросов стала ощутимо сложнее внутри. К тому же это первая ее версия с полноценным синтаксическим анализом. В следствие чего там должно быть немало неотловленных багов.
- теперь коносоль компоновок можно использовать в режиме отладки - ирОтладка.Отладить(<Схема компоновки>[, <Настройки>])
- в консоли запросов реализован режим не сворачивания подзапросов; теперь конструктор запроса можно вызывать для нетерминальных подзапросов (при этом они временно разворачиваются); по команде "Перейти к определению" (F12) теперь происходит переход и в подзапросы
- обновлена подсказка (исправлены мелкие ошибки)
- найдено решение проблемы с зависанием приложения при установке выделения в неактивной странице (эта ошибка платформы будет исправлена в ближайшем релизе)
- исправлены ошибки в консоли запросов в режиме дерева запроса
+ в подсказке реализована работа с синтакс-помощником напрямую из файлов платформы (теперь не нужно иметь распакованный архив синтакс-помощника)
+ в подсказке реализовано вычисление типов в комментариях (//:Т=Новый Массив)
+ в поиске ссылок на объект реализовано открытие ссылок на константы (открывается универсальный редактор констант)
- в поиске ссылок на объект исправлена ошибка при работе с константами (425)
+ в подсказке реализовано вычисление метаданных таблиц значений, полученных методами Выгрузить() и ВыгрузитьКолонки() наборов записей
+ в подсказке релизован метод ДобавитьПравилоВычисленияФункции(), позволяющий подключить внешние методы, возвращающие тип значения функции на основании анализа выражений параметров функции и локального контекста
у меня, например, после подключения к группе пользователей разработки сразу стали приходить уведомления.
Если не поможет, напиши в тех.поддержку.
Пожелание(вопрос): можно ли прикрутить в систему модифицированный Конструктор выражений СКД из публикации . Если доработать справку и докрутить к использованию без захода в конфигуратор и загрузки XML в обработку, а сделать из пользовательского режима в консоли запросов (СКД) наша жизнь еще больше облегчится и станет комфортнее. (Я об этом писал автору Boln в обсуждении его обработки (27)).
В синтакс-помощнике добавлено поле выбора книги справки
Компонента "контекстная подсказка" вместе с синтакс-помощником теперь поддерживает и язык выражений компоновки данных
Реализован конструктор выражения системы компоновки данных, к полю редактирования выражения которого подключена контекстная подсказка; вызывается кнопкой с изображением "fx" ("Конструктор выражения для текущей схемы")
В панель инструментов и командный интеферфейс подсистемы добавлена кнопка вызова синтакс-помощника
Обновлено внутреннее описание платформы от 14-го релиза
В компоненту "контекстная подсказка" добавлена команда "Синтакс-помощник" по аналогии с конфигуратором, поддерживающая все 3 языка программирования
В компоненту "контекстная подсказка" для режимов языка запросов и выражений компоновки добавлены кнопки по работе с буфером обмена (копировать все и вставить все)
В синтакс-помощнике реализована поддержка перехода по якорям
Исправлен контекст выполнения кода в консоли кода - перенесен из модуля формы в общий модуль
(715), (717) реализовано
1. неизвестно как реагирует антивирусное ПО на DynamicWrapper и hstart, а также на попытку работы с WMI и VBS - тут я согласен с tormozit - копать в сторону антивируса
2. также может все же сменить
ping localhostping 127.0.0.1 кстати при первом запуске подсистемы
3. около 70% времени выполнения у меня занимает создание COM объектов
вот лог замера в процентном отношении
КаталогЛокальныхДанныхПриложений = ShellApplication.NameSpace(28).Self.Path; 23,23 %
ShellApplication = Новый COMobject("Shell.Application"); 19,18%
RegExp = Новый COMОбъект("VBScript.RegExp"); 12,56%
WshShell = Новый COMОбъект("WScript.Shell"); 10,81%и это при отключенном антивирусе
так что долгий запуск надо искать в политиках пользователя системы (которая очень критично относится к COM объектам)
P.S. Запускаю подсистему только от Локального администратора со своей dev машины с установленным антивирусом (но добавленными исключениями на 1Сv8) - проблем особых не имею (не считая того что пора увеличивать производительность дисковой подсистемы - :D )
Действия - стою на элементе развернутой ветки (к примеру Справочник). нажимаю курсор влево - ничего не происходит.
Неплохо бы по Del прибивать элементы в ветках "Последние" и "Часто". Случайно туда попавшие
Тока CTRL + Num"+" и CTRL + Num"-" тоже у мня не работают. Да не суть, этим впечетлений не испортишь...
Может не в тему, но ты вроде у дел - переключение интерфейсов - мощная весчь, я на справочниках реализовывал под юзера. тока трабла - не сворачиваются меню верхнего уровня, то бишь включаешь два интерфейса - Справочники.Контрагенты и Справочники.Банки - получаешь два пункта меню Справочники. правильно понимаю, что это непобедимо?
ЗапускПодПользователем:
{Обработка.ирРедакторПользователей.Форма.ЗапускПодПользователем.Форма(32)}: Поле объекта не обнаружено (РежимСовместимостиИнтерфейса)
ЭлементыФормы.РежимИнтерфейсаТакси.Доступность = Метаданные.РежимСовместимостиИнтерфейса = Метаданные.СвойстваОбъектов.РежимСовместимостиИнтерфейса.Версия8_2РазрешитьТакси;Открыть связанный сеанс тонкого клиента:
{ОбщийМодуль.ирОбщий.Модуль(19538)}: Поле объекта не обнаружено (Содержимое)
Для Каждого Форма Из Окно.Содержимое ЦиклЗапустил "подбор и обработка объектов БД (ИР)". Выбрал Область данных "РегистрБухгалтерии.Хозрасчетный".
В настройках выбора указал Отбор:
Счет Дт = 08.30
Вид субконто1 Дт = Объекты строительства
Субконто1 Дт = " "
Период >= 23.02.2010 00.00.00
Период <= 27.12.2012 23.59.59
В Выборе отключил "Автозаполнение"
Выбрал следующие поля:
Номер строки
Регистратор
Счет Дт
Вид субконто1 Дт
Субконто Дт
Порядок указал по полю Период, "Автоупорядочивание" активно
Нажал "Найти объекты"
Отобразилась таблица с результатом запроса
Перехожу на закладку "Обработки"
Выбираю Обход данных "Строки"
Активирую "Динамическая выборка", "Выполнять в транзакции", "Пропускать ошибки", "Отключать контроль записи", "Выводить сообщения", "Запись на сервере"
В ветке дерева обработок "Установка реквизитов" создаю новую обработку.
В которой активирую только один реквизит "Субконто1 Дт"
Указываю ему одно значение (один из элементов справочника Объекты строительства)
Сохраняю обработку и нажимаю "Выполнить".
обработка выпадает по ошибке:
"{Обработка.ирПодборИОбработкаОбъектов.Форма.УстановкаРеквизитов.Форма(30)}: Поле объекта не обнаружено (СубконтоДт1)
Объект[СтрокаРеквизита.Идентификатор] = СтрокаРеквизита.Значение;
"
Понятное дело, что у бухгалтерского регистра нет поля СубконтоДт1, но как выбрать необходимое?
Документы перепроводить нельзя, так как большинство из них Требования-накладные и обороты будут пересчитаны по среднему.
Необходимо, что бы в проводках подставился необходимый элемент справочника Объекты строительства в "Субконто1Дт"
Пожалуйста, подскажите как ещё можно решить эту проблему?
Спасибо.
- конструктор запросов (при вызове из панели контекстной подсказки) теперь поддерживает работу с текстами запросов, содержащими обращения к существующим временным таблицам; пока есть одно ограничение - временные таблицы должны обязательно иметь псевдоним
- BSD лицензия интегрирована в общий модуль ирГлобальный
в консоли запросов
- в режиме дерева запроса исправлена поддержка типов ВидСчета, ВидРегистраНакопления и ВидРегистраБухгалтерии
- ранее флаг модифицированности не устанавливался после использования конструктора запроса
- добавлена полуавтоматическая установка компоненты GoldParser.dll
обновлена контекстная подсказка до версии 1.21
Общие:
- теперь в модальном режиме все сообщения будут выдаваться через Предупреждение() (раньше они выводились в не всегда видимое окно служебных сообщений)
- в грамматику языка запросов добавлены несколько редко используемых синтаксических конструкций
Консоль запросов:
- исправлена ошибка при обработке вложенных запросов с временными таблицами в режиме дерева запроса
- исправлена ошибка при передаче менеджера временных таблиц запроса из отладчика
Метод "ПриПодключенииВнешнейОбработки"
ОтладкаВключена = ХранилищеСистемныхНастроек.Загрузить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл");
Если ОтладкаВключена ...{ОбщийМодуль.ирСервер.Модуль(49)}: Преобразование значения к типу Булево не может быть выполнено
Если ОтладкаВключена Тогда
{Обработка.ирРедакторПредопределенных.Форма.Форма.Форма(67)}: Ошибка при вызове метода контекста (Выполнить)
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
по причине:
{(4, 7)}: Поле не найдено "Т.ИмяПредопределенныхДанных"
ГДЕ Т.<<?>>ИмяПредопределенныхДанных <> ""
Оно и понятно, но может заглушку сделать для режима совместимости?
При этом по умолчанию предлагается к замене номер версии всей конфигурации, а не подсистемы, что не есть гуд, если основная конфигурация является другой ( УПП и т.д.)
.
Предлагаю для варианта подсистемы с обновлением через поддержку не заменять Версию и модуль приложения, если возможен подобный вариант :)
"При обновлении через поддержку конфигурации ОБЯЗАТЕЛЬНО УБИРАТЬ галочки на поле "Версия" и "Модуль приложения" во избежание багов с основной используемой конфигурацией"
{МодульПриложения(52)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
глТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеанса
Куда добавить код
// +++.ДОБАВЛЕНИЕ.07/09/23-14:24:41.<ИР>
Если ПравоДоступа("Использование", Метаданные.Обработки.ирПлатформа) Тогда
ирПлатформа = Обработки.ирПлатформа.Создать();
КонецЕсли;
// ---.ДОБАВЛЕНИЕ.07/09/23-14:24:41.<ИР>
В редакторе БД много пустого места между полями "Ссылка", "Таблица" и панелью со вкладками
Если открыть редактор БД, ничего не выбирать в полях "Ссылка" и "Таблица" и переключаться между вкладками, появляются сообщения об ошибках
"{Форма.Форма.Форма(50)}: Преобразование значения к типу Булево не может быть выполнено
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Удалить.Доступность = мЭтоСсылочныйОбъект и ЗначениеЗаполнено(ВыбОбъект);
"
Если в поле "Таблица" (поле "Ссылка" не трогать) сначала выбрать вид объекта метаданных, а потом очистить, то при переключении на вкладку "Изменения на узлах" получаем сообщение об ошибке
{Форма.Форма.Форма(1439)}: Тип не определен
Результат = Новый (СтрЗаменить(ИмяОсновнойТаблицы, ".", "НаборЗаписей."));
(1288), (1289) Спасибо за описания проблем. Все их я воспроизвел. Постараюсь устранить их в следующей версии.
Вскрылся косяк в обработке "Удаление объектов с контролем ссылок" при обработке независимого непериодического регистра сведений, у которого нет измерений! (В типовой конфе бухгалтерии это регистр "НастройкиФормированияКонтролируемыхСделок")
Ошибка:
{Обработка.ирУдалениеОбъектовСКонтролемСсылок.МодульОбъекта(54)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(1, 37)}: Синтаксическая ошибка "ИЗ"
ВЫБРАТЬ КомиссионноеВознаграждение, <<?>>ИЗ РегистрСведений.НастройкиФормированияКонтролируемыхСделок ГДЕ КомиссионноеВознаграждение В (&КомиссионноеВознаграждение)
Себе поставил заплатку в строке 185 модуля объека:
Если Прав(ТекстВыбора,1) = "," и ПолеСсылки = "" Тогда
ТекстВыбора = Лев(ТекстВыбора,СтрДлина(ТекстВыбора)-1);
КонецЕсли;
(1410) Уже обсуждалось. Идея напрашивается сама собой. После выхода стабильной сборки 8.3.6 буду рассматривать применимость этого механизма для нового варианта выпуска подсистемы. По описанию механизма можно сделать вывод, что шансы на успех большие, но как и любому новому механизму ему потребуется время на избавление от ошибок и ограничений, которых уверен там будет немало. Так что запасайтесь терпением.
1) поставить точку останова на строке, в которой выполняется запрос и во время остановки вычислить "Отладить(<ИмяОбъектаЗапроса>)"
2) установить курсор в любое место текста запроса и, вызвав контексное меню, выбрать "Конструктор запроса" и затем в диалоге "Запрос" скопировать чистый текст запроса
"Отладить" мне очень понравилось, здорово сделано, стало офигенно удобно отлаживать чужие и собственные тяжелые запросы.
.
1) Еще момент - работа с подзапросами возможна только при использовании парсера ?
Или еще как-то ?
.
2) Справка в поставляемой конфе отстает от написанного на сайте :)
1. Сохранять наработки из всех консолей не только в файл, но и в саму базу.
2. Сделать простой способ выгрузки/ загрузки всех настроек и наработок для переноса между ИБ
3. В консоли запросов в обработках результатов запроса сделать возможность нескольких алгоритмов а лучше подцепить справочник алгоритмов.
58.2 - Справку пока лень писать. Особенно неприятно, когда ее напишешь, а потом что то переделаешь и справку опять переписывать. Пока подсистема активно развивается справку писать очень накладно.
59 - Повторяю ответ. Сделаем в скором времени.
ИМХО удобнее работать для одной конфигурации/базы с одним файлом консоли, чем с кучей.
А куча файлов получается при использовании Отладить для каждого отдельного запроса/построителя и т.д :(
Использование синхронных методов на клиенте запрещено!
{ВнешняяОбработка.ирПортативный.Форма.ПерезапускСеансаУправляемая.Форма62}: Если Не ИсполняемыйФайл.Существует() Тогда
{ВнешняяОбработка.ирПортативный.Форма.ПерезапускСеансаУправляемая.Форма228}: ЗапуститьНовоеПриложение(Истина);
по причине:
Использование синхронных методов на клиенте запрещено!В конфигурации отключено использование синхронных вызовов версия ИР_5_50.
| Код |
|---|
Метаданное_ирПлатформа = Метаданные.Обработки.Найти("ирПлатформа");
Если (Метаданное_ирПлатформа <> Неопределено) И (ПравоДоступа("Чтение", Метаданное_ирПлатформа)) Тогда
ирПлатформа = Обработки.ирПлатформа.Создать();
КонецЕсли;Показать полностью |
ЗЫ проверено на тестах :)
А про сайт, как обычно, помнишь ведь в последнюю очередь :)
+
думаю, что немногие свяжут контекстную подсказку с Исследовать :)
я, например, не догадался туда заглянуть :)
- в консоли запросов в режиме дерева запроса добавлена горячая клавиша CTRL+S для окончания редактирования
- в консоли запросов в режиме дерева запроса находясь не в режиме редактирования при выполнении запроса на создание временной таблицы она будет автоматически предварительно удаляться и в качестве результата будет выводиться ее содержимое
- в консоли запросов в режиме дерева запроса для временных таблиц и для корневого узла дерева запроса на создание временной таблицы добавлены свои пиктограммы; имя корневого узла на создание временной таблицы теперь равно имени создаваемой временной таблицы
- в консоли запросов для запроса добавлен хранимый режим "Построитель/Компоновка", предназначенный для использования настроек соотвествующего объекта при выполнении запроса;
- в консоли компоновок теперь набор данных запрос будет открываться в консоли запросов в новом ее режиме "Редактирование"
{Обработка.ирПоискСсылокНаОбъект.Форма.Форма(87)}: Ошибка при установке значения атрибута контекста (ИндексКартинки): Недопустимое значение
Ячейки.КартинкаСсылки.ИндексКартинки = ДанныеСтроки.КартинкаСсылки;
ДанныеСтроки.КартинкаСсылки = -1
В строке ссылка на БП
консоль запросов
- в дереве запроса добавлены команды "Перенести в новый запрос" для подзапросов ИЗ, "Преобразовать в подзапрос" для таблиц
- в дереве запроса добавлена поддержка объединений!
- проведена оптимизация работы с деревом запроса
- в консоли запросов добавлена команда "Открыть исполняемый запрос в консоли запросов"; она предназначена для анализа настроенного (с помощью закладки "Настройка") запроса; иногда бывает полезно убедиться, что отбор был правильно добавлен, перед выполнением запроса
(мобильные) Инструменты разработчика 3.04.1
В базе нет роли ирРазработчик. При попытке запуска базы под другим пользователем получаем ошибку:
Если Не ПользовательИБ.Роли.Содержит(Метаданные.Роли.ирРазработчик) Тогда
галочка Временно предоставить право "Разработчик (ИР)" заблокирована.
Ошибка исправляется в строке 200 модуля формы ЗапускПодПользователем:
//Изменено: sukhikh 12.02.2014
//ЭлементыФормы.ВременноПредоставитьПравоРазработчикИР.Доступность = Не ирКэш.ЛиМобильныйРежимЛкс();
//---- Заменено на: ----
ЭлементыФормы.ВременноПредоставитьПравоРазработчикИР.Доступность = ирКэш.ЛиМобильныйРежимЛкс();
/// sukhikh 12.02.2014
И, кстати, было бы очень правильно добавить на форму Список пользователей (ИР) возможность открыть форму элемента справочника Пользователи текущего пользователя ИБ.
Немного переработан алгоритм сворачивания подзапросов в дереве запросов, по ходу чего были исправлены кое какие косяки. Теперь сворачивание производится более строго, но недопустимо слитное расположение внешних токенов (групп печатаемых символов) и скобок вложенного запроса в предложении ИЗ. Т.е. после сворачивания текста "ВЫБРАТЬ 1 ИЗ(ВЫБРАТЬ 2)КАК МойПодзапрос", вы получите "ВЫБРАТЬ 1 ИЗ_МойПодзапрос_КАК МойПодзапрос" и при проверке запроса вы получите ошибку. В будущем данная пробема возможно будет решена
Если РольДоступна("ирРазработчик") Тогда // MaxS 2008-03-11
ирПлатформа = Обработки.ирПлатформа.Создать();
Иначе
ГлавныйИнтерфейс.ирРазработчик.Переключаемый = Ложь;
ГлавныйИнтерфейс.ирРазработчик.Видимость = Ложь;
ГлавныйИнтерфейс.ирДемонстрация.Переключаемый = Ложь;
ГлавныйИнтерфейс.ирДемонстрация.Видимость = Ложь;
КонецЕсли;
ПоказатьПри объединении subj с УТ 10.3.3.3 типовая обработка "КонсольОтчетов" объединяется с "ирКонсольПостроителейОтчетов".
Приходится в окне сравнения и объединения жать пр.кн.мыши-Отменить соответствие объектов, потом Обновить и только после этого нажать Выполнить.
Видимо когда-то ирКонсольПостроителейОтчетов была сделана из УТ и теперь при объединении сравнивается по внутренним идентификаторам...
Получается недостаточно того что все метаданные имеют префикс "ир" нужно быть начеку и смотреть а не заменится ли при объединении типовой объект. ;)
Есть запрос по бух.счетам для счета 08.3 - можно проверить на БП или УПП
| Код |
|---|
ВЫБРАТЬ
Таблица.Субконто1 КАК ОбъектСтроительства,
Таблица.Субконто1.Наименование КАК ОбъектСтроительстваНаименование,
Таблица.СуммаКонечныйОстаток КАК СуммаОстаток
ПОМЕСТИТЬ ТабОбъектыСтроительства
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , ДвиженияИГраницыПериода, счет = &ВыбСчет, , Организация = &Организация) КАК Таблица
ИНДЕКСИРОВАТЬ ПО
ОбъектСтроительстваНаименованиеПоказать полностью |
.
Далее выполняю запрос к этой временной таблице
| Код |
|---|
ВЫБРАТЬ
Таблица1.ОбъектСтроительства,
Таблица1.СуммаОстаток КАК СуммаОстатокИтого_ПоОдномуОбъекту
ИЗ
ТабОбъектыСтроительства КАК Таблица1
ГДЕ
ОбъектСтроительства = &ПарамСубконто1Показать полностью |
.
Если данный запрос открыть в конструкторе запросов, и посмотреть текст запроса в самом конструкторе, то увидим, что запрос преобразован во что-то ужасное :(
ВЫБРАТЬ
Таблица1.ОбъектСтроительства,
Таблица1.СуммаОстаток КАК СуммаОстатокИтого_ПоОдномуОбъекту
ИЗ
(ВЫБРАТЬ
ВЫБОР
КОГДА ЛОЖЬ
ТОГДА ЗНАЧЕНИЕ(Документ.ОтчетКомитентуОПродажах.ПустаяСсылка)
КОГДА ЛОЖЬ
ТОГДА ЗНАЧЕНИЕ(Документ.ОтражениеПоступленияТоваровИУслугНДС.ПустаяСсылка)
// ТУТ куча таких строчек для разных документов и справочников :(
КОНЕЦ КАК ОбъектСтроительства,
ВЫРАЗИТЬ("" КАК СТРОКА(100)) КАК ОбъектСтроительстваНаименование,
ВЫРАЗИТЬ(0 КАК ЧИСЛО(38, 2)) КАК СуммаОстаток
ГДЕ
"ВременнаяТаблица" = "ТабОбъектыСтроительства") КАК Таблица1
ГДЕ
Таблица1.ОбъектСтроительства = &ПарамСубконто1
.
Причем сам указанный запрос работает, выдает верные данные, но если запрос чуть усложнить, например, добавив объединение с каким-нибудь другим, начинают выдаваться странные ошибки на синтаксис запроса, хотя в запросе все верно.
.
Прошу помощи или подсказки.
ЗЫ вариант (222) попробовал, тоже самое.
Конфигурация "Управление торговлей", редакция 10.3 (10.3.21.2)
Файловый режим
Инструменты разработчика 3.14.2
Нажать кнопку "Настройки инструментов", перейти на вкладку "Другое". Выбрать иное расположение панели, нажать кнопку "Сохранить и закрыть".
Получаем ошибку:
"Значение не является значением объектного типа (ЛиМобильныйРежимЛкс)"
с кнопками ОК и Подробно:
{Форма.Форма.Форма(100)}: Значение не является значением объектного типа (ЛиМобильныйРежимЛкс)
Если ирКэш.ЛиМобильныйРежимЛкс() Тогда
(1302) В версии 3.15.1 воспроизводится ошибка из (1289)
Еще один аналогичный баг. Если в окне редактора БД выбрать что-нибудь в поле "Таблица", поле "Ссылка" не заполнять. Перейти на вкладку "Связанные колонки БД", очистить поле "Таблица", получаем сообщение об ошибке "Тип не определен"
{Форма.Форма.Форма(1439)}: Тип не определен
Результат = Новый (СтрЗаменить(ИмяОсновнойТаблицы, ".", "НаборЗаписей."));
- большие доработки в направлении алгоритмов: их можно вызывать друг из друга с параметрами (скоро выложу пример), есть опция для отладочного режима с генерацией связанных внешних обработок на лету для выполнения каждого алгоритма (позволяет удобно отлаживать алгоритмы)
- реализован диалог выбора допустимых типов для параметров алгоритмов (пока малофункциональный и медленный, но рабочий)
- улучшены исследователь объектов и коллекций
- значительно улучшена работа контекстной подсказки с составными типами
- исправлена ошибка при сворачивании сложных запросов в консоли запросов
- в консоли компоновок данных добавлен механизм временных наборов данных (пока нет времени описывать, скоро выложу пример), который является более универсальным средством чем пакетные запросы в 8.1.11 и будет поддерживать сами пакетные запросы
- теперь все табличные поля доступных полей компоновки данных будут отображать пиктограммы по роли и типам поля
Про 11-й релиз. Подсистема почти совместима с 11-м релизом, консоль запросов понимает пакетные запросы. Но к большому сожалению из-за признанной ошибки платформы метод НайтиПараметры с такими запросами при наличии обращения к временным таблицам не работает. Вследствие чего консоль будет выдавать ошибку. Так что ждем 12-го релиза.
Тип: портативные
1. Эх, в "Редактор объекта БД" управляемая форма ссылки внешнего источника данных не открывается :(
2. Если использовать внешнюю ссылку в отборе в обработке "Подбор и обработка объектов" (удивительно, что я могу её подобрать) возникает ошибка:
{Форма.ПодборИОбработка.Форма(102)}: Ошибка при вызове метода контекста (Выполнить)
мРезультатЗапроса = мЗапрос.Выполнить();
по причине:
{(6, 21)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
Т.ДоговорИзРеестра <<?>>= &П
И если там же попытаться её потом отредактировать/изменить, то она уже то исчезает из поля (визуально_, то редактируется как строка.
Очень рад за то, что хотя бы в консоли запросов теперь всё отрабатывает хорошо. И контекстная подсказка по внешним источникам работает. Работаю и не нарадуюсь :-)))
1. Да я был не прав. Я почему-то думал, что в консоли запросов через лупу отрывается управляемая форма внеш. источника, а тут нет.
Кстати а можно её по лупе открывать? Она у нас определена в конфигурации, что бы открывать её в Толстом клиенте для нас самих (хоть открываем мы её тоже кодом).
2. Там тип строка (см. приложенный скриншот)
Дополнительно:
Почему-то "Консоль кода" ни как не понимает, что я сделал сохранение. Она так и продолжает показывать * (звёздочку).
При запуске Port 3.96.1:
{Форма.Форма.Форма(102)}: Значение не является значением объектного типа (ИнициализироватьФормуЛкс)
ирОбщий.ИнициализироватьФормуЛкс(ЭтаФорма, "Обработка.ирПортативный.Форма.Форма");
Последняя рабочая версия Port 3.60.1
Что делать, можно ли это обойти?
после нее НИ ОДНА (
и еще один момент - я не знаю, исправили уже или нет, но если после порт версии запустить любую другую обработку из другой папки, обработки порт версии не будут работать, пока не зайдешь в её папку и снова не выберешь повторно открыть
конечно, она не загружается, т.к. уже загружена, но после этого все работает, пока опять не открою что-нибудь из другой папки
я так понимаю, выяснять исходную папку откуда запускалась порт версия не пытается даже, просто пытается открывать все компоненты из текущей
{ВнешняяОбработка.ирОбщий.МодульОбъекта(17867)}: Ошибка при вызове метода контекста (ПолучитьФорму)
Результат = Менеджер.ПолучитьФорму(ПолноеИмяФайла, ИмяФормы, Владелец, Уникальность);
по причине:
по причине:
Ошибка подключения внешних метаданных
по причине:
Каталог не обнаружен 'Модули\ирПодборИОбработкаОбъектов.epf'
Показатьп.с. если интересно, могу дать тимвайв доступ, чтобы не было испорченного телефона, лучше 1 раз увидеть чем 100 раз услышать
Добавляем простой запрос
ВЫБРАТЬ
&Коэфт * КОЛИЧЕСТВО(Номенклатура.Ссылка) КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
заполняем параметры из запроса
Проблема 1 Коэфт - тип Число, точность 0, раньше была точность 3
Проблема 2 В колонке Допустимые типы значений пытаюсь переопределить точность вручную, принажатии на кнопку выбора получаю ошибку
{Обработка.ирПлатформа.Форма.ВыборРедактируемыхТипов(104)}: Значение не является значением объектного типа (Пометка)
ЭлементСписка.Пометка = Истина;
в ТаблицаРедактируемыхТипов пусто
стоп. похоже, как-то криво обновился
- исправлена ошибка в описании системных перечислений, приводящая в некоторых случаях к трактованию их подсказкой как коллекций
- исправлена свежая ошибка в грамматике языка запросов, приводящая к невозможности построить дерево запроса «ВЫБРАТЬ Ссылка ИЗ Таблица»
- улучшен редактор строкового литерала теперь он поддерживает все доступные в платформе расширения
- в таблицы описания платформы добавлены типы параметров, что в будущем даст возможность учитывать тип параметра при формировании списка слов в подсказке
- найден обход проблемы платформы с порчей представления текста в поле текстового документа после присвоения выделенного текста
- исправлена ошибка обработки терминального строкового литерала в тексте
{Обработка.ирУниверсальныйРедакторРеквизитов.Форма.Форма(436)}: Поле объекта не обнаружено (ОбменДанными)
Объект.ОбменДанными.Загрузка=истина;
Вот нашелся способ исправления: в строку 435 вставить:
Если ПланыОбмена.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыбОбъект)) Тогда // MaxS 2008-04-14
Объект.Записать();
Возврат;
КонецЕсли;
- увеличен список типов в редакторе допустимых типов (теперь там все возможные основные и расширения)
- в консоли запросов сделан фикс для косяка платформы с невозможностью в функции ЗНАЧЕНИЕ() указать ссылку плана обмена, что в некоторых случаях приводило к ошибке при сворачивании запроса
- в консоли запросов в таблице параметров добавлен флажок "Не использовать ограничение типа"
- улучшена работа ирПлатформа в режиме внешнего соединения
- снижена вероятность конфликтов имен методов при объединении с основной конфигурацией
- в универсальном редакторе реквизитов исправлены ошибки и добавлена кнопка "Перечитать"
- в универсальных подборе и обработке объектов исправлена ошибка при работе с метаданными, содержащими в имени "_"
- в исследователе объектов улучшено вычисление ряда типов и теперь по двойному клику открывается значение, если для него предусмотрена команда "Открыть"
- исследователь объектов теперь запоминает последние 40 использованных выражений
- подсказка при добавлении слов локального контекста и исследователь научились понимать внешние объекты (внешние обработки и внешние отчеты)
- исправлено неверное извлечение неизвлекаемых параметров в консоли запросов
- исправлены мелкие ошибки (Работа с неполными типами) и улучшен интерфейс в редакторе допустимых типов
- подсказка и исследователь стали понимать элементы форм на базовом уровне
- исправлено свежесломанное вычисление элементов коллекций метаданных в исследователе объектов
- в универсальных подборе и обработке объектов исправлена ошибка работы с именем реквизита «Представление»
- в поиске и замене дублей теперь поддерживаются все ссылочные типы объектов и улучшен диалог выбора объекта метаданных
- в универсальном редакторе реквизитов также улучшен диалог выбора объекта метаданных
- улучшено диагностирование ошибок при выполнении алгоритмов
- исправлена ошибка, приводящая в некоторых случаях к не выделению ошибочной строки
{Обработка.ирИнтерфейснаяПанель.Форма.Форма(745)}: Поле объекта не обнаружено (ПродажиПоПоставщикам)
СтрокаОтчетаДляНастройки.Представление = Метаданные.Отчеты[ВыборкаНастроек.Вид].Синоним;
| Код |
|---|
Если Ложь
Или Метаданные.Отчеты.Найти(ВыборкаНастроек.Вид) = Неопределено
Или НЕ ОбъектПроходитФильтры(ВыборкаНастроек.Представление)
Тогда
Продолжить;
КонецЕсли;
Показать полностью |
при выводе результата
{ОбщийМодуль.ирГлобальный(2616)}: Ошибка при вызове метода контекста (Добавить): Несоответствие типов (параметр номер '4')
Кнопка = КнопкиПриемника.Добавить(, ТипКнопкиКоманднойПанели.Действие, , КнопкаМакета.Действие);
по причине:
Несоответствие типов (параметр номер '4')
- исправлено неточное выделение ошибочной строки при сохранении вложенных запросов в режиме дерева запросов
- исправлена внесенная в 1.52 ошибка в исследователе объектов
- исправлена ошибка в интерфейсной панели с обращением к сохраненным настройкам отсутствующих в метаданных отчетах
- исправлена внесенная в одной из последних версий ошибка в консоли построителей отчетов при выводе отчета с более чем одним уровнем группировок
Режим БД: клиент-серверный
Конфигурация. Название: Управление производственным предприятием, редакция 1.3. Агрохолдинг (1.3.124.2)
Конфигурация. Основной режим запуска: Обычное приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим совместимости: Версия8_2_13
Конфигурация. Версия БСП: 1.2.4.1
Инструменты разработчика. Версия: Портативные 5.19p
Инструменты разработчика. Объекты на сервере: Нет
Инструменты разработчика. Серверный модуль: Нет
Клиент. ОС: Windows x86-64 version 6.1 Service Pack 1 (Build 7601)
Клиент. Приложение: Обычное приложение 64б
Клиент. От имени администратора Windows: Да
Клиент. Текущий язык системы: ru
Сервер. ОС: Windows x86-64 version 6.1 Service Pack 1 (Build 7601)
Сервер. Отладка: нет
При попытке включить отладку Com соединений (Управление Com Классами 1С) выскакивает ошибка:
{ВнешняяОбработка.ирУправлениеCOMКлассами1С.Форма.Форма.Форма(133)}: Метод объекта не обнаружен (екстКонфигурационногоФайлаВнешнихСоединенийЛкс)
ТекстовыйДокумент = ирОбщий.екстКонфигурационногоФайлаВнешнихСоединенийЛкс();
Кто-то снес буковку?
- в консоли запросов исправлена ошибка с не удалением служебных временных таблиц из менеджера временных таблиц при закрытии
- исправлена ошибка в консоли запросов, приводящая к не сохранению изменений запроса в режиме «редактирование» в случае если текст запроса содержит ошибки; теперь пользователю в таком случае будет выдаваться вопрос
- исправлено ошибка в консоли запросов, приводящая к потере содержимого новой строки дерева запросов при ее переносе в дереве
- исправлена ошибка в поиске и замене дублей, из-за которой в группы дублей элементы попадали без учета отбора (но сами группы определялись и раньше с учетом отбора)
- в поиске и замене дублей на закладке «Замена» добавлено поле «Количество» для отображения количества ссылок
- исправлена ошибка в поиске и замене дублей при использовании для сравнения дочерних полей
- в универсальных подборе и обработке объектов исправлена ошибка с удалением элементов справочника с иерархией элементов
- в настройках алгоритмов у каталога динамических внешних обработок лупа теперь открывает папку
{Обработка.ирАнализЖурналаРегистрации.Форма.Форма.Форма(135)}: Ошибка при вызове метода контекста (ВыгрузитьЖурналРегистрации)
ВыгрузитьЖурналРегистрации(ТаблицаЗначенийЖурнала, Фильтр,,, МаксимальныйРазмерВыгрузки);
по причине:
Несоответствие типов (параметр номер '2')
а потом
{Обработка.ирАнализЖурналаРегистрации.Форма.Форма.Форма(40)}: Ошибка при вызове метода контекста (Найти)
СтрокаТаблицыЗначений = ТаблицаЗначенийЖурнала.Найти(ДанныеСтроки.ПорядокСтроки, "ПорядокСтроки");
по причине:
Неверное имя колонки
//========================================================
ДокументСсылка = Документы.БухгалтерскаяСправка.НайтиПоНомеру(Номер, Дата);
Если ДокументСсылка.Пустая() тогда
ДокументОбъект = Документы.БухгалтерскаяСправка.СоздатьДокумент();
ДокументОбъект.Дата = Дата;
ДокументОбъект.Номер = Номер;
ДокументОбъект.Примечание = Примечание;
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
ДокументСсылка = ДокументОбъект.Ссылка;
иначе
Дата = ДокументСсылка.Дата;
КонецЕсли;
ДокументОбъект.Движения.НДС.?
//=======================================
Где вопрос ?, при нажатии ctrl+space - вываливается ошибка:
{Обработка.ирПлатформа(1150)}: Метод объекта не обнаружен (Индекс)
ЭлементСхемы = КоллекцияЗначений.Индекс(ИмяТекущегоСлова);
Кстате, ошибка вываливается на любом регистре
- в консоли запросов теперь в некоторых случаях работает извлечение пустых ссылок в составе массивов и списков
- исправлена мелкая ошибка в подсказке при работе с общими типа наборов записей и списков
- исправлена ошибка в исследователе вычисления элементов отбора
- в консоли компоновок данных добавлена возможность использования пользовательского макета оформления
- в консоли запросов в режиме компоновки реализовано управление порядком на закладке настройки
- в консоли запросов увеличен уровень перехвата ошибок при пересоздании служебных временных таблиц (несколько версий назад он был снижен с целью отловить больше ошибок)
- в консоли запросов добавлено высоковероятное распознавание (без синтаксического разбора) запросов на создание временных таблиц без режима дерева запросов
- исправлена ошибка в контекстной подсказке при вычислении элементов коллекции Движения у документов
ирПлатформа.WshShell
ирПлатформа.ФайлЗапаковщика1С
ирПлатформа.КаталогДинамическихВнешнихОбработок
ирПлатформа.ПроверитьСоздатьФайлЗапаковщика1С()
Спасибо.
Сережа у нас как всегда великий советчик. Ни одного своего проекта он до конца довести не может. Везде только супергениальные идеи - а вот с реализацией до конца - как то не получается. Видимо изначальные идеи настолько гениальны, что он даже сам их не может реализовать. Время видать ещё не пришло, опередили они его на пару столетий ;)
Что-то Фиксин работаешь ты уже 10 лет, да всё кодером - в руководители, на серьёзной работе тебя не берут. А покомандовать-то хочется, хотя бы в интернете. Иди сливай дальше, не мешай серьёзным людям.
первый раз открыл данную обработку подсистемы и получил ошибку из-за незаполненной переменной - ТекущийОбъект
обработка - ирУниверсальныеПодборИОбработкаОбъектов:
{Обработка.ирУниверсальныеПодборИОбработкаОбъектов.Форма.ПодборИОбработка(145)}: Ошибка при вызове метода контекста (Вставить): Задано неправильное имя атрибута структуры
НастройкиПостроителя.Вставить(ТекущийОбъект, Настройки);
косяк был в конфигурации, в которую вставлял подсистему: там ранее сохранялись настройки в структуру, поэтому при восстановлении настроек соответствие волшебным образом подменялось структурой (сразу и не заметил) - достаточно было удалить настройки и все заработало
- исправлена неоправданно огромная задержка (около 2 мин) на некоторых конфигурациях ОС при вызове команды «Открыть в отладчике»
- исправлена ошибка с потерей квалификаторов примитивных типов при подмене временных таблиц в консоли запросов
- исправлена ошибка консоли запросов, приводящая к прекращению обновления контекста подсказки для обработчиков строки результата и результата
- заметно усовершенствована контекстная справка, теперь она предоставляет свободу выбирать среди предсказанных (вычисленных) и возможных (без учета контекста) типов слова
- в консоли запросов добавлена возможность быстро исследовать коллекцию колонок результата
- в исследователе объектов исправлена мелкая ошибки при вывозе метода напрямую ИсследоватьКоллекцию()
- в консоли запросов исправлена ошибочная установка признака модифицированности для нового файла
Можно сделать присвоении ссылки на файл через врем. переменную и уже в попытке присваивать окончательно.
Ну и еще, если будет время, проверку в зависимых функциях (ПолучитьОбновитьФайлВнешнейОбработкиАлгоритма, ПолучитьТекстМодуляВнешнейОбработки), что файл удалось создать (т.е. <> Неопределено).
2. Консоль построителя отчетов - при выборе настройки сделай запрос "Хотите выполнить настройку?". Необходимо т.к. последний сделал запрос за громадный период и пока не выполнится нельзя период поменять.
1) определяется слово контекста
2) поиск в предопределенных именах контекста
3) поиск в шаблонах общих метаданных контекста, если найдено в них, тогда идет детализации уже по текущим метаданным изходя из найденого шаблона и правила его обработки.
4) поиск в локальном контексте
Правильно ли я понял? И для цего в общем используется понятие контекст? Т.е. это только место определния слов?
При запуске инструмента "Управление службами серверов 1С" валится при разборе строки службы:
"C:\Program Files\1cv8\8.3.8.1784\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -d "C:\Program Files\1cv8\srvinfo\\" -debug -http
Служба была зарегана командой
"%ProgramFiles%\1cv8\8.3.8.1784\bin\ragent.exe" -instsrvc -debug -http -usr "user" -pwd "pass" -d "%ProgramFiles%\1cv8\srvinfo"
Ошибка:
{ВнешняяОбработка.ирУправлениеСлужбамиСерверов1С.МодульОбъекта(158)}: Преобразование значения к типу Число не может быть выполнено
СтрокаСлужбыАгента.НачальныйПортРабочихПроцессов = Число(ФрагментыДиапазона[0]);
{Обработка.ирПоискИЗаменаДублей.Форма.Форма(184)}: Индекс находится за границами массива
СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;
Когда в настройке в настройке владелец и код справочника. Хотя когда владелец и наименование справочника ошибки нет!!!
- исправлена ошибка с отображением доступных полей компоновки в случае наличия параметра неопределенного типа
- исправлена ошибка в поиске и замене дублей при сравнении по строковым полям с пробелами в конце (160)
- в консоли построителей отчетов при загрузке настройки теперь запрашивается необходимость ее выполнения (157)
- исправлена ошибка с установкой индекса картинки для некоторых классов метаданных в обработке поиска ссылок на объект (162)
падение
{Обработка.ирПлатформа.Форма.ВыборОбъектаМетаданных(161)}: Поле объекта не обнаружено (ВнешниеИсточникиДанных)
Для Каждого МетаВнешнийИсточникДанных Из Метаданные.ВнешниеИсточникиДанных Цикл
после закомменчивания этого цикла падает дальше
{ОбщийМодуль.ирГлобальный(836)}: Поле объекта не обнаружено (ОбщиеРеквизиты)
Для Каждого ОбщийРеквизит Из Метаданные.ОбщиеРеквизиты Цикл
- Если нужно сделать отбор по реквизиту составного реквизита (например Основание.Ответственный), то при раскрытии реквизитов его реквизиты не отсортированы по алфавиту и если очень "составной" реквизит. то искать неудобно.
Универсальный редактор реквизитов.
- Не нашел как снять пометку удаления на справочник. Нужно снять пометку с установленным ОбменДанными.Загрузка.
- При проведении документа не берется во внимание установка ОбменДанными.Загрузка
(169)В УПП както закрыл после просмотра очень большого требования-накладной. Предлагаю вычислять время открытия объекта в форме и если больше 1 минуты, то не сохранять этот объект при закрытии формы.
> В УПП както закрыл после просмотра очень большого требования-накладной. Предлагаю вычислять время открытия объекта в форме и если больше 1 минуты, то не сохранять этот объект при закрытии формы.
Сделай замер, найди узкое место (лучше прислать мне сам файл замера для последней версии). Будем анализировать. А пока предлагаю перед закрытием очищать поле объекта.
> Универсальный подбор и обработка объектов
- Если нужно сделать отбор по реквизиту составного реквизита (например Основание.Ответственный), то при раскрытии реквизитов его реквизиты не отсортированы по алфавиту и если очень "составной" реквизит. то искать неудобно.
Да, есть такая проблема, но тут к моему сожалению, я не в силах ничего сделать, т.к. дочерние поля генерируются самой платформой. После выхода 12-го релиза я постепенно переделаю все на компоновку, где устранены многие проблемы построителя, в том числе и эта.
стр. 79 формы ПодборИОбработка
ТекстРеквизитов = ТекстРеквизитов+", "+Символы.ПС+"_Таблица."+ЭлементРеквизит.Значение+" КАК "+ЭлементРеквизит.Значение;
зависает в
Функция РазмаскироватьВременныеТаблицы(ТекстЗапроса, МассивВременныхТаблиц) Экспорт
на строке
НовыйТекстЗапроса = RegExp.Replace(ТекстЗапроса, "$2");
заменил функцию на текст из v 1.54, заработало
отлаживал в ЗУП отчет табель, запрос ВТДатыТабеля
RegExp.Pattern =
\(ВЫБРАТЬ(?:(\([^\)\(]*?(?:(?:\([^\)]*?\)[^\)\(]*?)*)*\))|[^$\(\)])*?"ВременнаяТаблица" = "()"\)
(178)
Не знаю навсегда ли перестаёт отвечать, но терпения не хватило. Сам отчет работает моментально, а в консоли запросов зависает.
МассивВременныхТаблиц.Количество() =0
ТекстЗапроса =
ВЫБРАТЬ
ДатыТабеля.ДатаТабеля КАК ДатаТабеля
ПОМЕСТИТЬ ВТДатыТабеля
ИЗ
(ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 1) КАК ДатаТабеля
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 2)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 3)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 4)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 5)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 6)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 7)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 8)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 9)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 10)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 11)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 12)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 13)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 14)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 15)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 16)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 17)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 18)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 19)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 20)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 21)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 22)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 23)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 24)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 25)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 26)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 27)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 28)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 29)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 30)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2007, 5, 31)) КАК ДатыТабеля
СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;
Аналогичная ошибка вылетала и в предыдущих версиях. Искал по полям наименование, код, не находится в архиве. Зуп 2.5 (2.5.82.2)
1. в моих инструментах нет обработки с именем "ПоискИЗаменаДублей"
2. в форме моей похожей по имени обработки "ирПоискДублейИЗаменаСсылок" нет строки
Если в консоли запросов создать пакетный запрос, в котором первый запрос - это помещение внешней ТЗ во временную таблицу, а второй запрос - это выборка из временной таблицы, то выдается ошибка о неправильном параметре ТЗ. Как показало исследование это происходит из-за того, что для таких запросов не срабатывает метод НайтиПараметры у запроса. Если его не вызывать, то выполняется нормально. Вот так вот:)
ЗЫ ТЗ помещал в запрос через код в "Перед выполнением запроса".
- исправлена в некоторых случаях длительная задержка при открытии документов в универсальном редакторе реквизитов
- исправлена некорректная работа универсальных подбора и обработки объектов с метаданными, имеющими определенные имена
- исправлена ошибка с обработкой сетевых путей к файлам справки в контекстной подсказке
- исправлено описание платформы, которое было лишено некоторых параметров методов и событий, содержащих дефис
- доработан универсальный редактор реквизитов для поддержки бизнес-процессов и задач, а также для пометки удаления
- добавлена обработка «Проверка регистров сведений перед усечением типов измерений»
- в поиске и замене дублей добавлена поддержка пустых ссылок и возможность не указывать критерии сравнения
- проверка и создание папки динамических внешних обработок теперь происходит только при включенной опции «выполнять алгоритмы через динамические внешние обработки (ранее возникали неоправданные проблемы с правами на создание папки c:\temp\algoritm)
- исследователь объектов теперь теперь умеет определять колонки, переданных ему в качестве начального значения строк таблицы и дерева значений, а также выборки из результата запроса (ранее колонки вычислялись только если сам владелец колонок был передан в исследователь)
- исправлена мелкая ошибка в универсальном редакторе реквизитов при работе с бизнес процессами
- улучшено взаимодействие с конфигуратором
- обработка «Проверка регистров сведений перед усечением типов измерений» переименована в «Проверка базы данных перед усечением типов (ИР)» с соответствующим расширением функционала (добавлена проверка и исправление пользовательских видов характеристик)
- произведен ряд доработок для совместимости с приближающимся 8.1.12
В данной версии снова улучшена совместимость с 11-12 релизами платформы.
- в обработке проверка базы данных перед усечением типов исправлена ошибка (191) (при пустой таблице нажатия на кнопки перемещения по списку приводили к ошибке выполнения)
- обновлена контекстная подсказка (1.40), читаем как всегда тут
- консоль запросов на >11 платформе извлекает все параметры из запроса, допускает настройку запроса через отбор построителя
- улучшен редактор допустимых типов
- исправлены некоторые ошибки из-за особенностей работы >11-го релиза с временными таблицами
- каталог динамических внешних обработок теперь нельзя выбирать вручную, теперь он автоматически устанавливается уникальный для каждой ИБ
- исправлена ошибка с обращением к каталогу динамических внешних обработок при отключенном его использовании
- улучшена поддержка бизнес-процессов и задач в универсальном редакторе реквизитов
- улучшена работа команды «Открыть в конфигураторе» ( в частности добавлена установка текущей строки)
Работаю в клиент-серверной 8.1
.
Настройки отчетов для КЗ и КПД хранятся в файлах, т.е. нужно выделять какой-то общий сетевой каталог и т.д., что неудобно для КС версии 8, для сопровождения, безопасности и т.д.
.
Вопрос: нельзя ли в подсистему добавить фичу - справочник с хранилищем значений для возможности сохранения отчетов КЗ и КПД не только в файлы на диске, но и в спец.справочник в базе?
Режим БД: клиент-серверный
Конфигурация. Название: 1С:ERP Управление предприятием 2 (2.1.3.151)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Режим совместимости: Версия8_3_6
Конфигурация. Версия БСП: 2.3.2.59
Инструменты разработчика: Подсистема 4.52
Клиент. ОС: Windows x86-64 version 6.1 Service Pack 1 (Build 7601)
Клиент. Приложение: Обычное приложение 64б
Клиент. От имени администратора Windows: Да
Сервер. ОС: Windows x86-64 version 6.2 (Build 9200)
Сервер. Отладка: нет
При нажатии на "Список инструментов и общие настройки" вылетает ошибка:
{Обработка.ирПортативный.Форма.Форма.Форма(192)}: Ошибка при установке значения атрибута контекста (Картинка)
НоваяКнопка.Картинка = ирКэш.КартинкаПоИмениЛкс(Строка.ИмяКартинки);
по причине:
Несоответствие типовПроблема появилась из-за того, что я до этого открыл эту форму и проставил все галочки для отображения всех инструментов и там как раз были 3 инструмента без картинки (они были самые последние в списке)
Я открыл другую базу и приложил скриншот для понятности.
Хотя может это сделано специально и до меня не дошел смысл кода из примера ...
Беру типовую БП и ищу в справочнике НомерГТД
Сравнение - Код - по равному значению реквизита
В результате
{Форма.Форма.Форма(194)}: Индекс находится за границами массива
СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;
потому что НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска) - возвращает неопределено
Платформа 8.2.12.92
Конфигурация Типовая БП 2.0.15.10 под 8.2
Пробовал и Поиск и замена дублей + v0.99 (с)
И из текущего (Подсистема "Инструменты разработчика" v2.04 ) копировал кусок где он ошибку выдает. Результат одинаковый.
Хотя на других справочниках все ОК
Тогда другой вопрос
В настройках выставляем "Настройка степени соответствия" в крайнее левое положение ("не отличаются") (хотя это не принципиально)
Берем этот же справочник
В поле Настройка сравнения и порядка добавляем код. Тип сравнения - по похожим словам
Нажимаем найти элементы - ничего не находит
Добавляем к коду любое поле, например предопределено. Тип сравнения - по равному значению реквизита.
Нажимаем найти элементы - программа находит элементы
Это такая фича?
й = Новый Структура;
й.Вставить("тест", Справочники.Номенклатура.ПустаяСсылка());а потом открыть "Исследователь объекта", то можно получить следующее сообщение об ошибке
{Форма.ИсследовательОбъектов.Форма(589)}: Метод объекта не обнаружен (УстановитьИсследуемоеЗначение)
Форма.УстановитьИсследуемоеЗначение(ТекущаяСтрока.Значение, Выражение, СтруктураТипаКоллекции);
Подбор и обработка объектов
обрабатываю справочник "Номенклатура", условия отбора Ссылка в группе - указываю группу
найденные элементы - обработка - удаление
падение
{Обработка.ирПодборИОбработкаОбъектов(198)}: Ошибка при вызове метода контекста (Свернуть)
КлючиДляОбработки.Свернуть(СтрокаКлюча, "_ПорядокСтроки");
по причине:
Неверное имя колонки
Строка ключа = "Ссылка", в таблице КлючиДляОбработки такой колонки нет
Конфигурация УПП 1.3.72
Портативные инструменты разработчика 3.48.1
При удалении с контролем ссылок, если поставить отбор по метаданными, и выполнить удаление, если останутся неудаленные ссылки, то при повторном нажатии на "Контроль" появляется ошибка:
{ВнешняяОбработка.ирУдалениеОбъектовСКонтролемСсылок.МодульОбъекта(862)}: Ошибка при вызове метода контекста (Выполнить)
ТаблицаОбъектов = Запрос.Выполнить().Выгрузить();
по причине:
{(2, 40)}: Тип не может быть выбран в запросе
ВЫБРАТЬ РАЗЛИЧНЫЕ ТЗ.* ПОМЕСТИТЬ ТЗ ИЗ <<?>>&ТЗ КАК ТЗ;
Ошибка проявляется даже, если выйти из обработки, и заново выполнить контроль по метаданным. Отбор стоял на справочнике Банковские Счета и Банки.
Как победить СКД в след.ситуации?
Создаю отчет в консоли СКД, есть стандартный параметр КонецПериода типа Дата-Время, если задаю этот параметр 31.08.2008 23:59:59, то все данные попадают в запрос.
Если же задаю этот параметр как простую дату 31.08.08 или 31.08.2008 0:00:00, то не все данные попадают.
Внутри запроса период ограничен через КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ).
Т.е. в консоли запросов исходный запрос работает верно при любой дате, а вот в консоли СКД - только если укажешь время 23.59.59 :(
.
Что делать?
сохранил, запустил его в 1С, выдается 31.08.08 23:59:59
так что нужно копать эту консоль !!
.
Автор, что скажешь?
ЗЫ этот баг меня уже реально достал.
а врет сама СКД от 1С.
Т.е. любой запрос к регистру из СКД типа
ВЫБРАТЬ
ЕСНИсчисленныйОбороты.Организация,
ЕСНИсчисленныйОбороты.ФедеральныйБюджетОборот
ИЗ
РегистрНакопления.ЕСНИсчисленный.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ), , Организация = &Организация) КАК ЕСНИсчисленныйОбороты
работает неверно, если в КонецПериода передавать неполную дату :(
.
Кто-нибудь, проверьте, плиз, на 12 релизе! Исправили эту ошибку или нет?
Активно использую консоль запросов, для отладки запросов в последней ЗУП
Столкнулся с такой проблемой:
Если временная таблица используется в параметрах виртуальной таблицы, то функция РазмаскироватьВременныеТаблицы (версии 1,56 и 1,60) её не размаскирует.
Пример запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ // срез работников на начало месяца
&парамНачало КАК Период,
РаботникиОрганизации.Сотрудник КАК Сотрудник,
ИСТИНА КАК Подходит
ИЗ
РегистрСведений.РаботникиОрганизаций.СрезПоследних(
&парамНачало,
Сотрудник В
(ВЫБРАТЬ
ВТСписокРаботников.Сотрудник
ИЗ
ВТСписокРаботников2 КАК ВТСписокРаботников))
КАК РаботникиОрганизации
значение массива ВТ: "ВТСписокРаботников2".
В примере должна быть виртуальная таблица любого регистра.
RegExp не знаю, поэтому с шаблоном не стал эксперементировать.
Для себя проблему решил переписав функцию РазмаскироватьВременныеТаблицы средствами 1С.
//////////////
Функция РазмаскироватьВременныеТаблицы(ТекстЗапроса, МассивВременныхТаблиц) Экспорт
Для Каждого ПодмененнаяВременнаяТаблица Из МассивВременныхТаблиц Цикл
ПозицияИмени = Найти(ТекстЗапроса,""""+ПодмененнаяВременнаяТаблица+"""");
Если ПозицияИмени <> 0 Тогда
//размаскируем
ДлинаИсходнойСтроки = СтрДлина(ТекстЗапроса);
//Найдем открывающую скобку, чтобы получить начало будущей строки.
СтрокаДляПоискаОткрывающейСкобки = Лев(ТекстЗапроса,ПозицияИмени-1);
ДлинаСтрокиОткрывающейСкобки = СтрДлина(СтрокаДляПоискаОткрывающейСкобки);
КоличествоЗакрывающихСкобок = 0;
ПозицияЗакрывающейСкобки = 0;
Для х=0 По ДлинаСтрокиОткрывающейСкобки Цикл
АнализируемыйСимвол = Сред(СтрокаДляПоискаОткрывающейСкобки,ДлинаСтрокиОткрывающейСкобки-х,1);
Если АнализируемыйСимвол = ")" Тогда
КоличествоЗакрывающихСкобок=КоличествоЗакрывающихСкобок+1;
ИначеЕсли АнализируемыйСимвол = "(" Тогда
Если КоличествоЗакрывающихСкобок=0 Тогда
ПозицияЗакрывающейСкобки = ДлинаСтрокиОткрывающейСкобки-х;
Прервать;
Иначе
КоличествоЗакрывающихСкобок = КоличествоЗакрывающихСкобок-1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
НачалоБудущейСтроки = Лев(ТекстЗапроса,ПозицияЗакрывающейСкобки-1);
//Найдем следующую закрывающую скобку, чтобы получить конец будущей строки
КонецСтрокиДляПоискаЗакрывающейСкобки = Прав(ТекстЗапроса,ДлинаИсходнойСтроки-ПозицияИмени+1);
ПозицияЗакрывающейСкобки = Найти(КонецСтрокиДляПоискаЗакрывающейСкобки,")");
ПозицияЗакрывающейСкобки = ПозицияИмени+ПозицияЗакрывающейСкобки;
ДлиннаКонцаБудущейСтроки = ДлинаИсходнойСтроки - ПозицияЗакрывающейСкобки+1;
КонецБудущейСтроки = Прав(ТекстЗапроса,ДлиннаКонцаБудущейСтроки);
//Собираем строку
ТекстЗапроса = НачалоБудущейСтроки+ПодмененнаяВременнаяТаблица+КонецБудущей
КонецЕсли;
КонецЦикла;
Возврат ТекстЗапроса;
КонецФункции // РазмаскироватьВременныеТаблицы()
//////////////
- в консоли запросов реализована ограниченная функциональность команды «Преобразовать в подзапрос» для корневого запроса на выборку
- в консоли запросов на релизе >=11 улучшено извлечение параметров из запроса при выполнении команды Отладить() ; в частности массив при возможности автоматически преобразуется в список значений, а неотображаемые типы заменяются строковым представлением с сохранением их значений;
Я покопался с размаскированием временных таблиц и модифицировал эту функцию, а именно заменил шаблон для разбора RegExp для устранения катастрофического бектрекинга. В результате работа функции значительно ускорилась, и функция стала более точно вычленять обращение к временным таблицам. Потестируйте, пожалуйста.
Исходные строки кода закомментированы.
| Код |
|---|
// Размаскирует обращения к временным таблицам в тексте запроса.
//
// Параметры:
// ТекстЗапроса – Строка;
// МассивВременныхТаблиц – Массив – элементами являются имена временных таблиц, замаскированных ранее.
//
// Возвращаемое значение:
// Строка - новые текст запроса.
//
Функция РазмаскироватьВременныеТаблицы(ТекстЗапроса, МассивВременныхТаблиц) Экспорт
// Допустимы 2 уровня скобок внутри имитатора временной таблицы.
RegExp.Global = Истина;
RegExp.MultiLine = Истина;
RegExp.IgnoreCase = Истина;
шИмяВременнойТаблицы = "";
Для Каждого ПодмененнаяВременнаяТаблица Из МассивВременныхТаблиц Цикл
шИмяВременнойТаблицы = шИмяВременнойТаблицы + "|" + ПодмененнаяВременнаяТаблица;
КонецЦикла;
шИмяВременнойТаблицы = Сред(шИмяВременнойТаблицы, 2);
//RegExp.Pattern = "\(ВЫБРАТЬ(?:" + шСкобки + "|[^$\(\)])*?""ВременнаяТаблица"" = ""(" + шИмяВременнойТаблицы + ")""\)";
RegExp.Pattern = "\(ВЫБРАТЬ[^\(\)]*(?:\([^\(\)]*(?:\([^\(\)]*\)[^\(\)]*)*\)[^\(\)]*)*""ВременнаяТаблица"" = ""(" + шИмяВременнойТаблицы + ")""\)";
//НовыйТекстЗапроса = RegExp.Replace(ТекстЗапроса, "$2");
НовыйТекстЗапроса = RegExp.Replace(ТекстЗапроса, "$1");
Возврат НовыйТекстЗапроса;
КонецФункции // РазмаскироватьВременныеТаблицы()
Показать полностью |
- (222) благодаря Максиму, размаскировка временных таблиц стала более стабильной(быстрой)
- улучшен исследователь коллекций, в частности добавлен переключатель для управления видимостью служебных колонок «Элемент» и «Тип элемента»
- улучшена работа компоненты контекстной подсказки в режиме ТолькоПросмотр у формы владельца
ВЫБРАТЬ
ВыполнениеЗаданияНаПроизводство.Основание
ПОМЕСТИТЬ НеЗавершенныеБП
ИЗ
БизнесПроцесс.ВыполнениеЗаданияНаПроизводство КАК ВыполнениеЗаданияНаПроизводство
ГДЕ
(НЕ ВыполнениеЗаданияНаПроизводство.ПометкаУдаления)
Выводится:
Текст запроса: Строка 3: {(3,11)}: Временная таблица уже существует "НеЗавершенныеБП"
ПОМЕСТИТЬ <<?>>НеЗавершенныеБП
Может создавать новый менеджер временных таблиц при выполнении?
ВЫБРАТЬ
ВыполнениеЗаданияНаПроизводство.ОбъектОснование
ПОМЕСТИТЬ НеЗавершенныеБП
ИЗ
БизнесПроцесс.ВыплатаПоЗаявке КАК ВыполнениеЗаданияНаПроизводство ГДЕ
(НЕ ВыполнениеЗаданияНаПроизводство.ПометкаУдаления)
Видимо, проблема описана не достаточно полно.
{ВнешняяОбработка.ирСервер.МодульОбъекта(226)}: Значение не является значением объектного типа (Использование)
Результат.Использование = ИспользованиеСобытия.Использование;
ИмяСобытия в отладчике _$Access$_.Access
"Редактор объекта БД"
{ВнешняяОбработка.ирПлатформа.МодульОбъекта(7563)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: 'Wrap'
Здесь, наверное, копать в сторону Регистрации Com Объектов
Удаление объектов с контролем ссылок
Нажал "Контроль" ("Удаление" было недоступно) - произошло самое настоящее удаление.... Неожиданный подвох.
Наверное пора прочитать инструкцию.....
{ВнешняяОбработка.ирПлатформа.МодульОбъекта(7563)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: 'Wrap'
Здесь, наверное, копать в сторону Регистрации Com Объектов
Да, обычно такое возникает при автоматическое регистрации компоненты DynamicWrapperX без прав администратора в HKCU.
Нажал "Контроль" ("Удаление" было недоступно) - произошло самое настоящее удаление.... Неожиданный подвох.
Наверное пора прочитать инструкцию.....
Скорее нужно внимательнее читать вопрос, который задает программа при нажатии на кнопку Контроль, а именно "Выполнить после контроля удаление объектов, которые возможно удалить?"
На сколько я разобрал, возвращается только результат того выполнен алгоритм или нет.
ЗЫЖ Хочется попользовать этот справочник в своих целях :)
заменить ДобавитьНаборыДанных(лСтрокаЗапроса, Шаблон, НаборыДанных) -> ДобавитьНаборыДанных(лСтрокаЗапроса, Шаблон, НаборДанных.Элементы)
- улучшена работа с некорректными схемами компоновки данных, в частности теперь они не будут препятствовать открытию самой консоли
- исправлена некорректная работа контекстной справки в некоторых редких случаях
- консоль запросов в режиме дерева запросов теперь автоматически переходит в режим редактирования при вызове конструктора
- улучшена обработка расширений элементов управления и форм в контекстной подсказке
- улучшено вычисление метаданных в исследователе объектов
- исправлена ошибка формирования таблицы типов в редакторе допустимых типов
- исправлена ошибка при разборе контекста параметра (CTRL+F2) в контекстной подсказке, приводящая к зависанию приложения
- исправлено падение приложения при открытии исполняемых запросов в консоли запросов из консоли компоновок, где в схеме есть объединения (234)
- исправлены проблемы с копированием и переносом строк в дереве запросов консоли запросов (232)
- в панель инструментов добавлена кнопка для открытия отладчика (через вызов исключения)
- в универсальном редакторе предусмотрена возможность для его программного вызова с передачей ему ссылки на объект
{Обработка.ирИнтерфейснаяПанель.Форма.Форма(1553)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
по причине:
{Обработка.ирИнтерфейснаяПанель.Форма.Форма(1553)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
по причине:
Попытка получения неинициализированного значения параметра сеанса
- в 2 раза ускорено построение дерева типов (при первом открытии диалога выбора типа параметра алгоритма)
- после записи объекта универсальный редактор реквизитов теперь перечитывает его из БД (на случай если он перед записью модифицируется)
- исправлены мелкие ошибки в универсальном редакторе реквизитов при работе с движениями документов
- чистый контекст стал теперь по-настоящему чистым за счет использования неглобального общего модуля (ранее это был контекст чистой внешней обработки и было всегда определено например свойство «ЭтотОбъект»)
- основательно переработана описательная часть платформы по внешним обработкам и внешним отчетам в направлении устранения всего неединообразия, которое царит в синтакс-помощнике в их отношении и мешало подсказке нормально работать с этими и производными типами
- исправлена ошибка, из-за которой иногда не расмаскировывались временные таблицы в конструкторе запроса, вызванном из командной панели контекстной подсказки
- улучшен исследователь объектов
- добавлена функция ЛксСоздатьСхемуПоТаблицамЗначений(<ВнешниеНаборы>), создающая схему по структуре таблиц значений
- в консоли компоновок добавлена возможность указание структуры внешних наборов данных при вызове через Отладить(<Схема>, <Настройки>, <ВнешниеНаборы>)
- улучшен индикатор в обработке «Поиск и замена дублей»
- у функции Исследовать() появился второй параметр, отвечающий за модальность открываемой формы (по умолчанию = Истина)
- добавлены глобальные функции для индикации прогресса цикла – ЛксПолучитьИндикаторПроцесса, ЛксОбработатьИндикатор
- добавлены глобальные функции
- отказался от использование WScript.Shell.Run(,,True), из-за которого при выполнении алгоритмов могли возникать вложенные события (баг платформы)
Хотя возможностей реализована масса, ИМХО Сейчас тестирование в ИР не очень подходит для тестирования в реальных конфигурациях.
Например, нет проверки на права пользователя (просмотр, добавление, интерактивное добавление)
Лог в ЖРН сделал для ирМобильные.
Файл ирТестированиеМетаданных.epf выложу позже. Он на работе
ИМХО подобный инструмент должен быть автоматическим и его удобно юзать в спец.тестовом фреймворке.
Мы для 1С юзаем и рекомендуем .
Для него, как и показано в (247), и реализованы такие тесты.
(247) Переформулирую: тесты открытия форм были сделаны уже давно для фреймворков SnowTest (устарел) и xUnitFor1C, еще до ИР. Но недавно я переработал код этих тестов, т.к. в них в обычном приложении нельзя было протестировать управляемые формы. с помощью кода ИР этот баг был поправлен.
И сейчас для xUnitFor1C есть нормальные тесты открытия форм конфигурации.
А консоль запросов с январского диска ИТС выдаёт то, что нужно - результат последнего пакета выполненного по данным временных таблиц.
В консоль запросов было бы удобно добавить функционал получения рабочего кода, формирующего данный запрос.
Например, типа
ТекстЗапроса_ИмяЗапросаИзКонсолиБезПробелов = "Текст запроса из консоли";
Запрос_ИмяЗапросаИзКонсолиБезПробелов = Новый Запрос;
Запрос_ИмяЗапросаИзКонсолиБезПробелов.УстановитьПараметр("ПарамПредопределенноеЗначение", Справочники.Организации.Первая);
Запрос_ИмяЗапросаИзКонсолиБезПробелов.УстановитьПараметр("Парам1", ); // !! Пусто для пользовательских значений !!
РезультатЗапроса_ИмяЗапросаИзКонсолиБезПробелов = Запрос_ИмяЗапросаИзКонсолиБезПробелов.Выполнить();
ИМХО было бы очень удобно.
Я лично очень часто пользуюсь консолью запросов именно для отладки запросов, а уж потом готовый запрос переношу в свой код.
А сейчас это делать не очень удобно, т.к. приходится выполнять кучу одинаковых действий :(
ЗЫ или подобная кнопочка уже есть, а я ее просто не вижу? :)
- в универсальном подборе и обработке объектов реализован диалог настроек, позволяющий управлять транзакциями и контролем при записи (аналогично поиску и замене дублей)
- в консоли компоновок данных добавлена автофиксация строк
- в контекстной подсказке реализовано вычисление элементов разнородных коллекций
- в описание платформы искусственно добавил возможность именованного обращения к элементам коллекции СтраницыПанели
- в очередной раз поправил привязку в консоли построителей отчетов (периодически слетают по вине платформы)
- добавлена кнопка для перестановки соседних группировок в структуре настроек компоновки в консоли компоновок
- исправлена ошибка с использованием настроек компоновки и внешних наборов данных при вызове консоли компоновок через Отладить()
- доработана функция Исследовать(), теперь эта функция позволяет управлять модальностью порождаемых окон
- обе функции Отладить() и Исследовать() теперь срабатывают только под ролью ирРазработчик
- в универсальном редакторе реквизитов добавлена поддержка планов видов характеристик
- в поиске и замене дублей исправлена ошибка с обрезанием последних пробелов
- в консоли запросов улучшена поддержка пакетных запросов (в частности временным таблицам)
И Субконто1 В ИЕРАРХИИ
(ВЫБРАТЬ
Методы2.Подразделение
ИЗ
РегистрСведений.МетодыРаспределенияКосвенныхРасходовОрганизаций.СрезПоследних(&КонДата, Организация = &Организация
И НомерОчередности = &НомерОчередности) КАК Методы2)
И Субконто2 В ИЕРАРХИИ
(ВЫБРАТЬ
Методы3.ВидДеятельности
ИЗ
РегистрСведений.МетодыРаспределенияКосвенныхРасходовОрганизаций.СрезПоследних(&КонДата, Организация = &Организация
И НомерОчередности = &НомерОчередности) КАК Методы3)
И Субконто3 В ИЕРАРХИИ
(ВЫБРАТЬ
Методы4.СтатьяЗатрат
ИЗ
РегистрСведений.МетодыРаспределенияКосвенныхРасходовОрганизаций.СрезПоследних(&КонДата, Организация = &Организация
И НомерОчередности = &НомерОчередности) КАК Методы4),
при построении дерева запросов ругаетси :)
Текст запроса: Строка 35: {(35,6)}: Синтаксическая ошибка "Методы1"
Консоль 1.68
Счет В ИЕРАРХИИ
(ВЫБРАТЬ
Методы1.СчетЗатрат
ИЗ
РегистрСведений.МетодыРаспределенияКосвенныхРасходовОрганизаций.СрезПоследних(&КонДата, Организация = &Организация
И НомерОчередности = &НомерОчередности) КАК Методы1),
1С:Предприятие 8.2 (8.2.19.116) Клиент-сервер
Альфа-Авто: 5.0.11.06
Инструмент: Редактор хранилищ настроек (ирРедакторХранилищНастроек)
При переключении на вкладку "Варианты отчетов" получаем сообщение об ошибке:
{ВнешняяОбработка.ирРедакторХранилищНастроек.МодульОбъекта(263)}: Метод объекта не обнаружен (Выбрать)
Выборка = МенеджерХранилища.Выбрать(Отбор);
Причина:
В конфигурации выбрано Хранилище вариантов отчетов, соответственно его тип не СтандартноеХранилищеНастроекМенеджер, а ХранилищеНастроекМенеджер, у которого отсутствует метод Выбрать()
Основные изменения:
- В большинство инструментов модификации данных добавлена опция "Без авторегистрации изменений"
- В инструменте "Поиск дублей и замена ссылок" реализован однопроходный режим замены в объектах в виде кнопки "К правилам" у списка групп дублей
3.33.1
- Реализован серверный модуль для конфигураций с БСП
- Реализована опция "Запись на сервере" во всех инструментах в конфигурациях с БСП
- Реализована возможность выполнения кода на сервере в консоли кода в конфигурациях с БСП
(1474) Исправлено
- в контекстной подсказке по умолчанию теперь не используются промежуточные дополнения, обновлена справка по подсистеме
- обновлена грамматика языка запросов (реализована поддержка конструкций «(ВЫРАЗИТЬ (А КАК Б)).Поле», «Таблица.ТЧ.(Поле1, Поле2)»)
- в консоли запросов исправлена ошибка с нечетким разбором текста пакета на запросы, внесенная в 1.69
Есть несколько замеченных проблем:
1. Поиск и замена дублей не работает. А внешняя работает прекрасно.
2. В консоли запросов не работает пакетный запрос с временными таблицами если присутствует удаление временной таблицы (а делать надо для освобождения памяти).
3. В консоли запросов, при использовании пакетного запроса выводятся данные только перого запроса в обычном режиме. И только если разбивать на дерево запросов и использовать последний (выбирать и запускать) получаются требуемые данные.
Внешняя же обрабатывает прекрасно.
ВЫБРАТЬ "1"
ПОМЕСТИТЬ А
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "1 "
;
ВЫБРАТЬ *
ИЗ А
СГРУППИРОВАТЬ ПО Поле1
;
ВЫБРАТЬ *
ИЗ А
Второй запрос выдает одну запись со значением "1", а третий 2 записи со значениями "1" и "1 ".
Пока обходного решения нет. Мобильная версия обработки использует "костыль" для обхода данной проблемы, который ломается в немного другой ситуации. Так что пока предлагается пользоваться обеими версиями обработки.
Предлагаю такой обходной путь:
Если ТипЗнч(мСтруктураКлючаПоиска[СтроковоеПоле]) = Тип("Строка") Тогда
мСтруктураКлючаПоиска[СтроковоеПоле] = СокрЛП(НРег(мСтруктураКлючаПоиска[СтроковоеПоле]))
КонецЕсли;
Так как ошибка происходит как раз из-за наличия у одного из элементов "хвостовых" пробелов.
Пример кода:
| Код |
|---|
Объект = Справочники.Контрагенты.СоздатьЭлемент();
Объект.Наименование = "Тест";
Показать полностью |
При выполнении получаем ошибку
"{ОбщаяФорма.ирКонсольКода.Форма(272)}: Попытка передачи с сервера клиенту мутабельного значения
ВызватьИсключение Ошибка;"
Я так понимаю, что проблема заключается в том, что все используемые переменные считываются в качестве параметров.
ПланыОбмена.ирКмдНайтиСсылки
Недочет:Обнаружен синоним, начинающийся с маленькой буквы!
Стандарт:Синоним объекта метаданных обязательно заполняется.
Синоним начинается с большой буквы, точки ставятся только после сокращений.
{Обработка.ирПоискДублейИЗаменаСсылок.Форма.Форма.Форма(276)}: Ошибка при вызове метода контекста (Сортировать)
НайденныеГруппы.Сортировать(СтрокаПорядка);
по причине:
Неверное имя колонки
Я как раз сейчас занят синхронизацией 12 баз БУ с 1 УТП и много предварительной работы по переносу данных и их связки между базами. И мой основной инструмент на данном этапе "Поиск дублей и замена ссылок". И есть несколько пожеланий. Я, наверно, не буду на форуме плодить топики по каждому из них, а буду писать в один.
Но это потом. А сейчас произошла какая-то непонятная ситуация при обновлении на 2.51. Действу по инструкции:
1. Запустите сравнение и объединение конфигураций.
2. Снимите все пометки.
3. В настройках объединения установите флажок «Разрешить удаление объектов основной конфигурации».
4. Установите пометки по подсистеме «Инструменты разработчика» файла
5. Если подключены общие команды или справочники-команды, то снимите пометки с их связующего свойства (Тип параметра или Ввод на основании)
6. Устанавливайте пометку на самой подсистеме «ИнструментыРазрабочика»
7. Нажмите Выполнить
Дошел до пункта 6 и не вижу подсистемы ИР. И шо делать? :)
Про инструкцию... Имхо, нужно добавить в первоначальную установку пункт о том, что бы не ставить подсистему на поддержку.
Сейчас после отмены захвата в хранилище я это сделал. И увидел что фактически она была 2.50, а в инфо о подсистеме до сих пор было 2.47
- в интерфейсной панели отключил полнотекстовый поиск по данным, т.к. из-за него слишком тормозит
- исправлена ошибка в групповом подборе и обработке объектов, из-за которой первый объект всегда не обрабатывался
- в консоли запросов исправлен ряд ошибок при работе с пакетными запросами
Исправление: в процедуру ДеревоЗапросовПередОкончаниемРедактирования вставить в её начало:
Если НоваяСтрока И ОтменаРедактирования Тогда
мТекущаяСтрока = Неопределено;
Возврат;
КонецЕсли;
Круто!
Завидую, когда же и я так смогу свободно обращаться с 1С, с января начал изучать ее и пока как в темном лесу заблудился и плутаю по крохам вылавливая проторенную тропинку к свету:)
Скачал, поставлю и буду использовать как примеры для изучения и образцы для подражания. А то ведь качественной лит-ры по языку и нет почти.
Тебе громадное спасибо за твою работу, т.к. консоль очень удобная и продвинутая в плане возможностей.
P.S. Все копирайты и пр. в текстах сохранены. ;)
(289) Да, сложно! Даже ОЧЕНЬ сложно, т.к. там всё взаимосвязано, но НЕ нереально. В частности консоль запросов от версии 1.72 состоит из 9-ти внешних обработок.
Возможно для кого-то проще будет интегрировать конфу ИР со своей, но для меня такой подход оказался неприемлимым, а консоль ну очень понравилась.
Если в "Исследователь объектов (ИР)" в контекстном меню выбрать "Вывести список" и не меняя галочек нажать "ОК", то у меня постоянно вылетает:
{ВнешняяОбработка.ирИсследовательОбъектов.Форма.ИсследовательОбъектов.Форма(292)}: Ошибка при установке значения атрибута контекста (ИндексКартинки)
ЯчейкаКартинки.ИндексКартинки = ирОбщий.ПолучитьИндексКартинкиСловаПодсказкиЛкс(ДанныеСтроки);
по причине:
Недопустимое значение
Вот я приложил файлик от "Консоль кода (ИР)", где я как раз иследую значения в параметре "ДокументDOM" и хотел их вывести в табличный документ для сохранения.
- исправлена ошибка консоли запросов при работе с пакетными запросами, не содержащими запросов на выборку данных
- в функцию отладить вторым параметром вставлен флаг модального открытия формы (по умолчанию Истина)
- в групповом подборе и обработке объектов добавлено отображение количество выборки
- исправлена ошибка в поиске и замене дублей, связанная с недавней попыткой обойти особенность платформы с отбрасыванием конечных пробелов строк в запросе)
Например, в запросе1 сформировал ВТ_1, далее в запросе2 пишу что-то типа
Выбрать ДокРН.Ссылка
Из Док.РН КАК ДокРН
ГДЕ ДокРН.Ссылка В (Выбрать РН.Ссылка ИЗ ВТ_1 КАК РН)
Запрос2 теперь не работает :(
Причем простой запрос2 типа
Выбрать РН.Ссылка ИЗ ВТ_1 КАК РН
работает верно.
В итоге пришлось код ВТ_1 вставлять в запрос2, сделав запрос2 пакетным запросом, и все получилось.
Но подобная схема все-таки неудобна при разработке - т.к. тексты ВТ могут меняться, а в каждом запросе, что использует эту ВТ, текст менять совсем неудобно. Долой копипаст!
Что можно сделать?
ЗЫ платформа 8.1.13.41
в старой версии ИР на этой же платформе вроде не было подобных глюков :(
Добавил для произвольного алгоритма:
- возможность добавления параметров
- обработка ОбработкаПрерыванияПользователя
- выполнение алгоритма в попытке без вылета при ошибке (и откате транзации при использовании)
Ссылка:
ВЫБРАТЬ
ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура).Код КАК Поле1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
при попытке построении дерева запроса выдается ошибка:
Синтаксическая ошибка "." (точка перед "Код"
ВЫБРАТЬ
(ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура)).Код КАК Поле1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
- в консоли запросов для табличных полей результата добавлены переключатели отображения пустых значений (NULL, НЕОПРЕДЕЛЕНО, пустая строка, 0, пустая ссылка), а также удобные средства для управления шириной колонок
- обновлена грамматика языка запросов (исправлены мелкие ошибки при анализе псевдонимов и оператора "." (302))
- исправлена ошибка в диалоге настроек алгоритмов (305)
- универсальный редактор реквизитов теперь корректно работает со всеми видами регистров (ранее терялись значения субконто при записи движений по регистрам бухгалтерии)
- в консоли компоновок данных реализована переустановка значений недоступных пользователю параметров данных из схемы при каждой загрузке настроек в компоновщик (
- доработана обработка подготовки базы данных к усечению типов (добавлена возможность программного и интерактивного вызова автоматической корректировки)
- в поиске и замене дублей реализована возможность выбора «удалять или пометить на удаление неправильные элементы» и при этом учитывается флаг контроля записи, добавлена возможность автоматического «нажатия» кнопок в диалоге замещения в независимых регистрах, устранены ошибки связанные с правыми пробелами и реализована поддержка неограниченной длины в строковых полях сравнения, исправлена индикация процесса в строке состояния,
- добавлены кнопки по управлению шириной колонок в ряд табличных полей подсистемы
{ОбщийМодуль.ирГлобальный(1289)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
Scr = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
Недопустимая строка с указанием класса
WinXP64 + 8.1.14.68
- добавлена обработка ситуации с отсутствующим ком-классом MSScriptControl.ScriptControl, который используется для получения высокоточного времени
- в консоли запросов реализовано открытие значений параметров прямо из текста запроса через использование команды «Перейти к определению» (F12)
- исправлены мелкие ошибки в обработке подготовки БД к усечению типов
Если в режиме консоли в конструкторе сохранить СКД, в которой есть пользовательские параметры, указывающие на ссылочные данные (типа элемент справочника и т.д.), то при открытии данной схемы в Конфигураторе, например, в отчете и дальнейшем сохранении данного отчета подобные пользовательские параметры пропадают и не используются в режиме Предприятия.
Как обойти, если это можно обойти ?
Т.е. хотелка - в консоли создал схему, задал нужные встроенные параметры, например, для ограничения данных в схеме, ограничил их доступность для пользователя, далее сохраняешь данную настройку и создаешь спец.отчет на ее основе, при этом чтобы данные параметры использовались в отчете.
ЗЫ понятно объяснил?
1С:Предприятие 8.3 (8.3.5.1068)
УПП 1.3 (1.3.79.2)
Удаление объектов с контролем ссылок.
Подбор.
Выделить N
Выдает ошибку...
{Обработка.ирДинамическийСписок.Форма.Форма.Форма(324)}: Ошибка при вызове метода контекста (ЗаполнитьНастройки)
Построитель.ЗаполнитьНастройки();
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"
Основные изменения:
- Подготовка БД к усечению типов измерений. Переименован в "Подготовка БД к изменению структуры". Добавлена обработка удалений измерений. Улучшен алгоритм удаления строк.
- Управление службами серверов 1С. Добавлена поддержка параметров http отладки
- В функции От() добавлена поддержка в типа ОтчетОбъект
Исправлено (1866), (1867), (1870), (1874), (1875)
ВЫБРАТЬ
Контрагенты.Ссылка,
Контрагенты.Код,
Контрагенты.Наименование
ИЗ
Справочник.Контрагенты КАК Контрагенты
На конструкторе СКД на закладке "Настройки" делаю список без группировок, в отборы добавляю Код, давлю ОК.
В самой консоли включаю отбор Код равно 00001.
В результате выводиться весь справочник контрагентов
обработка - ирМенеджерИнтерфейсов - модуль объекта, Процедура ОбновитьСписокИнтерфейсов():
Если ПравоДоступа("Использование", Интерфейс) = Ложь, то переменная ЭлементСписка = Неопределено, соответственно строчка
ЭлементСписка.Пометка = ЭлементИнтерфейса.Видимость
вызывает ошибку
Объединил сабж с Бух., ред. 1.6 (1.6.15.5) при вызове Консоли Запросов выдает ошибку
{Обработка.ирКонсольЗапросов(51,8)}: Переменная не определена (ирПлатформа)
Если <<?>>ирПлатформа.ВерсияПлатформы >= 8001011 Тогда
как это исправить?
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(, , , (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)) = &П) КАК ХозрасчетныйОстатки
неправильно преобразуется при включении дерева запросов. Если убрать ВЫРАЗИТЬ, то правильно.
На днях активно пользовался "исследователем объектов", за него хочу сказать отдельное спасибо и поставить еще плюс. Так вот, возникла необходимость сохранять в файл отдельные исследуемые значения для дальнейшего их сравнения друг с другом или отладки отдельных алгоритмов: в частности это были таблицы значений. Т.е. во время отладки в поле "вычислить выражение" пишу Исследовать(МойОбъект), смотрю что у меня там получилось, если это то, что надо, снова в поле "вычислить выражение" пишу ЗначениеВФайл("...", МойОбъект) или что-нибудь типа ЗначениеВФайл("...", МойОбъект.Поле1.Выгрузить()) и т.п. прекращаю отладку, в справочнике "алгоритмы" в коде уже работаю с сохраненными объектами. Отсюда пожелание - предложение: добавить в Исследователь объектов возможность сохранения выбранного значения в файл. Как на это смотрите?
В интерфейсной панели выбираем объект, мышкой перетаскиваем в консоль запросов и получаем, например такую строку Справочник.Номенклатура
Сейчас мы получаем там СтрокаДереваЗначений, что не соответствует желаниям ;)
в декодировании модуля, просто такой механизм не используется) Вот и интересно зачем он нужен)
кстати я так и не понял баг связанный с платформой по hstart, с первого раза обработка не собирается, хотя через WSH все хорошо :(
1. в 8.2 API форм закрыт, и не думаю что они его откроют, там все как раз ориентируется и дальше на статику (если желаешь оформить), да и я не вижу полного перехода на 8.2 в ближайшее время)
2. идея родилась давно, руками дошел только сейчас, увы, знаю поздно, но лучше поздно чем никогда) да и по работе пригодиться)
все же хотелось бы услышать ответ начет лок-файлов) нашел только как они создаются и удаляются)) а зачем не ясно
Ди и работает данный инструмент с версией 1с8 учебной для програмирования
А то после поставки на поддержку при попытке зайти к примеру в документ или справочник (например номенклатура УТ) выдаёт следующее
{Справочник.Номенклатура.Форма.ФормаСписка(450,69)}: Переменная не определена (глТекущийПользователь)
ВалютаЦены = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глТекущийПользователь, "ОсновнаяВалютаВзаиморасчетов")
{Справочник.Номенклатура.Форма.ФормаСписка(368,3)}: Процедура или функция с указанным именем не определена (ПолучитьСерверТО)
<<?>>ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
{Справочник.Номенклатура.Форма.ФормаСписка(418,2)}: Процедура или функция с указанным именем не определена (ПолучитьСерверТО)
<<?>>ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
{Справочник.Номенклатура.Форма.ФормаСписка(509,2)}: Процедура или функция с указанным именем не определена (ПолучитьСерверТО)
<<?>>ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма);
{Справочник.Номенклатура.Форма.ФормаСписка(585,2)}: Процедура или функция с указанным именем не определена (ПолучитьСерверТО)
<<?>>ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
{Справочник.Номенклатура.Форма.ФормаСписка(774,10)}: Проц
"В целевой конфигурации единственное место, где придется вручную добавить пару строк кода - модуль приложения"
goldparser.dll was loaded, but the DllRegisterServer entry point was not found.
This file can not be registered.
при это barcod.dll регистрировался нормально.
система server 2003 SP2.
Что делать?
- исправлена ошибка в поиске и замене дублей, возникавшая при создании более одной ручной группы
- исправлена ошибка грамматике языка запросов, приводившая к невозможности работы с псевдонимом «Подстрока»
+ в компоненте «Контекстная подсказка» добавлена возможность выделять текущее слово через CTR+W (как и в 8.2)
+ в консоли запросов в дереве запросов появилась команда “Шагнуть через (F10)», позволяющая выполнить текущий подзапрос и перейти к следующему подзапросу уровня
+ обновлена контекстная
+ в консоли запросов добавлена индикация количества параметров в заголовке страницы
при попытке в алгоритмах вызвать контекстную подсказку после строки типа:
ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.
вылетает ошибка: "Значение не является значением объектного типа (ИмяКоллекции)" - Обработка.ирПлатформа(1020)
- в поиске и замене дублей исправлена ошибка при замене в последовательностях
- в консоли компоновок данных исправлена ошибка при замере выполнения иерархических структур компоновки
- в консоли компоновок данных реализована автоматическая генерация холостых внешних источников данных, если они присутствуют в схеме, но не были переданы программно
- в консоли компоновок данных при открытии ее в режиме отладки реализовано снятие ограничения использования тех параметров схемы, которые скрыты хотя используются в настройке
- во всех 3-х консолях добавлена простая функция сравнения результатов
- исправлена ошибка в описании платформы, из-за которой не работала подсказка по предопределенным видам характеристик
+ добавлена инструмент "Менеджер табличного поля", во многом заменяющий стандартный диалог "Отбор и сортировка" и снимающий ограничения по использованию полей, а также предоставляющий относительно универсальный эмулятор выбора значения в ячейки колонки табличного поля (табличной части, таблицы и дерева значений); пример использования в форме списка алгоритмов
А вообще данный менеджер - очень удобная штуковина :)
Теперь бы придумать, как бы для любых конф автоматом добавлять нужную кнопку на форму.
Может быть, сделать хотя бы по аналогии с поиском ссылок?
Просмотр структуры ИБ - Просмотр размера индекса. ИрСтруктураХраненияИБ.epf
При активации строки в ТЧ индексы иногда вылетает ошибка в функции "ПолучитьПредставлениеИндексаХраненияЛкс"
Текст ошибки:
{Форма.Форма.Форма(387)}: Значение не является значением объектного типа (Поля)
Поля = СтрокаСтруктуры.Индексы.Найти(СтрокаНабора.ИмяХранения, "ИмяИндексаХранения").Поля;Вариант исправления:
Процедура ИндексыПриАктивизацииСтроки(Элемент = Неопределено)
НаборыПолей.Очистить();
ПоляНабора.Очистить();
СтрокаГлавнойТаблицы = ЭлементыФормы.Индексы.ТекущаяСтрока;
Если СтрокаГлавнойТаблицы = Неопределено Тогда
Возврат;
КонецЕсли;
Если СтрокаГлавнойТаблицы.СУБД Тогда
СтруктураХранения = мСтруктураХраненияСУБД;
Иначе
СтруктураХранения = мСтруктураХраненияSDBL;
КонецЕсли;
СтрокаСтруктуры = СтруктураХранения.Найти(СтрокаГлавнойТаблицы.ИмяТаблицыХранения, "ИмяТаблицыХранения");
Если СтрокаСтруктуры <> Неопределено Тогда
СтрокаСтруктурыИндекса = СтрокаСтруктуры.Индексы.Найти(СтрокаГлавнойТаблицы.ИмяИндексаХранения, "ИмяИндексаХранения");
//////////////////правка+
Если ЗначениеЗаполнено(СтрокаСтруктурыИндекса) Тогда
//////////////////правка-
СтрокаНабораПолей = НаборыПолей.Добавить();
СтрокаНабораПолей.ИмяНабораМета = ирОбщий.ПолучитьПредставлениеИндексаХраненияЛкс(СтрокаСтруктурыИндекса, СтрокаГлавнойТаблицы.СУБД, СтрокаСтруктуры);
СтрокаНабораПолей.ИмяНабораБД = ирОбщий.ПолучитьПредставлениеИндексаХраненияЛкс(СтрокаСтруктурыИндекса, СтрокаГлавнойТаблицы.СУБД, СтрокаСтруктуры, Истина);
СтрокаНабораПолей.ИмяХранения = СтрокаСтруктурыИндекса.ИмяИндексаХранения;
СтрокаНабораПолей.Поля = СтрокаСтруктурыИндекса.Поля.Количество();
ЭлементыФормы.НаборыПолей.ТекущаяСтрока = СтрокаНабораПолей;
////////////////правка+
КонецЕсли;
////////////////правка-
КонецЕсли;
КонецПроцедуры ПоказатьВот скрин, может он поможет. Я выделил строку при активизации которой вылетает ошибка. Если нужны какие то еще данные, сообщите.
Ошибка возникает только при включенном режиме отображения размера таблиц.
+В форме списка инструментов добавлена колонка с гиперссылкой на описание на сайте
+В форме "О подсистеме" теперь выводится гиперссылка на страницу описания открывшего ее инструмента
+Во многих местах добавлен вывод номера строки и квалификаторов типов
Консоль компоновки данных
+В командной панели структуры настроек компоновки сделаны кнопки "Загрузить вариант настроек схемы" и "Сохранить вариант настроек схемы"
Подбор и обработка объектов
*Кнопка "Перечитать данные" таблицы строк для обработки переименована в "Обновить колонки и данные" и теперь учитывает выбранные поля компоновки
Консоль запросов
+Реализовано чтение имен запросов и частей объединений при построении дерева запроса
+Над таблицей результата пакета добавлен флажок "По именам" для вывода только именованных элементов
+Добавлен параметр мРезультатПоИменам обработчика результата для доступа к именованным элементам результата пакета
Конструктор запроса
+Реализована возможность присвоения имен запросам и частям объединений с чтением и сохранением их в комментариях
Пример текста запроса:
ВЫБРАТЬ
1 КАК _1
;
//{Запрос: МойЗапрос2 ////////////////////////////////////////
ВЫБРАТЬ
2 КАК _2
ОБЪЕДИНИТЬ
//{Выборка: МояВыборка1 ////////////////////////////////////////
ВЫБРАТЬ
5 КАК _2
На скриншотах показан вид этого текста в дереве запроса консоли запросов и конструкторе запросов.
Пример кода:
РезультатПоИменам = ПолучитьСтруктуруРезультатаПакетногоЗапроса(Запрос.Текст);
РезультатЗапросаМойЗапрос1 = РезультатПакета[РезультатПоИменам.МойЗапрос1];
(1759) Исправлено
Беру УТ 10.3.10.4 для 8.2, объединяю как положено, запускаю. Если попробовать запустить интерфейсную панель выскакивает:
{Обработка.ирИнтерфейснаяПанель.Форма.Форма.Форма(400)}: Поле объекта не обнаружено (Подсистемы)
Для каждого Подсистема из МетаД.Подсистемы цикл
Удалось ли побороть это?
У меня схожая проблема при переводе конфигурации с 8.1 на 8.2
{ОбщийМодуль.ИТРПУправлениеПодсистемами.Модуль(89)}: Поле объекта не обнаружено (Подсистемы)
КоллекцияПодсистем = прОбъект.Метаданные().Подсистемы;
Никто не знает где копать?
Жму кнопку "СУБД" в подсистеме Управление итогами регистров (ИР)
{Обработка.ирУправлениеИтогамиРегистров.Форма.Форма.Форма(398)}: Метод объекта не обнаружен (ПолучитьФормуСоединенияСУБДЛкс)
ирОбщий.ПолучитьФормуСоединенияСУБДЛкс();
То же самое в подсистеме Структура хранения БД
{Обработка.ирСтруктураХраненияБД.Форма.Форма.Форма(483)}: Метод объекта не обнаружен (ПолучитьФормуСоединенияСУБДЛкс)
ирОбщий.ПолучитьФормуСоединенияСУБДЛкс();
1) Если добавляется слово локального контекста "Метод" и для него указывается тип, то это будет тип результата?
2) Можно добавить слова-методы локального контекста через точку? Т.е. есть методы "ДопФорма.Метод1", "ДопФорма.Метод2", где "ДопФорма" это свойство лок. контекста.
в комментах пишем тип значения переменной
типа
Перем Док; // :ТаблицаЗначений
или
// Док // :ТаблицаЗначений
в итоге при написании Док.
Интел выдавал список нужных свойств и значений.
Реализация не сложна, все построено на простых регулярных выражениях :)
было
Если ЗначениеВыбора = ДеревоЗапросов Тогда
стало
Если ТипЗнч(ЗначениеВыбора) = Тип("СтрокаДереваЗначений") Или ЗначениеВыбора = ДеревоЗапросов Тогда
вроде этого достаточно
У меня есть такая вот "хотелка", возможно идея Вам понравится тоже..
Суть: вот было бы здорово, если бы можно было писать программы для 1С.8 в окружении более "дружелюбной оболочки" (на мой взгляд, конечно) - той же, что используется в OpenConf (SciColorer - расширенный текстовый редактор для конфигуратора 1С - .
Вопрос:
Насколько реально подменить в обработке "класс поле текстового документа с контекстной подсказкой" имеющееся поле текстового документа на SciColorer?
PS Удобство работы с SciColorer все таки гораздо выше, чем возможности конфигуратора 1С.8, по моему мнению..
Видимо этот фрагмент описания я не достаточно четко сформулировал? -
"для работы режима дерева запроса необходимо зарегистрировать библиотеку (COM-компоненту) GoldParser.DLL, регистрация производится в полуавтоматическом режиме, помните COM-компоненты регистрируются только с правами локального администратора)"
возникали какие-то проблемы с "потерей времени" при работе с полями типа Дата, хранящими в себе только время(ОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Время),
помогло следующее:
в общем модуле ирГлобальный в функции
ЛксПолучитьКонстантуТипаЗапроса()код:
ИначеЕсли ТипПоля = Тип("Дата") Тогда
Результат = "ДАТАВРЕМЯ(1,1,1)";
следует заменить на код:
ИначеЕсли ТипПоля = Тип("Дата") Тогда
Если ОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.ДатаВремя Тогда
Результат = "ДАТАВРЕМЯ(1,1,1,0,0,0)";
ИначеЕсли ОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Дата Тогда
Результат = "ДАТАВРЕМЯ(1,1,1)";
ИначеЕсли ОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Время Тогда
Результат = "ДАТАВРЕМЯ(1,1,1,0,0,0)";
КонецЕсли;
Показать- обновлено описание платформы от 8.1.15.14
- в контекстной подсказке изменено сочетание клавиш для вызова подсказки по параметру метода (теперь как и в Visual Studio CTRL+SHIFT+SPACE)
- в консоли запросов добавлена кнопка "консоль компоновки" для открытия в консоли компоновок схемы и настроек компоновки, сформированных по текущим настройкам
- в консоли запросов исправлено несколько ошибок при работе с настройками компоновки
- в менеджере табличного поля добавлена ячейка-кнопка для элементов отбора, позволяющая вставить в колонку "Значение" значение из соответствующей ячейки текущей строки в связанном табличном поле
- в менеджере табличного поля по двойному клику на имени элемента отбора теперь инвертируется вид сравнения
- в менеджере табличного поля при вводе значения реализована возможность вводить GUID ссылок (прямой и инверсный)
- улучшена работа вставки ссылки на объект БД в тексте запроса в консоли запросов
- улучшена работа контекстной подсказки с параметрами запроса
<<?>>ВыделитьСлово();
{Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой(463,11)}: Процедура или функция с указанным именем уже определена (ВыделитьСлово)
Процедура <<?>>ВыделитьСлово() Экспорт
общие модули там остались глобальные, и в них есть такая функция
Основная конфигурация ОбщийМодуль.ОбщегоНазначения.Модуль(3, 9) Функция ВыделитьСлово(ИсходнаяСтрока) Экспорт
я могу подправить (и поправлю ибо надо) ИР но ведь такая ситуация может быть у кого то другого, так что думаю что разумно ее в баглист занести
Во-первых, нигде не написано о совместимости с 8.2
Во-вторых, в (450) написано сообщение, которое выдает обработка проверки вследствие низкой степени анализа кода. Сам посмотреть то не пробовал? Если посмотришь, то сразу поймешь, насколько она тупая. Одним словом, это баг обработки "Проверка конфигурации для перевода на 8.2"
После того как укажешь что нибудь открывалось пустое окно.
Это было в старых версиях где то 1.5-1.7. точно не помню.
А вот что справка берется из системы и не надо распаковывать справку отдельно это для меня хорошая новость!!!
Спасибо за новый синтаксис помощник буду пользоваться :-)
Часто, когда ищешь по сложному методу, он выдаёт в Предсказанных вариантах две строки, одна с типом слова "Тип", другая с "Метод".
Например, возьмем строку из твоего демо-примера:
Сообщить(ПолучитьСправочникиМенеджер().ТипВсеСсылки(), СтатусСообщения.Информация);И вызовем СП для метода ТипВсеСсылки(), в этом случае в ветке Предсказанные будет две строки:
ОписаниеТипов - Тип
СправочникиМенеджер.ТипВсеСсылки - Метод.
И при этом курсор будет стоять "по умолчанию" на верхней строке, т.е. на типе. Хотя в 99% случаев мы хотим посмотреть именно метод. Хотелось бы поэтому, чтобы по умолчанию, курсор вставал на Метод - чтобы не нужно было делать лишних движений мышкой или клавой, а можно было сразу нажать Enter.
Завел для обсуждения. тему в форуме разработки
(0 + All) ИМХО баги/проблемы лучше постить в форуме разработки, а не в комментах.
в форуме намного удобнее отслеживать решение + обсуждение.
Если делаешь параметр списком и устанавливаешь признак что он служебный. Тогда в основной форме где перечислены параметры пишет "<Ошибка вычисления значения>". если признак служебный уберёшь то нормально
{Обработка.ирИнтерфейснаяПанель.Форма.Форма(1560)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
мТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;
С консолями запросов/отчетов все оказалось понятно, а вот Менеджер табличного поля - я сперва подумал, что его можно как-то подкрутить, чтобы он присутствовал во всех командных панелях....
Что добавить?
Сори если офф топ но нигде не нашел а при объединении с УТП выдает ошибки в работе.
Вопрос: Откуда взялись грамматики запросов и текста причем скомпиленные ?
Вопрос: Исходники грамматики вообще присутствуют в природе ?
ЗЫ я тут на досуге смотрю на Flex + Bison
{Справочник.ирАлгоритмы.Форма.ФормаЭлемента(9)}: Поле объекта не обнаружено (ВыполнятьСинтаксическийКонтрольПередЗаписью)
ВыполнятьСинтаксическийКонтрольПередЗаписью = ирПлатформа.ВыполнятьСинтаксическийКонтрольПередЗаписью;
у тя там переменная по другому называется:
СинтаксическийКонтрольПередЗаписью
1. ЗУП - установлена летом 2009 - сбоев не замечено
2. Инталев Корпоративные Финансы - установлена в январе 2010 - сбоев не замечено
код запуска подсистемы
Если РольДоступна("ирРазработчик") И ПравоДоступа("Использование", Метаданные.Обработки.ирПлатформа) Тогда
ирПлатформа = Обработки.ирПлатформа.Создать();
КонецЕсли;
роль разработчика доступна только мне и дополнительно скрывается из возможных доступных ролей в общей форме ФормаПользователяИБ (то есть устанавливается только программно)
примерный код программного добавления
// пользовательРазработчик - параметр: тип - ПользовательИнформационнойСистемы
Процедура ДобавитьПравоРазработчика(пользовательРазработчик)
Если пользовательРазработчик = Неопределено Тогда
ВызватьИсключение "не обнаружен разработчик системы !!!";
конецЕсли;
РольРазработчика = Метаданные.Роли.ирРазработчик;
Если НЕ пользовательРазработчик.Роли.Содержит(РольРазработчика) Тогда
пользовательРазработчик.Роли.Добавить(РольРазработчика);
пользовательРазработчик.Записать();
КонецЕсли;
КонецПроцедуры
ПоказатьПроцедура мПеречитатьДанные()
Модифицированность = Ложь;
тзРеквизиты.Очистить();
Всего=ЭлементыФормы.Количество();
Для Инд=1 ПО Всего Цикл
Эл=ЭлементыФормы[Всего-Инд];
Если Найти(Эл.Имя, "ПолеВводаРеквизита_")=1 Тогда
ЭлементыФормы.Удалить(Эл);
КонецЕсли;
Вот здесь объект Эл уже удален, надо что нибудь поправить :)
Если Найти(Эл.Имя, "НадписьРеквизита_")=1 Тогда
ЭлементыФормы.Удалить(Эл);
КонецЕсли;
КонецЦикла; Показатья конечно нашел метод ирНеглобальный
// Выполняет текст алгоритма.
//
// Параметры:
// ТекстДляВыполнения – Строка;
// _АлгоритмОбъект - СправочникОбъект
// *СтруктураПараметров - Структура, *Неопределено.
//
Функция ВыполнитьАлгоритм(_ТекстДляВыполнения, _АлгоритмОбъект = Null, _Режим = Null,
_П0 = Null, _П1 = Null, _П2 = Null, _П3 = Null, _П4 = Null, _П5 = Null, _П6 = Null, _П7 = Null, _П8 = Null, _П9 = Null) Экспорт
Перем Результат;
Выполнить(_ТекстДляВыполнения);
Возврат Результат;
КонецФункции // ПозиционныйМетод()
Показатьно что как-то не пойму где посмотреть что ожидает данный метод в качестве СтруктурыПараметров
хочу выполнить Алгоритм из внешнего соединения с передачей структуры параметров
- Исправлено много мелких ошибок
- Реализована команда "Перейти к созданию" для строки временной таблицы в дереве запроса в консоли запросов
- Существенно улучшена работа исследователя коллекций и переходы между исследователями
- Добавлена передача параметров при редактировании запроса набора данных в консоли запросов из консоли компоновок
- В контекстной подсказке улучшена работа с коллекциями
не проходит синтаксический контроль после обновления
то ли я плохо обновился, то ли еще что-то - но в контексте этого класса переменная действительно не определена :(
Доработана подсказка по COM-объектам (вроде бы вытянул максимум, что дает COM в плане работы только с типами). В дереве выбора типа теперь можно добавлять COM-библиотеки.
Доработана внутренняя система регистрации COM-компонент. Теперь они регистрируются в автоматическом режиме (для текущего пользователя). О регистрации сообщается в окне сообщений.
1С:Предприятие 8.1 (8.1.13.41) Объединил сабж с Бух., ред. 1.6 (1.6.15.5) при вызове Консоли Запросов выдает ошибку {Обработка.ирКонсольЗапросов(51,8)}: Переменная не определена (ирПлатформа) Если <<?>>ирПлатформа.ВерсияПлатформы >= 8001011 Тогда как это исправить?
что такое ирПлатформа ?
ирПлатформа
ирПлатформа - это экспортная переменная из МодуляПриложения
///Модуль приложения
Перем ирПлатформа Экспорт;
.....
Если РольДоступна("ирРазработчик") И ПравоДоступа("Использование", Метаданные.Обработки.ирПлатформа) Тогда
ирПлатформа = Обработки.ирПлатформа.Создать();
КонецЕсли;
Я виртуальный план обмена с выходом на эту обработку в целевой конфигурации добавил как ввод на основании для всех справочников, документов, ПВХ...
Но кроме ссылок мне иногда нужно отредактировать через универсальный редактор, получить ссылку для применения в алгоритмах.
Добавил вызов универсального редактора реквизитов с этой обработки, сразу с отбором по объекту. Тогда переходами по меню можно перейти к редактору реквизитов. Правда отключил автоматический поиск при открытии.
Также добавил код получения ссылки для применения в алгоритмах:
Процедура ДействияФормыПоказатьСсылку(Кнопка)
Если Метаданные.Справочники.Содержит(Объект.Метаданные()) Тогда
Если Объект.Предопределенный Тогда
Сообщить("Справочники." + Объект.Метаданные().Имя + "." + Справочники[Объект.Метаданные().Имя].ПолучитьИмяПредопределенного(Объект));
Иначе
Сообщить("Справочники." + Объект.Метаданные().Имя + ".ПолучитьСсылку(Новый УникальныйИдентификатор(""" + Объект.УникальныйИдентификатор() + """))");
КонецЕсли;
ИначеЕсли Метаданные.Документы.Содержит(Объект.Метаданные()) Тогда
Сообщить("Документы." + Объект.Метаданные().Имя + ".ПолучитьСсылку(Новый УникальныйИдентификатор(""" + Объект.УникальныйИдентификатор() + """))");
ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(Объект.Метаданные()) Тогда
Если Объект.Предопределенный Тогда
Сообщить("ПланыВидовХарактеристик." + Объект.Метаданные().Имя + "." + ПланыВидовХарактеристик[Объект.Метаданные().Имя].ПолучитьИмяПредопределенного(Объект));
Иначе
Сообщить("ПланыВидовХарактеристик." + Объект.Метаданные().Имя + ".ПолучитьСсылку(Новый УникальныйИдентификатор(""" + Объект.УникальныйИдентификатор() + """))");
КонецЕсли;
ИначеЕсли Метаданные.ПланыСчетов.Содержит(Объект.Метаданные()) Тогда
Если Объект.Предопределенный Тогда
Сообщить("ПланыСчетов." + Объект.Метаданные().Имя + "." + ПланыСчетов[Объект.Метаданные().Имя].ПолучитьИмяПредопределенного(Объект));
Иначе
Сообщить("ПланыСчетов." + Объект.Метаданные().Имя + ".ПолучитьСсылку(Новый УникальныйИдентификатор(""" + Объект.УникальныйИдентификатор() + """))");
КонецЕсли;
ИначеЕсли Метаданные.ПланыВидовРасчета.Содержит(Объект.Метаданные()) Тогда
Если Объект.Предопределенный Тогда
Сообщить("ПланыВидовРасчета." + Объект.Метаданные().Имя + "." + ПланыВидовРасчета[Объект.Метаданные().Имя].ПолучитьИмяПредопределенного(Объект));
Иначе
Сообщить("ПланыВидовРасчета." + Объект.Метаданные().Имя + ".ПолучитьСсылку(Новый УникальныйИдентификатор(""" + Объект.УникальныйИдентификатор() + """))");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Открывается Консоль запросов.
Запрос с объединением, потому консоль красиво его разворачивает.
Захожу в объединении в первый запрос и добавляю поле.
После попытки сохранить пишет, что Сохранить изменения невозможно, строка 1895 Найти параметры, так как разное количество полей.
Причем застревает намертво и нужно удалить добавленные поля чтобы выйти.
После манипуляций с запросом в дерево запросов вернуться нельзя.
Я не говорю, что я его редактирую просто так.
Я его редактирую для исследования, упрощаю например связи, тип соединения меняю.
Почему с помощью него - потому, что параметры переданы из реальной ситуации.
Разумеется я понял как отредактировать и чтобы это не привело к указанной ошибке.
А вот возврат в дерево запроса перекрыт к сожалению
1) В редакторе реквизитов не открывается элемент справочника с владельцем не справочником
2)"Универсальный подбор и обработка" и "Поиск и замена дублей". При открытии Задачи ошибка. Предлагаю внести изменения:
Функция ЛксПолучитьСписокРеквизитовОбъектаБД(...
Предложения вложены в файл
Функция ___обОписаниеТиповВладельцев(МД) Экспорт
М=Новый Массив();
Для Каждого Эл ИЗ МД.Владельцы Цикл
//Симашкевич Начало 25.06.2010 17:09
Если Метаданные.Справочники.Индекс(Эл)>=0 Тогда
М.Добавить(Тип("СправочникСсылка."+Эл.Имя));
ИначеЕсли Метаданные.ПланыВидовХарактеристик.Индекс(Эл)>=0 Тогда
М.Добавить(Тип("ПланВидовХарактеристикСсылка."+Эл.Имя));
ИначеЕсли Метаданные.ПланыОбмена.Индекс(Эл)>=0 Тогда
М.Добавить(Тип("ПланОбменаСсылка."+Эл.Имя));
ИначеЕсли Метаданные.ПланыСчетов.Индекс(Эл)>=0 Тогда
М.Добавить(Тип("ПланСчетовСсылка."+Эл.Имя));
ИначеЕсли Метаданные.ПланыВидовРасчета.Индекс(Эл)>=0 Тогда
М.Добавить(Тип("ПланВидовРасчетаСсылка."+Эл.Имя));
КонецЕсли;
//Симашкевич Окончание 25.06.2010 17:12
КонецЦикла;
Возврат Новый ОписаниеТипов(М);
КонецФункции
2)"Универсальный подбор и обработка" и "Поиск и замена дублей". При открытии Задачи ошибка. Предлагаю внести изменения:
Функция ЛксПолучитьСписокРеквизитовОбъектаБД(...
...
//Симашкевич Изменил 25.06.2010 16:59 СписокРеквизитов.Добавить("БизнесПроцесс", "Бизнес процесс", , КартинкаРеквизита);
СписокРеквизитов.Добавить("Дата", "Дата", , КартинкаРеквизита);
Если ОбъектМетаданных.ДлинаНаименования > 0 Тогда
СписокРеквизитов.Добавить("Наименование", "Наименование", , КартинкаРеквизита);
КонецЕсли;
Если ОбъектМетаданных.ДлинаНомера > 0 Тогда
СписокРеквизитов.Добавить("Номер", "Номер", , КартинкаРеквизита);
КонецЕсли;
//Симашкевич Изменил 25.06.2010 16:59 СписокРеквизитов.Добавить("ТочкаМаршрута", "Точка маршрута", , КартинкаРеквизита);
//Симашкевич Начало 25.06.2010 16:59
СписокРеквизитов.Добавить("Выполнена", "Выполнена", , КартинкаРеквизита);
Для Каждого Рекв из ОбъектМетаданных.РеквизитыАдресации Цикл
СписокРеквизитов.Добавить(Рекв.Имя,Рекв.Представление(), , КартинкаРеквизита);
КонецЦикла;
//Симашкевич Окончание 25.06.2010 16:58
...
- вернул возможность использования отдельного архива синтакс-помощника (для x64 ОС актуально (537), т.к. извлечение из платформы там не работает), сам архив доступен в файлах
- улучшено заполнение колонок универсального списка
- в универсальном подборе и обработке объектов для обработки проведения документов добавлен параметр "Снимать пометки удаления" который ранее неявно был всегда включен
- исправлены ссылки в справках по подсистемам
- исправлена проблема игнорирования отключения контроля записи при удалении объекта в универсальном редакторе реквизитов
Во все консоли добавлены команды для объединения с файлом.
Улучшена работа универсального редактора реквизитов с подчиненными справочниками, задачами и теперь для булевых реквизитов используется флажок вместо поля ввода.
Исправлена проблема при обращении к неинициализированному параметру сеанса ТекущийПользователь в интерфейсной панели.
Исправлены мелкие ошибки.
"Преобразование к типу Булево ..." в процедуре ЗагрузитьЗапросыИзФайла
глянул
в вывзывающей процедуре ОткрытьФайл(ОчиститьПередЗагрузкой = Истина)
переменная ОчиститьПередЗагрузкой имеет тип вместо Булево - КнопкаКоманднойПанели
скрин прилепил
в отладке подменил значение, после этого проблема не возникала
Доработана консоль компоновок
+команда исследовать расшифровку области
+команда исследовать макет компоновки
+вывод результата в таблицу значений
+вывод результата в дерево значений
Если Не ОбменДанными.Загрузка Тогда
мТекстАлгоритмаСПараметрами = "";
ДатаИзмененияКонтекста = ДатаИзменения;
ирПлатформа.ОбновитьАлгоритмВКеше(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
иначе вылетает при обмене, если у пользователя который делает обмен нет прав на ирПлатформа.
- исправлена проблема с записью элементов справочника ирАлгоритмы под пользователем, которому недоступна обработка ирПлатформа (549)
+ менеджер табличного поля теперь поддерживает сортировку наборов записей
+ улучшена совместимость подсказки с 8.2
- в универсальном редакторе реквизитов устранена ошибки при записи предопределенных узлов планов обмена
+ в консоли запросов и компоновки добавлен новый режим "Осторожная выборка", которая позволяет предотвратить нежелательное извлечение из СУБД значительных объемов данных
+ в консоли компоновки для таблицы результата добавлено поле, отображающее ее количество строк
Если в "исследователе коллекций" открыть таблицу значений, среди колонок которой есть колонки типа "таблица значений" и попытаться добраться до строк этих "вложенных" таблиц, то ничего не удается, т.к. строка открывается, но с набором колонок родительской ТЗ, коих во вложенной естественно нет.
т1 = Новый ТаблицаЗначений;
т1.Колонки.Добавить("к1");
с1 = т1.Добавить();
с1.к1 = Новый ТаблицаЗначений;
т2 = с1.к1;
т2.Колонки.Добавить("к2");
т2.Добавить();
Исследовать(т1);
ПоказатьА какие строки то добавить надо, написать можно в описании?
Чтобы не лазить по комментариям, не искать.
// Модуль приложения
Перем ирПлатформа Экспорт;
...
// Тело модуля
Если РольДоступна("ирРазработчик") И ПравоДоступа("Использование", Метаданные.Обработки.ирПлатформа) Тогда
ирПлатформа = Обработки.ирПлатформа.Создать();
КонецЕсли;
А вообще, спасибо за прекрасный инструмент, помогающий в разработке, Сергей. Только с подоплёкой реплики "разработчикам твоего уровня" я не согласен.
Предлагаю в описании на сайте добавить этот код.
Можно после цитаты:
В целевой конфигурации единственное место, где придется вручную добавить пару строк кода - модуль приложения (в самое начало и в самый конец)
Процедура СохранитьИмяФайла()
СохранитьЗначение("КонсольЗапросов_ИмяФайла", мИмяФайла);
СохранитьЗначение("КонсольЗапросов_ИмяПути", мИмяПути);
КонецПроцедуры // СохранитьИмяФайла()
Процедура ВосстановитьИмяФайла()
мИмяФайла = ВосстановитьЗначение("ирКонсольЗапросов_ИмяФайла");
мИмяПути = ВосстановитьЗначение("ирКонсольЗапросов_ИмяПути");
.....
КонецПроцедуры // ВосстановитьИмяФайла()
- исправлено восстановление последнего открытого файла в консоли запросов (564)
- улучшено взаимодействие консоли компоновок и консоли запросов в отношении параметров
- улучшена работа функции "осторожная выборка" с пакетными запросами и временными таблицами
- добавлены команды для открытия справки по подсистемам (они помогают быстро попасть на web страницу подсистемы)
УПП 1/3/77/2
При запуске инструмента "Управление службой северов 1с" сначала вылетает ошибка
Установлена новая компонента. Сеанс рекомендуется перезапустить
Хотя все компоненты в соответствующем инструменте установлены.
При вводе в командную строку "Компьютер" значения типа 1c:1641 ( ну сервак там у меня для тестирования) выдало
{ОбщийМодуль.ирКэш.Модуль(570)}: Ошибка при вызове метода контекста (ConnectServer): Произошла исключительная ситуация (SWbemLocator): Сервер RPC недоступен.
Ежели сервер зовётся просто 1с - то все работает без проблем
А как бы ваш инструмент работал с севером в виде IP-адреса. Такое тоже бывает
Ну и как всегда спасибо за отличный инструмент
+ добавлена кнопка "Новое окно" во все основные формы обработок и отчетов, где она может понадобится (ранее она была лишь в консолях)
- исправлена ошибка первого запуска под пользователем ОС без административных прав (...timeGetTime...) (569)
+ в универсальном редакторе реквизитов добавлена поддержка свойства ТипЗначения для планов видов характеристик
- исправлена индикация в универсальном подборе и обработке объектов (ранее индикатор перебирал все строки выборки, в том числе выключенные )
- исправлена ошибка компиляции ирПлатформа в режиме внешнего соединения
Исправишь?
Ошибка в форме панели - неверное использование кавычек :( в итоге команда получается синтаксически ошибочной.
1. строка 259 (версия 2.04) нужно написать
ДобавитьКнопку(КнопкиКоманднойПанели, "Открыть", , " ПолучитьФорму(""ФормаПросмотра""); НоваяФорма.ЭлементыФормы.ТекстДок.Прочитать("""+ИмяОбъекта+"""); НоваяФорма.ЭлементыФормы.ТекстДок.Видимость = Истина; НоваяФорма.Заголовок = """+ИмяОбъекта+"""", ДействиеОткрытиеФормы); // Артур
2. такая же ошибка у табличных документов, строка 257
исправить на
ДобавитьКнопку(КнопкиКоманднойПанели, "Открыть", , " ПолучитьФорму(""ФормаПросмотра""); НоваяФорма.ЭлементыФормы.ТабДок.Прочитать("""+ИмяОбъекта+"""); НоваяФорма.ЭлементыФормы.ТабДок.Видимость = Истина; НоваяФорма.Заголовок = """+ИмяОбъекта+"""", ДействиеОткрытиеФормы);
- исправлена ошибка в интерфейсной панели (576)
- прекращена поддержка платформы 8.1
- добавлена поддержка работы подсистемы в режиме совместимости "Не использовать" (исправлена ошибка при открытии интерфейсной панели (пока фильтр по подсистемам работать не будет))
- обновлено описание платформы от 8.2.13.165
- допустимая длина имени параметра в консоли запросов увеличена до 100
- добавлена возможность открытия на просмотр таблицы шаблонов из файла шаблонов
Исправлены мелкие проблемы в режиме совместимости "Не использовать"
Напоминаю, что архив синтакс-помощника в большинстве случаев не имеет смысла качать на x86 системах. Они в основном предназначены для x64 систем, где не работает автоматическая распаковка встроенных в платформу файлов.
В описании компоненты StrMatchExtension написано "Для регистрации требуются библиотеки mfc71.dll и msvcr71.dll"
По факту нужны mfc120.dll и msvcr120.dll отсюда
В обработке ирКэш в функции ПолучитьCOMОбъектWMIЛкс есть вызов:
СлужбаWMI = Locator.ConnectServer(ИмяСервера, ТочкаПодключения, , , ТекущийЯзыкСистемы()); На w2k3 x64 enu получаем сообщение об ошибке:
{ВнешняяОбработка.ирКэш.МодульОбъекта(597)}: Ошибка при вызове метода контекста (ConnectServer): Произошла исключительная ситуация (SWbemLocator): Invalid parameter , а вот так работает нормально:
СлужбаWMI = Locator.ConnectServer(ИмяСервера, ТочкаПодключения, , , ); Кроме того, так как эта функция может возвращать Неопределено, ошибка возникает в модуле обработки ирСервер в функции ПолучитьПараметрыПроцессаАгентаСервера
{ВнешняяОбработка.ирСервер.МодульОбъекта(437)}: Значение не является значением объектного типа (ParentProcessId)
выхИдентификаторПроцесса = РабочийПроцесс.ParentProcessId;Воспроизводится при попытке открытия оснастки "Управление службами серверов 1С".
Форма обработки ирКонсольЗапросов
Процедура ВыполнитьОбработкуСтрокРезультата
Строку
Индикатор = ЛксПолучитьИндикаторПроцесса(ТаблицаСРезультатом.Количество(), , Истина);
Заменить на
Индикатор = ЛксПолучитьИндикаторПроцесса(ТаблицаСРезультатом.Количество());
Истина попадает не в "свой" параметр
первые проблемы на обработке интерфейсная панель - причина
ИТС
Удаление свойства подсистемы некоторых объектов метаданных
Свойство Подсистемы некоторых объектов метаданных (таких как Справочник, Документ и т.п.) не поддерживается в режиме совместимости "Не использовать".
Для устранения несовместимости необходимо:
Выявить все обращения к этому свойству, для этого использовать поиск подстроки ".Подсистемы" ;
Отказаться от использования свойства Подсистемы, пересмотрев логику соответствующего модуля. Вместо этого свойства следут использовать свойство Состав у объекта метаданных Подсистема.
ирКонсользапросов.Форма(1614): ЗначениеПараметров.Вставить(СтрокаПараметра.ИмяПараметра, СтрокаПараметра.ЗначениеПараметра);
Так как если процедура в начале, то она считает, что одна итерация выполнена и вычисляет время ее выполнение, а оно по сути 0.
А если перенести в "перед концом", то будет настоящее выполнение этой итерации.
Принципиально для циклов, с длительной итерацией. Так как потеря времени выполнения первой итерации приводит к большой погрешности определения времени до завершения и визуально оно увеличивается.
В связи с этим предлагаю в ЛксПолучитьИндикаторПроцесса уже выводить 0%, чтобы было видно, что индикатор существует и выполнен на 0%.
Тогда предлагаю два варианта:
1)Оставить размещение на откуп использующего и, если не трудно, в ИР где в цикле нет Продолжить перенести в конец цикла (особо актуально для консоли запросов)
2)Всегда ее в начале цикла писать, но в расчете оставшегося времени и процентов заранее учитывать, что реально выполнено на одну итерацию меньше и, соответственно, осталось на 1 больше.
{Отчет.ирКонсольКомпоновокДанных.Форма.Форма.Форма(2016,4)}: Процедура или функция с указанным именем не определена (обСравнитьЗначенияИнтерактивноЧерезXMLСтроку)
<<?>>обСравнитьЗначенияИнтерактивноЧерезXMLСтроку(СтрокаИсправленныхНастроек, СтрокаТекущихНастроек, Ложь,
8.2.13.202
Совместимость с 8.1 снято.
Режим обычного приложения.
Полные права.
{ОбщийМодуль.ирГлобальный.Модуль(3836,27)}: Тип не определен (СравнениеФайлов)
СравнениеФайлов = Новый <<?>>СравнениеФайлов;
Чо оно так? СП СравнениеФайлов описывает. Написано Толстый клиент.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
некотоые поля
ПОМЕСТИТЬ ВТТаблицаРаботниковОрганизации
ИЗ
&ТаблицаРаботниковОрганизации КАК РаботникиОрганизаций
При попытке выполнить его в консоли выдается ошибка: Неверные параметры "ТаблицаРаботниковОрганизации" <<?>>&ТаблицаРаботниковОрганизации КАК РаботникиОрганизаций
Видимо консоль не имеет возможности отлаживать запросы с параметрами типа ТЗ???
Пытаюсь проверить инструмент Структура хранения БД, а именно посмотреть размеры таблиц.
нашел такие моменты:
1. Нет кнопки "Подключиться". Для того, чтобы ввести параметры подключения, нужно поставить флажок "Показывать размеры", затем ввести сервер, имя базы, пользователя и пароль, а чтобы установить соединение приходится снимать галку "Показывать размер" и снова ее устанавливать.
2. У нас сервер БД - MS SQL 2012 (v 11.0.6020), через провайдер SQLNCLI10 подключиться не удается ("произошла исключительная ситуация (adodb.connection) не удается найти указанный поставщик"). Если исправить строку подключения, например, так: "Provider=SQLNCLI11; Server=!БазаСервер!; DataBase=!БазаИмя!; UID="!Пользователь!"; PWD="!Пароль!";" то получаю сообщение другого вида:
Ошибка инициализации подключения:
{Обработка.ирКонсольЗапросов.МодульОбъекта(617)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft SQL Server Native Client 11.0): Сетевые интерфейсы SQL Server: Никакие удаленные клиентские протоколы не включены, и в строке подключения удаленный протокол не указан [xFFFFFFFF].
Фактическая строка соединения с базой:
Provider=SQLNCLI11; Server=<servername>; DataBase=<dbname>; UID=<username>; PWD="***";
Не пойму, куда копать. Попинать админов, чтоб проверили настройки SQL?
Консоль запросов
+Добавлена передача таблиц-параметров в собственный конструктор запроса
+В панели результата добавлена свернутая по умолчанию таблица результата пакета с командой "Найти запрос" в контекстном меню
Консоль компоновки данных
+Для табличного документа результата добавлена команда "Передать в подбор и обработку объектов"
Поиск дублей и замена ссылок
+На закладке "Правила замены" добавлен "Обработчик замены данных" с параметрами ПравильныйОбъект, НеправильныйОбъект, СтандартнаяОбработка
*Поиск по похожим словам переделан на более быстрый и качественный метод сравнения строк с помощью внешней компоненты
Подбор и обработка объектов БД.
*Обработка "Установка реквизитов" переименована в "Изменить / добавить строку" и теперь позволяет добавлять строки в выбранную табличную часть с поиском по ключевым реквизитам
+В обработке "Произвольный алгоритм" добавлены параметры ОбъектБД, Параметры, ЭтоПервыйОбъектБД, ЭтоПоследнийОбъектБД, ЭтоПервыйЭлемент, ЭтоПоследнийЭлемент
(1744) Исправлено
Поборол эту проблему - там при запуске консоль ругается на одну из строк запроса (хотя в режиме предприятия запрос выполняется корректно), после чего,
видимо, некорректно считывает параметры...
после того как я в запросе слегка скорректировал строку на которую ругалась консоль всё заработало....
Файл 'C:\Users\*****\AppData\Local\Temp\v8_C1F8_d.exe'
содержит вирус или вредоносную программу 'TR/Rimecud.1.3' [trojan].
Действие с файлом:
Файл был перемещен в карантинную папку под именем '4b2bdbdc.qua'.
Антивирусник звучит так: Avira AntiVir Personal v10
отключил и всё пошло:) если честно испугался, но репутация сайта поборола мой страх:)
Бывают ситуации когда задачи не привязаны к БизнесПроцессам. И сейчас их универсальным редактором нельзя изменять.
Предлагаю:
В мПеречитатьДанные()
ЗаполнитьСтрокуТзРеквизиты(ВыбОбъект,"БизнесПроцесс", "Бизнес процесс", ___обОписаниеТиповБизнесПроцесса(мдОбъекта));
ЗаполнитьСтрокуТзРеквизиты(ВыбОбъект,"ТочкаМаршрута", "Точка маршрута", __обОписаниеТиповТочкиМаршрута(мдОбъекта));
Обрамить проверкой заполнен ли в задаче Бизнес-процесс или привязатся к тому что возвращается в ___обОписаниеТиповБизнесПроцесса(мдОбъекта) для "БизнесПроцесс".
Отдельный файл синтакс-помощника нужнен на 64-битной Windows. Если у вас такая, то зайдите в настройки компоненты "Контекстная подсказка" и укажите там путь к этому файлу.
Для чего предполагается использовать? каким образом можно из одного алгоритма обратиться к другому?
как реализовать вызов алгоритма из своего кода?
думаю, что данная тема незаслуженно обойдена вниманием :)
ЗЫ мне также интересны различия между алгоритмами из ИР и твоими сервисами :)
- исправлены мелкие ошибки в универсальном редакторе реквизитов и исследователе объектов, внесенные в последних версиях
- синтакс-помощник теперь открывается без отдельного архива даже на Windows 64-bit
- улучшена обработка смешанных коллекций в исследователе коллекций
- вызовы исследователей из консолей переведены в не модальный режим
а почему "Синтакс-помощник 8.2.13.165, не требуется начиная с 2.15""??
А раньше - что, требовался? а стандартный чем плох?
Или это доработанный наконец-то?
(я так надеюсь, что будет когда-нибудь человеческий синтаксис-помощник.. а не урывки и обрубки с ошибками без примеров...)
ИМХО в этом случае "правильным" элементом в любом случае должен быть предопределенный, т.к. его все равно удалить нельзя, а удобно заменить ранее созданный элемент.
Исправишь?
насоздаю запросов, сохраню в файл. В следующий раз открываю - список пуст. Где сохранял файл не помню, приходится искать. Иногда искать некогда, рисую запросы в новый файл.... как их потом объединить ?
Может быть включить опционально (по настройке или при наличии) хранить данные в справочнике сохраненных настроек, который есть в типовых? Чтобы не бегать по диску в поисках "своей" папки.
А вообще какое-нибудь описание возможностей (подробнее, чем в описании к разработке) планируется или где-то взять можно?
1С:Предприятие 8.3 (8.3.8.2027)
"Управление торговлей", редакция 10.3 (10.3.30.1)
Клиент-серверный вариант.
Консоль запросов. Запрос такой.
sel ect ссылка fr om Справочник.контрагенты/Инфостарт портит текст - вставляет пробелы в код, их нужно убрать/
При нажатии на кнопку "КонструкторИР" получаем сообщение об ошибке
ТокенПсевдонима = Данные.Tokens(Данные.TokenCount - 1);
по причине:
Произошла исключительная ситуация (mscorlib): Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
(Если я правильно понимаю - данный функционал ближе всего именно к этой обработке)
v. 2.04
Запрос (создание ВТ из объединения) вида:
"ВЫБРАТЬ
...
ПОМЕСТИТЬ ВТ_
ИЗ Таб1 КАК Таб1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
...
ИЗ Таб2 КАК Таб2"
некорректно отображается в дереве запроса: вместо Создание_ВТ_ видим
Запрос1
----Объединение
--------Создание_ВТ_
--------Выборка1
- в консоли запросов в дереве запроса исправлено обозначение создания временной таблицы для объединения (658)
- ускорен исследователь объектов благодаря artbear и chessmaster
- исправлено обновление com компонент в каталоге файлового кэша подсистемы
- в универсальном редакторе параметров сеанса добавлена информационная колонка "Тип"
- сделана явной поддержка работы в режиме управляемого приложения (в толстом клиенте с включенным свойством конфигурации "Использовать обычные формы в толстом клиенте в управляемом режиме")
Из-за проблем с uploadом файла сюда выкладываю его на сторонний файлсервер .
А когда ждать полной адаптации под управляемые формы и тонкий клиент
Есть такая кнопка, на ней нарисована цифра "7", располагается во втором ряду сверху на клавиатуре. Так вот, на русской раскладке нажатие на неё при нажатом Shift даёт вопросительный знак. А он нужен для того, чтобы дать собеседнику понять, что ты задаёшь вопрос, а не констатируешь факт! Неужели это так сложно?
- привел в порядок командный интерфейс подсистемы для управляемого приложения
- в обработке "Подготовка базы данных к усечению типов" добавлено заполнение усекаемых типов по разнице между конфигурацией бд и основной конфигурацией, что значительно автоматизирует основной сценарий ее использования
- исправлена компиляция модуля управляемого приложения в не толстом клиенте
- в консоли запросов исправлена свежая ошибка, внесенная в 2.17, с определением имен узлов в дереве запроса
комментарий уже лень написать.
Т.е. теперь поощряется флуд? Теперь просто можно бегать по всем замечательным разработкам хороших людей и флудить им в комментариях? Если я сейчас пробегусь с постами типа "Спасибо" и "Всё работает", и буду делать это каждый день, то во что это выльется?
Я просто поражен был, когда мне скинули ссылку на эту разработку...
Ранее использовал то одно, то другое из этого набора от других разработчиков.
Здесь все вместе собрано, за что огромное спасибо!
Скачаю, заценю....
Щас как раз необходимость воспользоваться компонентой "Поиск и замена дублей".
Замучался с подобными разработками (.
Не подошла в моей сложной ситуации. Надеюсь данная подборка поможет...
- В консоли запросов улучшена работа команды преобразования узла дерева запроса в подзапрос
- В универсальном редакторе реквизитов добавлена поддержка редактирования даты бизнес процесса
- Консоль компоновок теперь при добавлении нового отчета сразу устанавливает ему автоматический режим сохранения настроек
- В консолях (запросов, построителей и компоновки) реализована поддержка копирования строки главного дерева путем перетаскивания в т.ч. между деревьями разных экземпляров формы
- В консоли запросов улучшена поддержка различных конструкций запросов механизмом осторожной выборки
- В поиске и замене дублей существенно оптимизирован поиск по похожим словам
- Обновлено описание функции Отладить() в модуле
- В поиске и замене дублей при окончании замены в случае, если были изменены проведенные документы, пользователю предлагается открыть форму просмотра их списка с возможностью перепроведения
- В поиске и замене дублей возвращен вывод полных описаний ошибок при записи изменений
{ОбщийМодуль.РаботаСОбщимиПеременными.Модуль(29,8)}: Переменная не определена (глОбщиеЗначения)
Кэш = <<?>>глОбщиеЗначения;
{ОбщийМодуль.РаботаСОбщимиПеременными.Модуль(161,9)}: Переменная не определена (глОбщиеЗначения)
Если <<?>>глОбщиеЗначения = Неопределено Тогда
{ОбщийМодуль.РаботаСОбщимиПеременными.Модуль(187,8)}: Переменная не определена (глОбщиеЗначения)
Если <<?>>глОбщиеЗначения = Неопределено Тогда
в панели поиска довольно часто набираю наименования не в такой раскладке.
ИМХО было бы удобно, чтобы поиск выполнялся независимо от раскладки.
ЗЫ например, в подсистеме "Ввод по строке" по моему предложнеию автор реализовал такую схему, просто и удобно.
В Снегопате также юзается подобная замена/поиск.
Жду ответа.
ЗЫ Сергей, кстати, Снегопат уже не падает :) можно брать!
В консоли запросов исправлена ошибка в механизме осторожной выборки, внесенная в версии 2.19
В поиске и замене дублей ускорен поиск по равному значению реквизита
В поиске и замене дублей для групп дублей добавлена колонка "Правильный элемент"
В консолях запросов и компоновки для таблицы и дерева результата добавлена команда для передачи данных в поиск и замену дублей
Исправлена ошибка в консоли компоновки при добавлении нового элемент главного дерева, внесенная в версии 2.19
Вспомнил, что как-то раз нарвался на ошибку (скорее особенность) в поиске и замене дублей:
Если справочник является подчиненным и имеет реквизит "Объект" ссылочного типа, то при выборе этого справочника вываливается ошибка, связанная с тем, что в качестве псевдонима для справочника в запросе используется также строка "Объект", возможно это уже обыграно в текущей версии ИР - давно не пользовался поиском и заменой дублей.
- В консоли запросов в командных панелях обработчиков результата и строки результата добавлены шаблоны для установки текста обработчика
- В консоли запрос тип запроса по умолчанию теперь "Компоновка", а не "Построитель"
- Восстановлены в очередной раз сбившиеся привязки в форме консоли компоновки данных в панели настроек
- В исследователе объектов добавлена кнопка "XML" показывающая XML отображение через сериализатор XDTO значения текущей строки
- В консоли запросов улучшена команда преобразования узла дерева запроса в подзапрос
- Функция Отладить дополнена режимом сохранения данных для отложенной отладки, обеспечивающей возможность отложенной отладки на клиенте в том числе и серверных объектов клиентского сеанса
- Для запуска отложенной отладки добавлены команды на панели инструментов интерфейса обычного приложения и в командном интерфейсе управляемого приложения
- В консоли запросов реализовано надежное срабатывание кнопки "Конструктор запроса" (ранее она работала только при наличии фокуса ввода у поля текста запроса)
- Добавлена команда для сравнения текстов в: компоненту "Контекстная подсказка", командую панель текста запроса результата консоли запросов, форму редактора строкового литерала
Экспериментальным путем было выяснено, что дело в том, что это возникает из-за того, что в глобальную переменную обработки помещается конструкция вида Новый МенеджерВременныхТаблиц.
В связи с чем ты решил описать это наблюдение?
Другого разумного способа хранить огромные временные таблицы при отладке запроса мне не известно.
Просьба проверить воспроизведение проблемы (наличия незакрытого соединения с СУБД после закрытия формы консоли запросов) в выпускаемой мной подсистеме.
в целом получилось, спасибо.
платформа 8.3.3.658
Но
обработка настройки ТЖ :
Форма изменения/настройки каталога для логов
при попытке отметить интересующие элементы для логирования, возникают ошибики типа:
{Обработка.ирНастройкаТехножурнала.Форма.НастройкаКаталога.Форма(720)}: Индекс находится за границами массива
УдалитьЭлементОтбораСобытий(ТабличноеПолеСписокСобытий[ИндСоб]);
или
{Обработка.ирНастройкаТехножурнала.МодульОбъекта(363)}: Ошибка при вызове метода контекста (Элемент)
УзелУсловий = УзелСобытий.Элемент(ИндСоб).ПервыйДочерний;
по причине:
Значение индекса выходит за границы диапазона
они разные, попробуйте отмечать в разном порядке или просто открыть форму и отметить в середине списка.
Из-за большого объема изменений они описаны в блоге. Наиболее значимые: новый инструмент "консоль кода" и контекстная справка по ключевым словам и функциям языка запросов.
Актуализировал и расширил описание подсистемы.
Можно ли подсистему использовать в конфигурациях "на поддержке", так как они закрыты для редактирования (и ввода новых объектов), Если можно, то подскажите, пожалуйста, как это сделать. В такой редакции я очень заинтересован в ответе.
Попробуй привести скриншот или более подробно описать вопрос.
каким-то образом в ссылках на заменяемый элемент справочника есть битая ссылка :( - есть движения, а документа-регистратора нету :(
Так вот, при этом обработка замены валится в исключение и работа останавливается.
для исправления нужно в версии 2.24 в основной форме обработки ирПоискИЗаменаДублей после строки 639
строка 639: Параметры.Объект = СтрокаТаблицы.Данные.ПолучитьОбъект();добавить код
Если Параметры.Объект = Неопределено Тогда
ОбрабатываемаяСсылка = Неопределено;
Продолжить;
КонецЕсли;После этого обработка работает до конца, замена происходит.
Остаются только ссылки из битых документов.
Заменяемый элемент можно удалить непосредственно уже вручную :)
В поиске и замене дублей исправлена свежая ошибка выбора группы дублей по похожим словам
Исправлены ошибки генераторов текста запроса в консоли запросов
В обработке "Подготовка БД к усечению типов" исправлена работа кнопка Заполнить, которая ранее ошибочно сравнивала текущую конфигурацию с пустой
В конструкторе выражения компоновки добавлено поле выбора типа выражения и исправлены мелкие недочеты
Исправлена свежая ошибка при открытии консоли запросов для отладки макета компоновки
Исправлена свежая ошибка включения общей кнопки-переключателя "Пустые"
Исправлена ошибка общей кнопки "Консоль обработки данных" при нажатии на не ссылочной колонке
В форме синтакс-помощника добавлена закладка "Поиск", которая теперь используется для более удобного выбора трактования слова при вызове контекстной справки
В результатах поиска ссылок на объект и поиска ссылок на дубли добавлена поддержка открытия ключа записи в управлемой форме списка
В консоли запросов тип запроса по умолчанию возвращен в Построитель
Исправлена ошибка построения дерева запроса в консоли запросов для редко используемых выражений "РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ", "ПЕРВЫЕ 1 РАЗРЕШЕННЫЕ" и т.д.
В поиске и замене дублей исправлена ошибка замены в наборах записей по отсутствующему регистратору
В командный интерфейс подсистемы добавлена команда для открытия консоли кода
Исправлено ошибочное поведение консоли запросов после ошибки синтаксического разбора запроса режимом дерева запроса
В консоли запросов улучшен алгоритм определения необходимости выгрузки результата в таблицу и улучшена индикация факта загрузки данных в таблицу и дерево результат в заголовках их закладок
2.27
В исследователе объектов добавлена кнопка "Глобальный" позволяющая исследовать глобальный контекст, при прямом открытии формы это сразу выполняется
В грамматике языка запросов добавлена поддержка функций ТИПЗНАЧЕНИЯ и Тип
В грамматике языка запросов исправлена свежая ошибка поддержки нескольких полей в предложении ИНДЕКСИРОВАТЬ ПО
В большинстве полей ввода ссылки добавлена поддержка ввода битых ссылок в виде их представления ("<Объект не найден ...>")
В консоли запросов исправлена ошибка в кнопке "Чтение и запись менеджера записи" подменю "Установить текст" для обработчика строки результата
Добавлен новый инструмент "Консоль заданий" на основе одноименной обработки с ИТС с доработками
Показывает полное описание ошибки фонового задания
Добавлен редактор параметров регламентного задания
Добавлена кнопка «Показать сообщения пользователю» для фонового задания
Добавлена кнопка «Выполнить» для регламентного задания
В редакторе объекта БД добавлена и сделана основной закладка "Реквизиты таблица", которая синхронизируется со старой закладкой "Реквизиты отдельно"
к сожалению и с ошибками ИТС )))
При попытке открыть консоль при неактивном менеджере (в моем случае файловый вариант) заданий получаем ошибку "Менеджер заданий не активен" что влечет за собой закрытие программы ((( (или перезапуск).
Есть условие типа
ВЫБОР
КОГДА Доки.Док = ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.МЕСТО_КУРСОРА)
ТОГДА 1
ИНАЧЕ Доки.Док
КОНЕЦ КАК Поле1
При вызове автодополнения/подсказки (Цтрл+Пробел) в списке возможных подстановок нет варианта ПустаяСсылка :(
Имхо это небольшой баг :(
В простом поле
Выбрать ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.МЕСТО_КУРСОРА)
подсказка ПустаяСсылка выходит.
Поправишь?
В консоли заданий улучшено управление отбором
В консоли заданий в таблице фоновых заданий добавлена колонка Длительность (Конец-Начало) и возможность отбора по ней
Улучшена поддержка файлового режима в консоли заданий в т.ч. обход ошибки платформы
В редакторе объекта БД подключен общий механизм индикации наличия информации внутри страницы в ее заголовке
В консоли заданий для регламентного задания добавлено подменю "Выполнить"
На клиенте
На сервере
В фоновом задании
В редакторе объекта БД добавлена кнопка "Найти ссылки"
В редакторе объекта БД добавлен вывод уникального идентификатора в виде реквизита "Ссылка"
Исправлена свежая ошибка контекстной подсказки для языка запросов для конструкций "Значение(" и "ССЫЛКА" и "Выразить("
В консоли заданий добавлена кнопка "Работать диспетчером", имеющая смысл в файловой версии и вызывающая в цикле ВыполнитьОбработкуЗадания() с возможностью прерывания
В редакторе объекта БД для регистров реализован фильтруемый список, переключающий страницы регистров и позволяющий эффективно управлять большим числом таблиц движений
Консоль запросов теперь тщательно следит за изменениями менеджера временных таблиц при отладке и удаляет при закрытии все временные таблицы, которых до ее открытия не существовало и которые она потом создала. чтобы далее запрос выполнялся без ошибок
В форме элемента алгоритма добавлена кнопка "Консоль кода" для открытия алгоритма в консоли кода
В форме консоли кода добавлена кнопка для сохранения в алгоритм
В механизме алгоритмов исправлены проблемы с обновлением динамических внешних обработок
В грамматике языка запросов исправлена поддержка длинных вариантов записи соединения (ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ)
Оптимизировано открытие контекстной справки
(768) Не воспроизводится на новой версии. Там была исправлена близкая ошибка.
(759) Ошибка платформы исследована и зарегистрирована производителем. В новой версии реализован обход.
Нововведения(++)
++ Реализована форма выбора типа с горячим фильтром по подстроке, подключенная пока только для полей ввода значений параметров в консоли запросов и консоли кода
++ В полях ввода значений параметров в консоли запросов и консоли кода и исследователе объектов добавлена возможность выбора нестандартных типов и редактирования их значений
момент времени
граница
массив
таблица значений
++ В редакторе объекта БД добавлена кнопка "Новый" для создания нового объекта (элемента), а также реализована возможность создания нового объекта путем ввода его идентификатора или представления несуществующего объекта в поле выбора ссылки
++ В форме списка алгоритмов добавлена панель текущего элемента, отображающая текст алгоритма, и кнопка "Консоль кода" аналогичная форме элемента
++ В исследователе объектов реализовано вычисление свойств XDTO объектов
Косметические улучшения (+)
+ Кнопка "Отладчик" в форме алгоритма и консоли кода теперь, если несколько конфигураторов открыто, сама пытается определить нужный и предлагает выбрать конфигуратор только если ей это не удалось
+ При очистке (исходное состояние) настройки "Файл шаблонов текста" компоненты "Контекстная подсказка" кнопка "Выполнить шаблон" теперь отключается и освобождает сочетание клавиш SHIFT+SPACE
+ Кнопка "Отладчик" в форме алгоритма и консоли кода теперь, если несколько конфигураторов открыто, сама пытается определить нужный и предлагает выбрать конфигуратор только если ей это не удалось
+ Кнопки "Объединить ссылки" и "Обработать объекты" добавлены в универсальный динамический список
+ Кнопка "Авто контекстная справка" добавлена в исследователь объектов
+ В редакторе объекта БД режим "Запись без проверок" теперь распространяется и на запись движений
+ Исправлена работа кнопки "Автозаполнение" для параметров в консоли кода в отношении свойств глобального контекста (теперь они не считаются переменными)
Исправления ошибок (*)
* Исправлена свежая ошибка (2.29) - при сохранении из консоли кода в алгоритм текст не устанавливался
* Исправлена свежая ошибка в подборе и обработке объектов, из-за которой произвольный алгоритм вместо видимого текста использовал пустой
* Исправлена ошибка переподключения файла шаблонов текста, из-за которой продолжал использоваться старый файл до перезапуска предприятия
* Исправлена свежая ошибка заполнения колонок "Выполнялось" и "Состояние" для списка регламентных заданий в консоли заданий
* Исправлена повторно ошибка в обработке "Подготовка БД к усечению типов" в кнопке Заполнить, которая ошибочно сравнивала текущую конфигурацию с пустой
* Исправлена ошибка кнопки "Заполнить" для параметров алгоритма и консоли кода, метки ошибочно трактовались как переменные
* Сделаны мелкие улучшения в консоли заданий
* Исправлена ошибка не установки модифицированности формы в редакторе объекта БД при редактировании на закладке "Реквизиты Таблица"
* В редакторе объекта БД на закладке "Реквизиты таблица" исправлена возможность редактирования свойства ТипЗначения для ПВХ
* Исправлена ошибка замера времени выполнение неполного запроса в консоли запросов
* Исправлена ошибка возможности открытия нескольких исследователей для одного объекта
Удаление возможностей (-)
- В консоли запросов упразднено использование префикса # для имен параметров, имеющих неотображаемые в поле ввода типы
Вот как-то так.
Возврат WinAPI.GetTickCount();
Подскажите как обойти!!!
Но нельзя ли сделать ее еще чуточку полезнее, вставив в вашу подсистему обработку "Поиск и замена значений"?
Временами она бывает очень полезной :)
А вот по замене значений разного типа согласен. Выложи/пришли обработку, которая на твой взгляд достойно справляется с этой задачей.
запрос
ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Родитель В(&Родители)
И Номенклатура.Артикул В(&Артикулы)
обоим параметрам указываем тип "Список"
В первый параметр заносим пару значений
Двойной щелчок для редактирования второго параметра - очищаются значения первого.
Плюс иногда при перщелкивании между строками параметров - списков выпадает ошибка
{Обработка.ирКонсольЗапросов.Форма.Форма(1778)}: Поле объекта не обнаружено (ТипЗначения)
ПолеЗначениеПараметра.Значение.ТипЗначения = ТекущиеДанные.ТипЗначения;
Если надо, могу поподробнее описать, как поймать
Полный список изменений смотрим как всегда здесь
Существенные изменения
- Реализована установка нужных компонент для работы формы контекстной подсказки на ОС без установленного MS Office 97-2007
- Добавлен новый инструмент "Редактор изменений на узле"
- Устранена необходимость изменять модули конфигурации при объединении
- Реализована возможность групповой обработки (включая выражение встроенного языка) строк табличных полей во многих местах через менеджер табличного поля
- В подборе и обработке объектов добавлена обработка "Изменить регистрацию на узле"
Основные изменения:
- исправлена ошибка редактирования списка значений в параметре запроса консоли запросов
+ теперь определяются и отсутствующие во внутреннем описании платформы характеристики объектов (например экспортные переменные и методы модулей) в исследователе объектов, исследователе коллекций и местами в контекстной подсказке. Это стало возможно благодаря Chessman'у (
- в исследователе объектов исправлена ошибка получения неинициализированного параметра сеанса (из-за ошибки платформы)
Консоль заданий
+Добавлена колонка Длительность в списке регламентных заданий
+Добавлено единое условное оформление в обоих таблицах
+Реализовано автоматическое сохранение и восстановление режима отбора по регламентному заданию
+Добавлены кнопки для вызова менеджера табличного поля для обоих списков
Консоль запросов
+Реализована проверка уникальности имен параметров перед выполнением запроса
*Исправлено некорректное преобразование значений параметров типа Массив в тип СписокЗначений при открытии запроса для отладки
Подбор и обработка объектов
+Добавлена поддержка общих реквизитов в подборе объектов и обработке установки реквизитов
*Исправлена ошибка дублирования элементов отбора
Поиск дублей и замена ссылок
+Добавлена поддержка общих реквизитов в поиске дублей и замене ссылок
*Исправлена свежая ошибка замены в периодических регистрах сведений
Контекстная подсказка
*В режиме языка запросов добавлена отсутствовавшая ранее функция ДатаВремя()
+В нескольких общих механизмах улучшена поддержка внешних источников данных, но пока еще она не полноценная
Короткая версия изменений
+Новый инструмент "Анализ журнала регистрации" - выгрузка с отбором журнала регистрации в табличное поле
*Редактор изменений на узле. Исправлены ошибки.
*Восстановлена совместимость с 8.2.13 и ниже.
В консоли компоновки данных создаем схему компоновки по выбранной таблице. Выбираем поле Ссылка, настраиваем отбор. Формируем результат в таблицу значений. Выделяем нужные/все строки и нажимаем кнопку "Консоль обработки данных".
Короткая версия изменений
+Редактор объекта БД. Добавлена закладка "Поиск в объекте", используемая при поиске ссылок на объект.
+Расширенное редактирование. Добавлена поддержка типов Тип и СписокЗначений. Добавлена возможность сохранять и загружать из файла массив, список значений, таблицу/дерево значений.
+*Анализ журнала регистрации. Исправлены ошибки. Улучшен выбор периода выгрузки.
+Подбор и обработка объектов. Поиск объектов переведен на компоновку. (813)
Кстати, так и не поблагодарил тебя за доработку: реализацию замены ссылок :) Сделал лучше, чем просили, спасибо :)
Из Динамического списка (ИР) вызываю универсальный редактор реквизитов (ИР)
курсор на элементе справочника, вызываю редактор для редактирования этого элемента
Выдается ошибка
{Обработка.ирДинамическийСписок.Форма.Форма(139)}: Недостаточно фактических параметров
Обработки.ирРедакторОбъектаБД.Создать().РедактироватьОбъектСсылки(ЭлементыФормы.ДинамическийСписок.ТекущаяСтрока);
ИМХО в редакторе для метода РедактироватьОбъектСсылки
забыл сделать парам по умолчанию
РедактироватьОбъектСсылки(пСсылка, пИскомоеЗначение = Неопределено)
И в редакторе реквизитов тоже не помешает ;)
Заранее спасибо
Сорри за невнимательность ...
(821) Исправлено
(817) Реализовано
Короткая версия изменений
Консоль запросов. +Добавлен и сделан основным тип запроса "Обычный", который характеризуется отсутствием промежуточной обработки текста запроса (построителем запроса или компоновкой). В некоторых редких случаях такая обработка вносит нежелательные изменения в текст запроса. Теперь будет возможность этого избежать.
+Добавлено подменю "Открыть последние" для открытия ранее использованного файла в консоли запросов и компоновки.
Выпущена в связи с исправлением серьезной ошибки предыдущей версии, из-за которой было невозможно редактировать значения параметров некоторых типов в консоли запросов.
Вот это я понимаю, в стиле 1С - выпускать несколько релизов с разницей в один день :)))
P.S. Это не грубый сарказм, а лишь небольшое подтрунивание ;) Поставил плюс за оперативность.
(829) Исправлено
Короткая версия изменений
Консоль подбора и обработки объектов. *Исправлены свежие ошибки.
+В большинстве активно используемых полей ввода на панелях форм подключен механизм запоминания последних выбранных значений.
Редактор объекта БД. +Добавлена закладка "Связанные колонки БД" для анализа ссылающихся на объект колонок таблиц БД
Надеюсь, когда-нибудь будет и в тонком клиенте :)
2.41. Консоль запросов
В таблице становлюсь на ссылку на документ и вызываю "Редактор объекта БД" (Очень понравилось - суровейшая моща!)
В поле "Значение", где значение имеет тип Перечисление...
обработка выбора падает
{ОбщийМодуль.ирНеглобальный(978)}: Метод объекта не обнаружен (ПолучитьОбъект)
И ЗначениеЗаполнено(РасширенноеЗначение)
(837) исправлено
Короткая версия изменений
+ Добавлена закладка Индекс в синтакс-помощнике
* Устранена зависимость синтакс-помощника от регистра букв и почти от релиза платформы
* Исправлено много мелких ошибок
+ В редакторе объекта БД доработана закладка "Связанные колонки БД"
Вот что я делаю:
1. Через консоль кода выполняю строку СохранитьЗначение("ДоступныеОбработки",Неопределено), иначе обработка не запускается. Для воспроизведения ошибки этого делать не нужно, наверное.
2. Запускаю обработку. Выбираю справочник "Договоры". Указываю отбор "Ссылка равно",выбираю любой договор, нажимаю "Найти объекты". Всё, больше ничего не делаю.
3. Закрываю обработку.
4. При попытке снова запустить обработку появляется ошибка.
Попробовал на другом справочнике - то же самое. Мне кажется, вид справочника не важен.
Короткая версия изменений
+ Подбор и обработка объектов. Реализована поддержка обработки строк таблиц регистров и вложенных таблиц.
+ Консоль запросов. Колонка "Значение" для вычисляемых параметров теперь отображает вычисленное значение, а само выражение редактируется в новой колонке Выражение.
+ Общее. Улучшена поддержка предопределенных табличных частей планов видов расчета.
* Общее. Исправлена проблема искажения цветов некоторых надписей после встраивания в целевую конфигурацию
* Исправлены ошибки
Версия платформы: 1С:Предприятие 8.2 (8.2.13.219)
Глюк проявляется следующим образом.
Если в консоль запросов в поле текст ввести следующий запрос:
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ПОМЕСТИТЬ врТаб
ИЗ
&врТаб КАК врТаб
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ИЗ
врТаб КАК врТаб
Версия платформы: 1С:Предприятие 8.2 (8.2.13.219)
Глюк проявляется следующим образом.
Пользовательское:
Если в консоль запросов в поле текст ввести следующий запрос:
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ПОМЕСТИТЬ врТаб
ИЗ
&врТаб КАК врТаб
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ИЗ
врТаб КАК врТаб
Затем перейти на вкладку "Параметры", заполнить из запроса параметры. Потом войти в значение параметра "врТаб" и добавить колонки (см.запрос) а так же строки. Колонки строго типизированы.
Потом выполнить запрос.
Потом при нажатии на кнопку "Конструктор" на панели запроса выскакивает ошибка:
(ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры, ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Период ГДЕ "ВременнаяТаблица" = "врТаб")б <<?>>КАК врТаб
Версия платформы: 1С:Предприятие 8.2 (8.2.13.219)
Глюк проявляется следующим образом.
Пользовательское:
Если в консоль запросов в поле текст ввести следующий запрос:
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ПОМЕСТИТЬ врТаб
ИЗ
&врТаб КАК врТаб
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ИЗ
врТаб КАК врТаб
Затем перейти на вкладку "Параметры", заполнить из запроса параметры. Потом войти в значение параметра "врТаб" и добавить колонки (см.запрос) а так же строки. Колонки строго типизированы.
Потом выполнить запрос.
Потом при нажатии на кнопку "Конструктор" на панели запроса выскакивает ошибка:
(ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры, ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Период ГДЕ "ВременнаяТаблица" = "врТаб")б <<?>>КАК врТаб
Анализ:
В моем случае проблема обнаружилась в Обработка.ирПлатформа.МодульОбъекта, процедура "ЗамаскироватьВременныеТаблицы", строка 476-477:
+ Сред(СтрокаЗапроса, НомерКолонки + СтрДлина(ИмяВременнойТаблицы));
Запрос должен содержать временную таблицу, и быть успешно выполнен хотя бы один раз, чтобы код:
КолонкиВременнойТаблицы = ВременныйЗапрос.Выполнить().Колонки;
Исключение
Прервать;
КонецПопытки;
не вызывал прерывания.
Версия платформы: 1С:Предприятие 8.2 (8.2.13.219)
Глюк проявляется следующим образом.
Пользовательское:
Если в консоль запросов в поле текст ввести следующий запрос:
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ПОМЕСТИТЬ врТаб
ИЗ
&врТаб КАК врТаб
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ИЗ
врТаб КАК врТаб
Затем перейти на вкладку "Параметры", заполнить из запроса параметры. Потом войти в значение параметра "врТаб" и добавить колонки (см.запрос) а так же строки. Колонки строго типизированы.
Потом выполнить запрос.
Потом при нажатии на кнопку "Конструктор" на панели запроса выскакивает ошибка:
(ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры, ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Период ГДЕ "ВременнаяТаблица" = "врТаб")б <<?>>КАК врТаб
Анализ:
В моем случае проблема обнаружилась в Обработка.ирПлатформа.МодульОбъекта, процедура "ЗамаскироватьВременныеТаблицы", строка 476-477:
+ Сред(СтрокаЗапроса, НомерКолонки + СтрДлина(ИмяВременнойТаблицы));
Запрос должен содержать временную таблицу, и быть успешно выполнен хотя бы один раз, чтобы код:
КолонкиВременнойТаблицы = ВременныйЗапрос.Выполнить().Колонки;
Исключение
Прервать;
КонецПопытки;
не вызывал прерывания.
В итоге, когда выполняется строка 476, переменная "НоваяСтрока" содержит на один символ больше, чем нужно.
В моем случае помогло:
+ Сред(СтрокаЗапроса, НомерКолонки + СтрДлина(ИмяВременнойТаблицы) + 1);
Версия платформы: 1С:Предприятие 8.2 (8.2.13.219)
Глюк проявляется следующим образом.
Пользовательское:
Если в консоль запросов в поле текст ввести следующий запрос:
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ПОМЕСТИТЬ врТаб
ИЗ
&врТаб КАК врТаб
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
врТаб.Номенклатура,
врТаб.ХарактеристикаНоменклатуры,
врТаб.Период
ИЗ
врТаб КАК врТаб
Затем перейти на вкладку "Параметры", заполнить из запроса параметры. Потом войти в значение параметра "врТаб" и добавить колонки (см.запрос) а так же строки. Колонки строго типизированы.
Потом выполнить запрос.
Потом при нажатии на кнопку "Конструктор" на панели запроса выскакивает ошибка:
(ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры, ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Период ГДЕ "ВременнаяТаблица" = "врТаб")б <<?>>КАК врТаб
Анализ:
В моем случае проблема обнаружилась в Обработка.ирПлатформа.МодульОбъекта, процедура "ЗамаскироватьВременныеТаблицы", строка 476-477:
+ Сред(СтрокаЗапроса, НомерКолонки + СтрДлина(ИмяВременнойТаблицы));
Запрос должен содержать временную таблицу, и быть успешно выполнен хотя бы один раз, чтобы код:
КолонкиВременнойТаблицы = ВременныйЗапрос.Выполнить().Колонки;
Исключение
Прервать;
КонецПопытки;
не вызывал прерывания.
В итоге, когда выполняется строка 476, переменная "НоваяСтрока" содержит на один символ больше, чем нужно.
В моем случае помогло исправить строку на:
+ Сред(СтрокаЗапроса, НомерКолонки + СтрДлина(ИмяВременнойТаблицы) + 1);
(854) Исправлено
(850) Исправлено
(852) Добавлены видеоролики
Основные изменения
- Для новичков очень полезным будет ознакомиться с видео инструкцией по установке и обновлению подсистемы в новом разделе сайта .
- Подбор и обработка объектов значительно доработана и теперь может оперировать любой таблицей БД кроме перерасчетов, изменений и констант. Т.е. теперь она может работать со ссылочными таблицами, табличными частями, регистрами и последовательностями. Добавлен способ обхода выборки данных "строки" или "объекты" для табличных частей и наборов записей.
- Обновлена и доработана интерфейсная панель. Теперь снова работает отбор по подсистемам. Фильтр стал теплым и проверяет вхождение всех слов по И.
- В форме выбора объекта метаданных также сделан аналогичный теплый фильтр и получение количества строк в таблицах БД по запросу.
- Во многих формах отображающих метаданные появился переключатель Имя/Синоним, позволяющий менять поле представления и фильтрации
- В консоли запросов добавлен механизм управления группой параметров периода
- Добавлена общая поддержка последовательностей
Вопросы:
1) интерфейсная панель работает в тонком клиенте?
2) есть ли вообще способ задать в 8-ке глобальный хоткей? Я, например, повесил бы на эту панель сочетание Ctrl+Alt+O
Спасибо, понятно.
1) А ты принципиально не делаешь формы для тонких клиентов? Хотя бы те, которые могут обойтись без "толстоты" клиента? Или у тебя таких нет?
2) Через кнопку интерфейса - не интересно(есть кнопка, она видна). Я скорее имел ввиду некое подобие глобального события "ПриНажатииКнопкиКлавиатуры" из FormEx для 7.7
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, <<?>>глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета, "Продажа", ПараметрОбъектКопирования, ПараметрОснование, мСтруктураПараметровДляПолученияДоговора);
Код выглядит в документе так:
#Если Клиент Или ВнешнееСоединение Тогда
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета, "Продажа", ПараметрОбъектКопирования, ПараметрОснование, мСтруктураПараметровДляПолученияДоговора);
#КонецЕсли
Процедура эта конечно же есть в типовом глобальном модуле. Использую 1С УТ 10.3
Вычислитель контекста
*Исправлена ошибка отсутствия колонок таблиц значений
Подбор и обработка объектов
*Исправлена ошибка установки доступности обработок специфичных для типа метаданных "Документ"
Исследователь коллекций
*Исправлена ошибка исследования некоторых коллекций (наборов записей регистров)
не удается использовать функционал для управляемых форм конфигурация УТ11 . Если запускаю под обычным приложением - поиск работает, но замену выполнить не может . Ругается: "Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {ОбщийМодуль.ОбменДаннымиСервер.Модуль(4467)}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО): Попытка получения неинициализированного значения параметра сеанса"
сделал объеднение (для справочника ирКомандаРедактироватьОбъект и одноименной команды в УТ11 нет некоторых справочников с названиями из ролика, или они подругому называются, все остальное сделал в точном соответствии), но при попытке запуска обработки снова ошибка ""Для объекта не определена форма по умолчанию, соответствующая режиму запуска""
В ролике показаны кроме обязательных еще и опциональные этапы ("подключение команд" является опциональным, о чем и в описании и в ролике сообщается).
Это сделал?
Падает 49 релиз(мобильный) при попытке выделить для удаления планы обмена.
Описание ошибки:
{ВнешняяОбработка.ирУдалениеОбъектовСКонтролемСсылок.МодульОбъекта(882)}: Ошибка при вызове метода контекста (Выполнить)
ТаблицаОбъектов = Запрос.Выполнить().Выгрузить();
по причине:
{(4, 64)}: Поле не найдено "ТЗ.Ссылка.Предопределенный"
Представление(ТЗ.Ссылка) КАК Представление, ЕСТЬNULL(ТЗ.Ссылка.<<?>>Предопределенный, Ложь) КАК Предопределенный,
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 15126
Создание 23.09.07 19:33
Обновление 11.06.25 07:51
Просмотры 838819
Загрузки 50092
Рейтинг
2525
Комментарии 2961
Код открыт Да
Рубрики Инструментарий разработчика
Кому
Системный администратор
,
Разработчик
Тип файла Конфигурация (md, cf)
Платформа 1С:Предприятие 8
Конфигурация
1C:Бухгалтерия
,
1С:ERP Управление предприятием 2
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)