Подсистема "Контекстная подсказка" v1.51

Публикация № 14700

Разработка - Практика программирования

Контекстная подcказка для языка запросов и внутреннего языка в режиме 1С:Предприятие. Ее можно программно подключить к любому полю текстового документа. В настоящее время выпускается только под 8.1 в виде подсистемы.

Используется комбинированный подход: вычисление типа и статистика использования свойств и методов.

В форме подсказки после ввода каждого символа текущего слова происходит позиционирование в списке слов, а также промежуточное дополнение слова исходя из набора слов, чье начало совпадает с введенной строкой. Также имеется горячий фильтр списка слов по подстроке. По умолчанию окно контекстной подсказки открывается только в том случае, если она не смогла сделать промежуточное дополнения текущего слова. Таким образом в общем случае вам придется нажать CTRL+SPACE 1-2 раза для открытия формы подсказки.

Описание платформы и для версии под 8.0 и для версии под 8.1 используется от 8.1
Поддержка версии под 8.0 прекращена.

Чтобы открыть подробную справку по компоненте, нужно вызвать диалог "Настройки компоненты" и нажать F1.

Данную обработку-компоненту можно программно подключить к вашему редактору запросов, алгоритмов или выражений.
Пример подключения вы можете увидеть в демонстрационной форме "ФормаПример", где комментариями поясняется назначение каждого блока.
В режиме внутреннего языка реализован интерфейс для выполнения редактируемой программы в глобальном контексте или локальном контексте любого объекта, у которого должен присутствовать соответствующий экспортный метод. Естественно объект и сам может взять и выполнить программу в своем контексте, когда ему нужно будет. Но для синтаксического контроля и удобства отладки важно, чтобы компонента сама инициировала выполнение программы.

Для использования контекстной справки необходимо интерактивно в настройках компоненты указать путь к распакованным файлам справки.

Для работы подсказки для COM-объектов необходимо зарегистрировать библиотеку (COM-компоненту) TLBINF32.DLL. Ее рекомендуется поместить в каталог исполняемых файлов платформы. Регистрация производится выполнением в командной строке в каталоге библиотеки "regsvr32 TLBINF32".

Для корректной работы формы подсказки требуется установленный пакет MS Office 95-2007 (более поздние версии не содержат нужной компоненты).


Планируется:
- в обоих режимах - подсказка после "="
- в режиме внутреннего языка - вычисление состава универсальных коллекций по тексту
- в режиме языка запросов - персонализированная подсказка в параметрах виртуальных таблиц.

Ярким примером применения компоненты является подсистема "Инструменты разработчика" //catalog.mista.ru/projects/1274

Скачать файлы

Наименование Файл Версия Размер
v0.92 под 8.1.7+ (поддержка прекращена)
.1174841487 411,88Kb
14.11.09
448
.1174841487 411,88Kb 448 Скачать бесплатно
v0.91 под 8.0.18+ (поддержка прекращена)
.1175720089 391,93Kb
14.11.09
153
.1175720089 391,93Kb 153 Скачать бесплатно
Подсистема Контекстная подсказка (8.1.8+) v1.51
.cf 1,63Mb
14.11.09
1061
.cf 1,63Mb 1061 Скачать бесплатно

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. tormozit 5682 01.05.07 22:31 Сейчас в теме
В версиях 0.90 в форме подсказки была добавлена очень полезная горячая кнопка "." (кириллица). Она позволяет сразу входить в выбранное слово, не закрывая окна подсказки.
2. German 872 26.03.07 15:27 Сейчас в теме
А в 8.0 то будет работать?
3. tormozit 5682 26.03.07 21:51 Сейчас в теме
Следующий релиз постараюсь сделать для двух плафторм, но описание платформы будет в обоих случаях от 8.1.
4. German 872 27.03.07 09:07 Сейчас в теме
Ну вообщем +1, было бы интересней если бы вывалися по CTRL+SPACE список значений а не эта громоздкая таблица.
А так очень даже нечего, глубоко не удалось посмотреть, но реально это необходимо.
5. tormozit 5682 27.03.07 20:24 Сейчас в теме
По поводу громоздкой таблицы - там же можно настроить видимость колонок. По умолчанию все включены в первую очередь для отладки.
6. tormozit 5682 01.04.07 19:12 Сейчас в теме
v 0.70
- улучшен "интеллект"
- реализовано простое вычисление типов в режиме запроса
- улучшена поддержка метаданных
- сделал фильтр для списка слов
- улучшена раскраска различных типов слов
- исправлена куча ошибок
7. CheBurator 01.04.07 23:35 Сейчас в теме
8. tormozit 5682 02.04.07 00:05 Сейчас в теме
v 0.71
- исправил парочку мелких багов
9. tormozit 5682 03.04.07 10:18 Сейчас в теме
v 0.75
- реализована полная поддержка метаданных в обоих режимах с бесконечным разыменовыванием
- добавлена поддержка составных типов
- теперь в заголовке окна подсказки отображается текущий контекст, а его тип в информационном поле вверху окна

10. tormozit 5682 03.04.07 19:54 Сейчас в теме
11. tormozit 5682 05.04.07 00:58 Сейчас в теме
Теперь доступны две версии: под 8.0 и под 8.1
12. tormozit 5682 05.04.07 09:21 Сейчас в теме
Исправлена ошибка в v0.77 под 8.0
{ВнешняяОбработка.КлсПолеТекстовогоДокументаСКонтекстнойПодсказкой(1482,9)}: Процедура или функция с указанным именем уже определена (ЗначениеНеЗаполнено)
Функция <<?>>ЗначениеНеЗаполнено(Значение) Экспорт
13. German 872 05.04.07 09:53 Сейчас в теме
Вот это было бы класно.
"Для режима внутреннего языка - возможность указания локального контекста"
То есть можно будет програмно указать нужные переменые?
Допустим если я пишу на встроенном языке и знаю что результат выполнения я должен передать в переменную "Результат" и это результат я смогу найти в подсказке?
Или ты хочешь самостоятельно анализировать текущий контекст?

Еще было бы прикольно всетаки отказаться от таблицы значений(иногда отображается в самом неподходящем месте ), правда даже пока незнаю как исхитрится.... :(( Или сделать ее прикремляемой.....
14. tormozit 5682 05.04.07 10:00 Сейчас в теме
>> Возможность указания локального контекста.
Да. Можно будет програмно указать нужные локальные свойства (переменные). Также можно будет указать тип локального контекста (например, ДокументОбъект.РасходнаяНакладная).

>> Еще было бы прикольно всетаки отказаться от таблицы значений.
На начальном этапе я экспериментировал с окном, даже пытался его пизиционировать через обходные пути, но ничего достойного не вышло =(
15. German 872 05.04.07 10:03 Сейчас в теме
>>>> Еще было бы прикольно всетаки отказаться от таблицы значений.
>>На начальном этапе я экспериментировал с окном, даже пытался его пизиционировать через обходные пути, но>> >>ничего достойного не вышло =(
может стоит посмотреть в сторону AutoIT?
16. tormozit 5682 05.04.07 10:10 Сейчас в теме
>> может стоит посмотреть в сторону AutoIT?
Да, думаю, попробую применить это средство. Правильная позиция окна подсказки играет немаловажную роль.
17. tormozit 5682 07.04.07 23:27 Сейчас в теме
v 0.79
- реализована поддержка табличных частей в обоих режимах
- обработка обращения по индексу несколько раз подряд
- исправлены мелкие ошибки
18. German 872 09.04.07 09:17 Сейчас в теме
Когда будет долгожданная
>>програмно указать нужные локальные свойства
19. tormozit 5682 09.04.07 09:38 Сейчас в теме
>> Когда будет долгожданная
Сегодня-завтра. Уже сделал, нужно немного потестировать.
20. tormozit 5682 09.04.07 23:19 Сейчас в теме
v 0.80
- улучшено внутреннее преобразование типов и расширен список поддерживаемых типов
- теперь можно в режиме внутреннего языка указывать свойства локального контекста (можно увидеть в демонстрационной форме)
21. tormozit 5682 09.04.07 23:55 Сейчас в теме
v 0.80
- добавлено получение предопределенных элементов
- в глобальный контекст больше не попадают общие модули с признаком "Глобальный
22. German 872 10.04.07 09:24 Сейчас в теме
Для 8.0 версия .77..... хочется .8
23. German 872 10.04.07 09:59 Сейчас в теме
И в 8.0 ЭлементУправленияTextBox не хочет работать так как он работает в 8.1
24. German 872 10.04.07 10:11 Сейчас в теме
Указываю свойства локального контекста
Необходимо брать данные из структуры Параметр
Добавляю
Параметр.Число - строка
Параметр.Число2- строка
пишу "П"+Ctrl+Spase
вижу в окне
Параметр.Число
Параметр.Число2
вроде все нормально
Пишу
"Параметр."+Ctrl+Spase
получаю пустое окно.
25. tormozit 5682 10.04.07 10:14 Сейчас в теме
German, спасибо за багрепорт. Ошибка устранена.
Обновил .77 для 8.0
26. tormozit 5682 10.04.07 10:24 Сейчас в теме
Свойства локального контекста должны быть идентификаторами, а не адресами.
27. tormozit 5682 10.04.07 10:26 Сейчас в теме
Возможность реализации иерархического задания свойств локального контекста будет рассмотрена после реализации "вычисление элементов универсальных коллекций по имени, поддержка колонок таблиц значений".
28. German 872 10.04.07 10:41 Сейчас в теме
Сергей, а "Параметр.Число" в данном случае является адрес? Что тогда будет идентификатор?

Колонки таблицы значений это тоже дело. Респект. Плюсонул бы еще раз.
29. German 872 10.04.07 10:47 Сейчас в теме
Хотелось бы еще для формы "ФормаПодсказки" грамонтный содержательный хелп а то приходится при внедрении класса самому писать :)) и мне кажется что значение поля (поле)"ТипКонтекста" можно поместить в заголовок, что бы минимизировать форму, по хорошему там вообще должна остаться одна таблица и ЭлементУправленияTextBox
30. German 872 10.04.07 10:56 Сейчас в теме
31. tormozit 5682 10.04.07 11:16 Сейчас в теме
Под идентификатором я понимал - [А-Яа-я_A-Za-z][А-Яа-я_A-Za-z0-9]*.
Под адресом я понимал - ([А-Яа-я_A-Za-z][А-Яа-я_A-Za-z0-9]*\.)*[А-Яа-я_A-Za-z][А-Яа-я_A-Za-z0-9]*.
Прошу помочь мне называть все своими именами.
32. tormozit 5682 10.04.07 11:19 Сейчас в теме
Хелп скоро будет. Поле "ТипКонтекста" сначала не было и тип отображался в заголовке, но затем оно мне лично понадобилось и было решено разместить его менно там. Ведь тип может быть и составной и сам контекст не маленький, поэтому почти ничего видно в заголовке формы подсказки не будет.
33. tormozit 5682 10.04.07 11:27 Сейчас в теме
Герман, форму подсказки замучаешься каждый раз переделывать ;)
Хотелось бы все же, чтобы форму подскази не переделывали, а общими усилиями пришли к оптимальному виду.
34. tormozit 5682 10.04.07 11:39 Сейчас в теме
>> по хорошему там вообще должна остаться одна таблица и ЭлементУправленияTextBox.
Да, наверное командную панель я все таки уберу, а оставлю только контекстное меню.
35. tormozit 5682 10.04.07 23:21 Сейчас в теме
0.81 под 8.1
- теперь сообщения об ошибках и компиляции и выполнения содержат адекватную информацию и ошибочная строка выделяется в тексте
- упростил форму подсказки, убрал большинство команд в контекстное меню таблицы.
- положил начало справке
36. German 872 11.04.07 09:29 Сейчас в теме
Сергей ты совсем забросил версию под 8.0?
37. tormozit 5682 11.04.07 09:54 Сейчас в теме
Герман, сейчас просто запуск моего проекта на работе идет. Поэтому очень мало свободного времени.
Постараюсь в выходные обновить версию под 8.0
38. tormozit 5682 11.04.07 23:08 Сейчас в теме
В версии под 8.0 были исправлены 2 важных ошибки, которые сильно снижали удобство использования подсказки.
39. tormozit 5682 11.04.07 23:14 Сейчас в теме
0.81 под 8.0
Каждый релиз для 8.0 требует все больше и больше времени на переделку из 8.1.
В версии под 8.0 в силу ограничений платформы не будет отображаться ошибочная строка при неудачной компиляции.
40. German 872 12.04.07 09:54 Сейчас в теме
Поэтому нужно было писать на 8.0 сразу, так чтобы можно было конвертировать в 8.1 ;)))
41. tormozit 5682 15.04.07 14:05 Сейчас в теме
0.82 для 8.1
- реализован переход к ближайшему определению слова в тексте
- улучшена работа с комментариями
- реализована контекстная справка, но сами файлы справки пока не включены в поставку
- исправлены мелкие ошибки
- добавлена справка пользователя по компоненте
42. tormozit 5682 15.04.07 20:34 Сейчас в теме
v 0.83 для 8.1
- в режиме внуреннего языка реализован интерфейс для выполнения редактируемой программы в локальном контексте любого объекта (у объекта должен присутствовать соответствующий экспортный метод); в форме-примере объявлены 2 локальные переменные "лСписок" и "лПостроительОтчета", которые объявлены в подсказке
- теперь после слова Новый отображаются только те типы, у которых существует конструктор (как и должно быть)
43. tormozit 5682 16.04.07 00:58 Сейчас в теме
Обнаружилось, что под видом версии 0.81 под 8.0 лежала 0.77 под 8.0. Накладочка вышла. Исправил. Теперь там лежит правильная версия 0.81 под 8.0
На днях планирую выпустить 0.83 под 8.0
44. Sol 54 16.04.07 01:31 Сейчас в теме
Таблицу со "свойством локального контекста" лучше прятать (делать Свертку), как это часто делают в Отчетах, в типовых.
45. tormozit 5682 16.04.07 06:38 Сейчас в теме
Sol, не мог ты пояснить, что имеется ввиду?
46. tormozit 5682 16.04.07 07:31 Сейчас в теме
Догадался. Речь о свертке элемента управления табличное поле в версии 0.81 для 8.0. Да, так будет удобнее, но так как совсем скоро выйдет новый релиз для 8.0, где табличного поля не будет, то реализовавыть такую возможность не разумно.
47. tormozit 5682 16.04.07 09:53 Сейчас в теме
В обоих версиях исправлена ошибка
{ВнешняяОбработка.КлсПолеТекстовогоДокументаСКонтекстнойПодсказкой(1745,9)}: Процедура или функция с указанным именем уже определена (СкопироватьУниверсальнуюКоллекцию)
Функция <<?>>СкопироватьУниверсальнуюКоллекцию(КоллекцияИсходная) Экспорт
48. Sol 54 16.04.07 13:06 Сейчас в теме
Т.е. остался только программный интерфейс доступа до Локального контекста, от интерактивного ты отказался?
Можно узнать почему?
49. Sol 54 16.04.07 13:10 Сейчас в теме
Кстати у лСписок, методы после точки не появляются
50. tormozit 5682 16.04.07 13:30 Сейчас в теме
>> Кстати у лСписок, методы после точки не появляются
Спасибо. Это ошибка. Вечером будет исправлено.
51. tormozit 5682 16.04.07 22:41 Сейчас в теме
Исправлена ошибка с неправильным вычислением типа СписокЗначений.
52. tormozit 5682 19.04.07 23:58 Сейчас в теме
0.84 под 8.1
- исправлены мелкие ошибки
- у функций теперь свой значок аналогично подсказке конфигуратора
- улучшена подсказка в режиме выбора типа (но пока не доделана)
53. CheBurator 20.04.07 04:16 Сейчас в теме
чувствую - офигенная вещь...
54. tormozit 5682 20.04.07 06:48 Сейчас в теме
Чебурашка, ты я смотрю очень чувствительный =)
55. tormozit 5682 20.04.07 07:49 Сейчас в теме
Выложил файлы справки от платформы 8.1
56. 21.04.07 05:27 Сейчас в теме
Очень полезная штука. +1.
Смотрю для 8.1.
А можно ли оптимизировать, чтобы макет "ОписаниеПлатформы" загружался при первом обращении к контекстной подсказке. На данный момент 2 секунды открывается окошко (по замеру производительности 75% чтение макета и еще 10% на индексы таблиц).
Просто не факт, что контекстной подсказкой будут пользоваться при открытии окна, а инициализировать надо, ибо кнопки на панель добавить надо. Но из-за кнопок на панели ждать 2 секунды... анноит.
Попробовал создать проц ОтложеннаяИнициализация туда перенести чтение макета, создание индексов для таблиц, сразу лучше стало. Проблема только с локальным контекстом - происходит чтение таблиц для заполнения массивов типов... По-моему, это дело поправить было бы несложно, сам не хотел менять уж сильно имеющийся код....
И еще пожелание. Сделать кнопку проверки алгоритма на внутр. языке без необходимости его выполнять (иногда алгоритмы бывают не безобидными). Сделать обрамление с помощью Если Ложь Тогда <ТекстАлгоритмы> КонецЕсли; и для использования локальных переменных инициализировать их в Неопределено перед этим Если. Про ВыполнитьЛокально пока не смотрел, но не всегда контекст формы редактирования алгоритма совпадает с контектом самого алгоритма, т.е. вызываться может не из формы, а например из общего модуля...
157. drx211 23.06.08 12:17 Сейчас в теме
Если в качестве каталога справки указать сетевой - не работает.

Ошибка здесь:
{Обработка.ирПлатформа.Форма.ФормаСправки(56)}: Ошибка при вызове метода контекста (Прочитать): Каталог не обнаружен 'SrvMoss\upload\Синтакс-помощник\objects\Global context\methods\Message30.html'
ТекстСодержания.Прочитать(ПутьКСодержанию);
по причине:
Каталог не обнаружен 'SrvMoss\upload\Синтакс-помощник\objects\Global context\methods\Message30.html'

Надо бы так: "\\SrvMoss\upload\Синтакс-помощник\objects\Global context\methods\Message30.html"
57. tormozit 5682 21.04.07 12:14 Сейчас в теме
Спасибо за ценные замечания и предложения.

Выпустил версию 0.85 под 8.1.7
- добавлен синтаксический контроль в режиме внутреннего языка
- оптимизирована инициализация описания платформы, теперь не будет тормоза при открытии формы с полем текстового документа
- реализована возможность указания глобального контекста для выполнения программного кода
- исправлена ошибка при обращении к контексту элемента формы (их поддержка пока даже не планируется)
- исправлена ошибка при определении адреса перехода по гиперссылке в файлах справки
- в настройках компоненты добавлена опция отказа от открытия формы подсказки в случае пустого списка

ВНИМАНИЕ! Данная версия совместима только с версиями платформы 8.1.7 и выше
58. Robert 21.04.07 20:38 Сейчас в теме
А что значит "Выпустить компоненту в виде подсистемы (CF)"? Можно поподробней? Что за подсистемы такие?
59. tormozit 5682 22.04.07 03:12 Сейчас в теме
0.86 для 8.1.7
- исправлена неработающая опция условия открытия формы подсказки в настройках компоненты
- исправлена работа с перечислениями, которую испортил в предыдущем релизе
- реализовано вычисление системных перечислений
- доделана работа с константами
60. Sol 54 24.04.07 05:43 Сейчас в теме
> На днях планирую выпустить 0.83 под 8.0

Будет? Или для 8.0 решил прекратить поддержку?
61. tormozit 5682 24.04.07 07:20 Сейчас в теме
> Будет? Или для 8.0 решил прекратить поддержку?
Скорее всего будет, но последняя. Возможно в конце недели.
62. tormozit 5682 29.04.07 23:17 Сейчас в теме
Вышла 0.87 под 8.1
- доведен до ума браузер по справке (реализовано динамическое подключение стилей)
- устранена ошибка в синтаксическом анализаторе, приводящая к зацикливанию
- немного улучшен синтаксический анализатор
- сделана подсказка по типам (контексты внутреннего языка "Тип("", "Новый"и языка запросов "ССЫЛКА")
63. tormozit 5682 29.04.07 23:18 Сейчас в теме
Для версии 0.87 необходимо скачать новые файлы справки. Со старыми она работать не будет.
64. tormozit 5682 30.04.07 01:42 Сейчас в теме
Да, еще поля виртуальных таблиц стали более корректно вычисляться.
65. German 872 30.04.07 11:24 Сейчас в теме
Сергей где обещеная 0.83 под 8.0? Неможем новую версию выпустить EI
ждем тебя.....
66. tormozit 5682 30.04.07 11:48 Сейчас в теме
>> Сергей где обещеная 0.83 под 8.0? Неможем новую версию выпустить EI
ждем тебя.....
Ладно. Сейчас попытаюсь...
67. tormozit 5682 30.04.07 13:44 Сейчас в теме
Наконец то! Выпустил 0.88 под 8.0.

0.88 включает исправление мелких ошибок
68. tormozit 5682 30.04.07 16:51 Сейчас в теме
0.89 под 8.1
- добавлена посдказка для первого параметра конструктора ОписаниеТипов - <Новый ОписаниеТипов(">
- в таблицу типов добавлены все примитивные типы
69. Sol 54 01.05.07 09:27 Сейчас в теме
Спасибо.
Исправь под 8.0 ошибку. Ты там забыл убрать проверку Общего модуля на свойство "Глобальный" ;)

P.S. Небольшой совет. Если хочешь, чтобы разработка пользовалась большей популярностью, то приложи здесь пару Приложений, где она уже включена в Поддержку. Привлекешь новичков, которым она как раз и нужна, но которые сами ее в Приложения вставить не могут.

Для начала мог бы приложить Консоли запросов и Отчетов (только последнюю бери из последних российских УПП). Можешь также выложить обработку "Универсальный подбор и обработка объектов", которую я выкладывал в партнерском форуме (второй вариант). Короче, чем больше приложений - тем лучше.

Так как обработка очень полезна новичкам, но они-то как раз сами, вряд ли пока смогут ее куда-нибудь подсоединить ;)
70. tormozit 5682 01.05.07 09:48 Сейчас в теме
Спасибо за багрепорт.
Устранил проверку общих модулей на глобальность в версии 0.89 под 8.0. Нужно перекачать заново.
71. tormozit 5682 01.05.07 10:21 Сейчас в теме
Sol,
по поводу конечных продуктов я уже думал. Когда реализую "Выпустить компоненту в виде подсистемы (CF)", тогда уже можно будет включить туда пару "вкусных" приложений.
72. tormozit 5682 01.05.07 18:29 Сейчас в теме
Вышли версии 0.90
- исправлены 2 ошибки в синтаксическом анализаторе (статистика)
73. tormozit 5682 02.05.07 23:28 Сейчас в теме
Исправлена ошибка в релизах 0.90 с вычислением системных перечислений (внес ее в одном из предпоследних релизов).
74. 03.05.07 03:54 Сейчас в теме
В процедуре ПроверитьПрограммныйКод() не хватает:
Код
      Для каждого ЛокальноеСлово из ТаблицаЛокальногоКонтекста Цикл
         Если ЛокальноеСлово.ТипСлова = "Свойство" Тогда
            ТекстДляВыполнения = ЛокальноеСлово.Слово+" = Неопределено;
               |"+ТекстДляВыполнения;
         КонецЕсли;
      КонецЦикла;
Показать полностью

Переменные локального контекста надо бы инициализить.

Еще не хватает процедуры УдалитьСловоЛокальногоКонтекста(Слово). Контекст может меняться в зависимости от каких-либо параметров....
75. tormozit 5682 03.05.07 07:12 Сейчас в теме
> Переменные локального контекста надо бы инициализить.
Тут позволю себе не согласиться. Допустим у меня есть таблица значений определенной структуры, которая передается в программный код для обработки. Если я ее буду превращать в Неопределено, то о какой обработке той таблицы может идти речь? Думаю, правильнее всего будет инициализировать конкретные локальные переменные в самом программном коде явно.

Процедура УдалитьСловоЛокальногоКонтекста(Слово, ТипСлова) будет добавлена в следующем релизе.
76. 03.05.07 14:08 Сейчас в теме
Пусть есть Конвертация данных от 1С. И вот мы пишем в обработчике перед выгрузкой.
Код
КлючВыгружаемыхДанных = ЗначениеВСтрокуВнутр(Источник.Дата) + ЗначениеВСтрокуВнутр(Источник.ТипЦен);
Показать полностью

Что такое Источник? В алгоритме его не инициализят. Или
Код
Запросы.КорректировкаДолга.УстановитьПараметр("ДатаНачала",     ДатаНачала);
Показать полностью

Не всегда алгоритм может быть целиком текстом какой-либо процедуры. А даже если и так, в любом случае у процедуры и функции есть параметры, которые явно никто инициализировать не будет, они формируют контекст, к которому применяется алгоритм.
При проверке алгоритма такое допущение (=Неопределено) необходимо...
77. tormozit 5682 04.05.07 00:13 Сейчас в теме
Согласен. В следующей версии сделаю.
78. German 872 04.05.07 11:07 Сейчас в теме
Пожелания мелкие....
1. Убрать кнопку конструктора запросов из макетов, она хуже работает чем стандартная
2. Кнопку Справка Ctrl+F1 Переименовать в "Поиск в синтаксисе помошнике"; И картинку поставить как в конфигураторе, а то чтото в начале запутался.
3. Если путь к файлам справки не указан тогда кнопку поиск в синтаксисе помошнике делать недоступной.
Хорошо бы... Фантазии...
1. Синтаксис помошник открывался как в конфигураторе с деревом, ну а если будет индекс тогда вообще фантастика!!!.....
2. Применить шаблоны которые входят в стандартный конфигуратор.....
3. Файлы синтаксиса помошника выложить где нибуть в группах например Googlу на http://groups.google.ru/grphp?hl=ru&tab=wg&q=
для общего доступа и изменения, дополнения примерами и прочее...., тогда фалы справки придется держать у себя если только нет интернета, а так прямо из сети.
79. tormozit 5682 04.05.07 12:51 Сейчас в теме
> 1. Убрать кнопку конструктора запросов из макетов, она хуже работает чем стандартная
Поясни пожалуйста.
80. Sol 54 04.05.07 13:55 Сейчас в теме
В запросах не работает компонента практически не работает с бух.регистрами
Например после "ВЫБРАТЬ * ИЗ РегистрБухгалтерии.Хозрасчетный." нажать Crtl+Space, то выходит ошибка "Поле объекта не обнаружено (ВидРегистра)".

Если самостоятельно порешить эту проблему, то далее выходит другая - "Значение не является значением объектного типа (ИмяКоллекции)". Спотыкается на <Измерения>, т.к. в Макете "ОписаниеТиповИКоллекций" есть только <Имя измерения>, но нет просто <Измерения>.

P.S. При этом <Имя измерения>, содержится в Макете дважды ;)
81. tormozit 5682 04.05.07 14:30 Сейчас в теме
На бух.регистрах в запросах пока не отлаживалась. Также, наверное, не работает и с регистрами расчета.
Регистрами бухгалтерии займусь в ближайшие дни.
82. German 872 04.05.07 15:07 Сейчас в теме
>> 1. Убрать кнопку конструктора запросов из макетов, она хуже работает чем стандартная
>Поясни пожалуйста.
если выделяю только вложенный запрос строит для всего запроса конструктор.
83. German 872 04.05.07 15:17 Сейчас в теме
Описание добавления локальных свойств вообще нет.
Какие возможности?
Планы?
Есть только два примера почти одинаковых....:(

Чем отличаются "ТипСлова" -свойство и т.д.
как мне допустим указать в локальном контексте текущую строку табличного поля?
Или просто строку таблицы?
84. tormozit 5682 04.05.07 15:21 Сейчас в теме
Герман
Я понял. В самом деле выделение не учитывается в моей команде, но зато выделяется ошибочная строка. Поэтому постараюсь реализовать в своей команде учет выделения текста при вызове конструктора.
85. German 872 04.05.07 15:28 Сейчас в теме
+ По кнопке конструктора дополнения:
Да если доделать твоя будет лучше без сомнения

Нужно еще проверять в какое меню она выводится(кнопка), если в контекстное тогда, надо снимать галку авто контекстное меню. а то получается 2 кнопки конструктора.... :))
86. tormozit 5682 05.05.07 00:05 Сейчас в теме
> Нужно еще проверять в какое меню она выводится(кнопка), если в контекстное тогда, надо снимать галку авто контекстное меню.

На мой взгляд, это лучше делать вне компоненты. Опиши ситуацию, в которой по-твоему это целесообразней производить из компоненты?
87. 05.05.07 03:09 Сейчас в теме
Мелкие исправления для справки.
Создавать сначала стиль, потом грузить body. Иначе скачет страничка когда рендерится.
Получая форму справки, делать владельцем ЭтаФорма, иначе справка остается висеть после закрытия диалога редактирования текста.
88. tormozit 5682 05.05.07 10:25 Сейчас в теме
> Чем отличаются "ТипСлова" -свойство и т.д.
"Метод" - к слову добавляется одна (или две) скобки
"Свойство" - к слову ничего не добавляется
89. tormozit 5682 05.05.07 10:29 Сейчас в теме
>как мне допустим указать в локальном контексте текущую строку табличного поля?
Или просто строку таблицы?

В данный момент нет нормального способа. Расширения элементов формы пока не поддерживаются и описание колонок для таблиц значений тоже.
90. tormozit 5682 05.05.07 10:36 Сейчас в теме
> Создавать сначала стиль, потом грузить body.
Я бы с радостью. Дашь пример кода?
91. 05.05.07 17:14 Сейчас в теме
Ну просто местами поменять. Сначала
Код
ЭлементыФормы.ПолеHTMLДокумента.Документ.createStyleSheet(ПутьКСтилю);
Показать полностью

потом
Код
ЭлементыФормы.ПолеHTMLДокумента.Документ.body.innerHTML = СодержаниеСтраницы;
Показать полностью

92. tormozit 5682 05.05.07 17:20 Сейчас в теме
> Ну просто местами поменять.
Так страничка уже отображена. Таким способом лишь можно сократить время ее сырого отображения. Это я уже сделал, но совсем избавиться от кратковременного показа в сыром виде не хватает времени на изучение сабжа.
93. tormozit 5682 05.05.07 18:24 Сейчас в теме
Вышли 0.91
- теперь вызов конструктора запроса при наличии выделенного текста берет только его, а не весь текст (как и стандартная команда платформы)
- уменьшено время отображения сырой страницы справочной системы
- добавлен метод УдалитьСловоЛокальногоКонтекста
- в режиме языка запросов ввведены новые типы слова "Поле" и "Таблица" со своими пиктограммами
- исправлено вычисление полей ряда виртуальных таблиц (главным образом, регистров бухгалтерии)
- в версии для 8.1 оптимизирована структура индексов
- исправлены мелкие ошибки с поиском нужной страницы синтаксис-помощника
- добавлен реквизит компоненты ФормаВладелец и теперь все дочерние формы закрываются вместе с главной
- исправлены ошибки в таблицах описания платформы
- добавлены типы для системных констант Null, Неопределено, Истина, Ложь
94. 05.05.07 23:05 Сейчас в теме
Все краше и краше :)
Что-то надо делать с параметрами методов локального контекста...
Ладно, передать массив массивов типов в процедуру добавления слов несложно, но вот каким образом показать эти параметры при редактировании?...
Может по нажатию для методов локального контекста по Ctrl+F1 отображать popup меню с параметрами (НаименованиеПараметра - ТипПараметра)? Развивая мысль для свойств локального контекста, по Ctrl+F1 тоже показывать тип в этом контекстном меню. Честно говоря, не знаю будет ли это работать достаточно быстро...
Либо второй вариант дать возможность передавать код html-страницы с хелпом по методу/свойству. Это будет смотреться универсально, хотя писать в формате help'а от 1С сложновато, да и ссылок не получится по типам...
95. German 872 07.05.07 09:23 Сейчас в теме
>На мой взгляд, это лучше делать вне компоненты. Опиши ситуацию, в которой по-твоему это целесообразней производить из >компоненты?
Да очень просто
КонтекстнаяПодсказка1.Инициализировать(ПолеТекстовогоДокументаСКонтекстнойПодсказкой,ЭтаФорма, ЭлементыФормы.ТекстЗапроса, ЭлементыФормы.КонтМеню.Кнопки.Предприятие,Истина);
где
ЭлементыФормы.КонтМеню.Кнопки.Предприятие контекстное меню ЭлементыФормы.ТекстЗапроса с признаком авто.


Да на самом деле это не существенно, но если бы сделал было бы ничего

96. Sol 54 15.05.07 00:09 Сейчас в теме
Если вызвать синтаксис-помошник (Ctrl+F1) для значений Истина или Ложь - ничего не происходит, Справка не открывается. Если данные значения встретить в СП (еще сам тип Булево) и щелкнуть по ним, то пишет "Указаная страница справочной информации отсутствует."
97. tormozit 5682 15.05.07 11:33 Сейчас в теме
> Если вызвать синтаксис-помошник (Ctrl+F1) для значений Истина или Ложь - ничего не происходит,
К сожалению, я пока не нашел способа это исправить.
98. German 872 15.05.07 11:59 Сейчас в теме
Оставьте свое сообщение

См. также

Программная работа с настройками СКД

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    5388    ids79    25       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

[СКД] Программное создание схемы компоновки данных

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    7335    John_d    21       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Агрегатные функции СКД, о которых мало кто знает

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    24013    ids79    45       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Три костыля. Сказ про фокусы в коде

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    15713    YPermitin    76       

Отслеживание выполнения фонового задания

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    18238    ids79    16       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    33109    ids79    36       

Фоновое выполнение кода в 1С - это просто

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    18326    avalakh    21       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    27081    ids79    9       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    19579    ids79    27       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Регистры сведений. За кулисами

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    14814    YPermitin    12       

"Меньше копипаста!", или как Вася универсальную процедуру писал

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    12080    SeiOkami    49       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Создание отчетов с помощью СКД - основные понятия и элементы

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    31704    ids79    17       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    16910    dmurk    144       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом БСП (Библиотека стандартных подсистем)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    26074    YPermitin    51       

Регистры накопления. Структура хранения в базе данных

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    27220    YPermitin    27       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Выполнение внешней обработки в фоновом задании

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    17255    Eret1k    23       

Выгрузка документа по условию

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    9289    m-rv    2       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Как прикрутить ГУИД к регистру сведений

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    12420    m-rv    16       

О расширениях замолвите слово...

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    23382    ellavs    125       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    18549    ellavs    83       

Трюки с внешними источниками данных

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    20404    YPermitin    53       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    24529    ids79    9