1С:Предприятие 8.2. Управляемая Форма. Меняем иконку рабочего стола.

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

Администрирование - Администрирование данных 1С - Сервисные утилиты

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

Но все же можно попытаться ее сменить.
Многим разработчикам 1С наверно понравился новый подход к интерфейсу в 1С:Предприятие 8.2. Теперь не надо надо мучиться с привязками элементов, не надо рассчитывать координаты элементов, не надо думать что отображать для одного пользователя, что для другого. 1С стала "умнее". Но есть вещи которые нельзя изменить, например, расположение основных элементов интерфейса (панель разделов, панель навигации и др.). Для конфигураций имеющих свой дизайн важно иметь возможность сменить не только картинки разделов для созданных подсистем, но и картинку рабочего стола, но менять ее нет возможности. Сама 1С объясняет это тем что интерфейс любой конфигурации должен быть унифицирован: "Дело не в одной картинке, а в общей стилистике для любых конфигураций. Важно чтобы пользователи привыкали к общему стилю и одинаково воспринимали одинаковые элементы в разных конфигурациях - это ускорит и освоение конфигураций и повседневную работу пользователей с ними." (http://partners.v8.1c.ru/forum/thread.jsp?id=714007)

Но все же можно попытаться ее сменить.
Ход мыслей простой - картинка где то должна храниться как файл, как поле БД, как часть файла, как ссылка. Надо только ее найти. Самый простой способ ее найти это запустить любую конфигурацию 1С в веб клиенте. Например УТ 11. Сделать это можно со страницы http://v8.1c.ru/trade/demo/index.htm или непосредственно http://demo-ma.1c.ru/trade.



Далее включаем режим разработчика, в Internet Explorer 9 это делается клавишей F12 либо через меню Настроек.


Теперь надо найти элемент соттветствующий картинке рабочего стола. Для этого включим возможность выделения мышью.


Выделим картинку рабочего стола.


Внизу приложения отобразится строка HTML разметки: ""

e1cib/convertPicture?sysver=8.2.15.318&url=e1csys%2Fbackend%2Fdesktop.png&w=48&h=48" становится понятно, что картинку  "desktop.png" из какого то системного хранилища  "e1csys/backend" передают в функцию конвертации картинки до размеров 48*48.

Предполагаю, что эта картинка хранится в файле из папки установки 1С. Мы отметаем предположение, что эта картинка хранится в информационной базе, т.к. при каждом обновлении платформы пришлось бы обновлять и конфигурацию базы. Отметаем предположение, что картинка хранится в сети, ведь 1с настроена на работу не только в интернете. Мало того картинка  относится к каждой отдельной версии платформы, так что она должна лежать в папке отдельной версии.

Просмотрев множество файлов из "C:\Program Files\1cv82\8.2.16.352", мое внимание привлекли файлы "backend.dll", "backend_ru.res" и "backend_root.res".
В файле "backend_root.re"s нашлось упоминание о "desktop.png". Я пробовал различные редакторы ресурсов, но видимо фирма 1с использует свой редактор. Если открыть этот файл в блокноте, то можно заметить, что файл состоит из двух частей, первая хранит названия ресурсов, а вторая ее данные.


Названия ресурсов перечислены без каких либо указаний на расположение, значит надо искать последовательно в этом файле. Следовательно надо подсчитать порядковый номер нашей картинки и найти по порядковому номеру ее данные из второй секции файла. Действий будет меньше если мы будем считать количество файлов с раширением "png", а во второй секции будем искать файл который содержит "‰PNG". Лучше использовать HEX-редактор. Я буду использовать WinHEX.
Итак найдем порядковый номер искомого файла среди файлов формата PNG.


Если долго жать F3 и считать количество нажатий то мы прийдем к записи "desktop.png". Для версии 8.2.16.352 он оказался 11-м.
Теперь найдем Начало данных этого файла. Для этого 11 раз нажмем F3 при установленном поиске "PNG". Не забудьте установить галочку "Match case", она дает указание, что поиск идет с учетом регистра символов.

Нажав F3 одиннадцать раз мы перешли на начало файла. Но как найти окончание файла? Для этого достаточно глянуть любой другой файл формата "PNG". Он заканчивается строкой "END®B`‚", мало того в файле  "backend_root.res" есть разделитель между ресурсами.
Ну так давайте выделим этот диапазон двоичных данных и сохраним в отдельный файл.
Мышкой протянем от начала файла.


И до следующего файла


Если вы выделяете файл так же как и я, вручную (а можно сохранить смешение начала и конца файла и виделить по адресам), то не пропустите разделитель, а то затрете другой файл.

Теперь скопируем выделенный блок в новый файл (Cntr+Shift+N). Так мы сможем проверить что нашли тот самый файл иконки рабочего стола и там же будем его править.




После просмотра сохраненной картинки, было понятно что хранятся они не последовательно. На 11й позиции была другая картинка. Пришлось скопировать другие блоки, что бы найти нашу картинку. Она оказалась на 18 месте.


Советую перед все эти действия выполнять на копиях файлов.

Теперь нам нужен графический редактор. Я буду использовать Paint. Меняем рисунок на свое предпочтение. Например так:


И теперь осталось поместить новый рисунок в файл ресурсов. Недостаток в том, что измененный файл должен быть не больше по размеру чем исходный. Возможно это не так, но файл большего размера у меня поместить не удалось.
Потому измененный файл надо подогнать под размер исходного файла. Откроем ИсходныйФайл.png и посмотрим размер:


Его размер 3145 байт.

Откроем ИзмененныйФайл.png и определим его размер.


Размер измененного файла - 2643 байта. Разница в размерах 502 байта.

Дополним измененный файл нулями до нужного размера:


Нажмем ОК и сохраним файл.


Откроем его в стандартными средствами, что бы убедится, что измененная картинка после дополнения не повредилась.

Теперь в WinHEX выделяем весь "ИзмененныйФайл.png" (Cntr+A) и копируем (Cntr+C). переходим к файлу "backend_root.res". Надо заменить блок с изображением рабочего стола на скопированную в буфер обмена  измененную пиктограмму рабочего стола. Перейдите на начало блока и вызовите команду Write(Cntr+B). Эта команда вставить содержимое буфера с заменой, а не с добавлением.


Проверьте что расмер файла  "backend_root.res" не изменился и сохраните.

Можно ложить файл обратно в папку  "C:\Program Files\1cv82\8.2.16.352" и запускать 1С.


Ну теперь интерфес точно стал унифицированным! Картинка заменилась только для толстого клиента, наверняка были найдены не все файлы где хранится картинка рабочего стола. Если у вас получится сделать изменение картинки для веб клиента или тонкого клиента, то поделитесь как вам это удалось. Помимо этого есть другие недостатки, например при обновлении платформы новый файл  "backend_root.res" может конфликтовать с вашим.

Результаты работы можно скачать тут http://yadi.sk/d/n329aa0TgpfK

Пишите свои комментарии, замечания и предложения. Буду рад, если эта статья вам поможет. 

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

Наименование Файл Версия Размер
Результат

.zip 138,68Kb
29
.zip 138,68Kb 29 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. IamAlexy 551 28.09.12 23:12 Сейчас в теме
более бессмысленного занятия придумать невозможно
11. webester 34 30.09.12 09:23 Сейчас в теме
Не понятен следующий момент: автор говорит, что нужна возможность изменять картинку у конфигураций со своим дизайном и патчит платформу. Как одно связано со вторым непонятно. Если у тебя тиражное решение, не будешь же ты поставлять для него отдельно патченную платформу, если ты пропатчишь платформу клиенту, у него картинка изменится во всех конфигурациях. Столько натуги результата почти нет, не говоря уже о том что это нарушение лицензионного соглашения. Согласен с (1)
(5)
При сильном желании могут и докопаться.

Что значит докопаться? Это прямое нарушение лицензионного соглашения п4 пп2
Вносить какие либо изменения в код программного продукта, содержимое баз данных и других наборов данных в которых система хранит информацию за исключением тех изменений которые вносятся штатными средствами входящими в состав программного продукта и описанными в сопроводительной документации

то есть описанное здесь, можно приравнять к установке эмулятора
Прикрепленные файлы:
12. Abadonna 3885 30.09.12 09:41 Сейчас в теме
(11) Лично я плюс ставил за умение добиться поставленной цели. А само решение считаю, по меньшей мере, нерациональным, потому как оно не будет работать везде.
А вот (3), имхо, идеальное: ничего не патчит, картинки какие хочешь, размеры кнопок какие хочешь, рядов-колонок сколько хочешь, под любого пользователя настраивается "на ходу" с моментальным результатом.
13. webester 34 30.09.12 09:59 Сейчас в теме
(12)Мне кажется это немного не то. Это не подсистемы с автоматическим заполнением по ролям. И область рабочего стола, которую пользователь может заполнить как ему удобно здесь не используется, я правильно понял?
14. Abadonna 3885 30.09.12 10:06 Сейчас в теме
(13) 1. Это тонкий клиент, потому как БП 3.0 только на нем существует. И только на УФ
2. Это не автоматическое заполнение по подсистемам (на мой взляд - излишнее), это справочник Рабочие Столы вот такого вида.
P.S. Кнопки внедряются прямо в главное окно, никаких "прокладок" и т.п.
Прикрепленные файлы:
2. bforce 449 29.09.12 00:31 Сейчас в теме
Автор изучает то, что ему интересно. Увлечения у каждого свои и иногда бывает полезно отвлечься от рутины и заняться чем-нибудь необычным.

Да, можно спорить о том, насколько это полезно. Но, во-первых, не каждый способен задаться целью и довести начатое до конца. Во-вторых, не у каждого присутствует жажда познания и соответствующий багаж знаний, чтобы решать нестандартные задачи. В-третьи, а почему нет?! Я от многих слышал, что эта картинка им не по душе.

Если вам не интересна тема, то проходите мимо. Незачем демотивировать здоровый интерес к окружающему миру.
singapur; for_sale; FlagmanGK; alwiz3; s1ad; shatt; EarlyBird; LaNaite; sCHTASS; KovalOleg; +10 Ответить
3. Abadonna 3885 29.09.12 03:55 Сейчас в теме
Как говорил Ленин: "Мы пойдем другим путем". Да здравствует стиль планшетников! ;) А за интерес к окружающему миру - плюс;)
P.S. Это чуток доделанная БП 3.0
Прикрепленные файлы:
sergey_s_; wunderland; ghostaz; EarlyBird; Hany; anton.fly7; +6 Ответить
25. wunderland 201 13.11.12 18:22 Сейчас в теме
(3) это просто форма с кнопками(картинками) а под ними команды?
4. andrewks 1304 29.09.12 08:14 Сейчас в теме
вызывает большой вопрос законность такого метода, получается патчинг, причём не БД, а длл-ки
5. Abadonna 3885 29.09.12 09:23 Сейчас в теме
(4)
получается патчинг, причём не БД, а длл-ки

При сильном желании могут и докопаться.
6. mr zafod 23 29.09.12 11:25 Сейчас в теме
В web-приложение сидящее за ISS можно аттачить свой CSS файл, а там пишите все что хотите.
7. fishca 1191 29.09.12 15:01 Сейчас в теме
Спасибо за труды, давно руки чесались поменять эту дурацкую иконку.
8. KillHunter 7 29.09.12 18:07 Сейчас в теме
9. serg_gres 144 29.09.12 21:56 Сейчас в теме
За работу и упорство плюс.
10. Alien_RS_Forever 29.09.12 22:53 Сейчас в теме
(0) не совсем понятна цель, но + за искания, старания и результат заслужил
15. alexware 01.10.12 05:24 Сейчас в теме
Без сомнений ставлю плюс. Работа проделана большая. Кому-нибудь пригодится. Хочу отметить отличное изложение. Читается как детектив!
16. comol 4496 01.10.12 09:09 Сейчас в теме
Извращенец (в хорошем смысле этого слова) :)
17. Raminus 01.10.12 09:41 Сейчас в теме
18. ixbit 02.10.12 07:26 Сейчас в теме
надо попробовать интересно автору +
19. AlexanderKai 02.10.12 17:46 Сейчас в теме
Огроменное спасибо. А никто не знает как в управляемом приложении вывести на рабочий стол аватар пользователя? Что-то я поискал и не нашел решения.
20. Evil Beaver 6961 03.10.12 09:06 Сейчас в теме
Интересное исследование, но, к сожалению, без прикладных перпектив. Даже если у себя вы пропатчите платформу, после обновления ресурс может оказаться уже на другом месте. Что, после каждого обновления платформы будете каждый раз патчить backend?
21. ghostaz 138 03.10.12 10:39 Сейчас в теме
Совершенно верно, при каждом обновлении платформы надо повторять эти действия заново. Это я описал в недостатках. Просто заказчик ставил такое тех задание и мне пришлось искать способы решения. Метод почти не годится к использованию, и сам я его не использую, т.к. моя конфигурация работает в основном через веб-клиент.
22. zfilin 2216 04.10.12 13:30 Сейчас в теме
Бесполезно, но за любопытство плюс.
23. asved.ru 35 04.10.12 14:39 Сейчас в теме
Бессмысленно и, я бы сказал, беспощадно. Корректировка ресурсов платформы как метод изменения интерфейса пригодна только для индивидуальных реализаций. Я, помнится, так в радминовский клиент пароль запиливал :)
24. dm.zay 29.10.12 20:04 Сейчас в теме
Смысл проделанной автором работы - есть.
Хотел для своей разработки поменять иконку рабочего стола - после прочтения статьи отказываюсь от этой затеи.
26. sergey_s_ 28.11.12 11:37 Сейчас в теме
27. Famza 84 21.02.13 11:50 Сейчас в теме
Не мог пройти мимо. То что иконка рабочего стола не айс - дело вкуса, но всегда хочется сделать по-своему, так что автор - молодец. Но комменты повеселили.
28. AleksSF 195 05.03.14 15:16 Сейчас в теме
А попробуйте в свойствах конфигурации в разделе представление -
Картинка основного раздела.
Там кстати есть и картинки логотипа и заставки.
Прежде чем копать глубоко, посмотрите не спеша на поверхности
29. ghostaz 138 05.03.14 15:51 Сейчас в теме
(28) AleksSF, важное замечание: вы говорите про 1С: Предприятие 8.3, а я про 8.2
30. KillHunter 7 05.03.14 16:10 Сейчас в теме
(29) ghostaz,
важное замечание: вы говорите про 1С: Предприятие 8.3, а я про 8.2
А почему бы не перейти на платформу 8.3 ?
31. ghostaz 138 05.03.14 16:22 Сейчас в теме
(30) KillHunter, на момент написания статьи этой возможности не было даже в 8.3
32. to_swim 07.10.14 11:40 Сейчас в теме
Такой вопросик.

Может кто подскажет.
1с когда запускаешь в вэб приложении через браузер. (например 1с82 УПП)
там грузится рабочий стол.
Как его можно изменить?
его нет не в интерфейсе и нет в обработках.
спасибо заранее
35. Nicholas 754 03.07.15 13:45 Сейчас в теме
(32) to_swim, правой кнопкой мыши по основному разделу конфигурации, далее "открыть рабочую область начальной страницы".
33. nghtmn_cmth 8 04.12.14 17:08 Сейчас в теме
Интересно как конфигурация БП 3.0 меняет картинки, ведь файлы конфы теже
Nicholas; +1 Ответить
34. Nicholas 754 03.07.15 13:43 Сейчас в теме
(33) nghtmn_cmth,

Интересно как конфигурация БП 3.0 меняет картинки, ведь файлы конфы теже


Мне вот тоже интересно. Пишу свою подсистему в комплексной автоматизации. Картинка рабочего стола получается именно такая как в статье. А хочется, чтобы она была маленькая, как, например, в ЗУП 3.0 (которая, кстати, развернута на том же компьютере и использует тот же релиз 1С:Предприятия).
36. Hamsik 13 17.02.16 20:57 Сейчас в теме
37. vik2006 123 21.09.19 15:07 Сейчас в теме
Зачем так мучиться та? В свойства конфигурации есть строка "Картинка Основного раздела". Вот туда помещаешь какую хошь картинку и будет тебе и всем щастье.
38. ghostaz 138 24.09.19 21:30 Сейчас в теме
(37) В 2012 такой возможности не было.
serg_gres; +1 Ответить
39. vik2006 123 25.09.19 02:32 Сейчас в теме
Оставьте свое сообщение

См. также

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2 Промо

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    16444    Indgo    107    

Водопад из Техжурнала 1С

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Строим визуализацию в виде waterfall-графика по данным событий технологического журнала.

5 стартмани

23.12.2020    4634    VKislitsin    5    

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

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.

1 стартмани

07.12.2020    2054    user1502278    16    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Практика программирования Интеграция v8 Абонемент ($m)

Цель данной статьи - сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

1 стартмани

09.10.2020    3942    hexhoc    12    

Безопасная работа с транзакциями во встроенном языке Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    38384    tormozit    54    

Программная корректировка при выводе отчета СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

1 стартмани

08.10.2020    5267    dabu-dabu    10    

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.08.2020    5099    BuriyLesha    17    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

Практика программирования v8 1cv8.cf Абонемент ($m)

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    5953    Flashill    10    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    27606    wowik    3    

Параллельные вычисления расчета факториала числа N

Практика программирования v8 1cv8.cf Абонемент ($m)

Распараллеливание алгоритма с помощью фоновых заданий (асинхронные вычисления)

1 стартмани

29.06.2020    3267    Rustig    17    

1С+Firebase. Оперативное отображение информации

Интеграция Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Появилась задача по отображению информации из базы в "режиме реального времени" с возможностью масштабирования количества подключенных клиентов (неплохо бы уметь подключаться с мобильных устройств), плавающей нагрузкой и минимальными затратами на разработку без изобретения сложных велосипедов. В уме довольно быстро всплыло "Firebase". Далее небольшой опыт реализации взаимодействия с Firestore для раскрашивания объектов карты.

1 стартмани

06.04.2020    2710    oyti    0    

Управление состоянием для шаблона MVC и работы с данными объекта

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.03.2020    3834    kalyaka    33    

Как нарисовать граф на 1С Промо

Практика программирования v8 Абонемент ($m)

Описывается реализация на языке запросов 1С метода расположения вершин графа на плоскости, основанного на использовании электромеханической аналогии. При этом вершины графа представляются одноименными электрическими зарядами, дуги - пружинками. Силы взаимодействия вершин в этой системе переводят их из случайного начального в нужное конечное положение. Приведена обработка рисования графов "ГрафОграф", реализующая данный подход, показывающая также динамику процесса. Граф можно задать списком ребер вручную, выбрать из нескольких предопределенных примеров или сформировать по данным информационной базы.

1 стартмани

09.08.2013    71418    ildarovich    117    

Методика обновления формы объекта данных при изменении объекта

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.

1 стартмани

09.03.2020    11421    tormozit    14    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    6508    user5300    3    

Zabbix: Мониторинг рабочих процессов

Zabbix v8 1cv8.cf Абонемент ($m)

Мониторинг памяти, потребляемой рабочими процессами, средствами Zabbix. Создание пользовательских LLD правил с помощью One Script

1 стартмани

07.02.2020    5747    EShchavleva    6    

Простой способ индексирования интервалов Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

28.09.2016    40418    ildarovich    22    

Вывод сообщений в HTML поле средствами 1С

Практика программирования v8 v8::УФ Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    6586    burni4    16    

Краткое руководство по внесению изменений в конфигурацию

Практика программирования v8 1cv8.cf Абонемент ($m)

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.

1 стартмани

13.01.2020    19238    sapervodichka    41    

Универсальные функции: разложение произвольной строки адреса в структуру

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    4482    vik070777    10    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    35949    rpgshnik    49    

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Администрирование СУБД Нагрузочное тестирование Сервера v8 1cv8.cf Абонемент ($m)

Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.

3 стартмани

17.12.2019    12705    sapervodichka    3    

Генерация управляемой формы на основе обычной (proof of concept)

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

06.11.2019    7211    user700211_a.straltsou    21    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    14170    blackhole321    7    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    47347    dsdred    43    

RLS - дубли условий в запросах к СУБД

Практика программирования Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

"Подводные камни", возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

1 стартмани

07.10.2019    8905    geron4    4    

Полное копирование одной формы в другую

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде "покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал". Тем не менее, мне стало интересно, как это можно сделать.

1 стартмани

03.10.2019    6040    nekit_rdx    24    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    10214    ids79    46    

Некоторая работа с данными через COM Промо

Практика программирования v8 Абонемент ($m)

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    58508    wowik    32    

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Документооборот и делопроизводство Практика программирования v8 ДО Абонемент ($m)

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

1 стартмани

15.09.2019    7473    pavelpribytkin96    8    

Кто круче: "ИЛИ" или "ОБЪЕДИНИТЬ ВСЕ" в запросе?

Производительность и оптимизация (HighLoad) v8 v8::СПР v8::Запросы ЗУП2.5 Абонемент ($m)

Реальный пример оптимизации запроса. Статья будет полезна людям, изучающим вопросы оптимизации запросов в 1С и для подготовки к экзамену "1С: Эксперт по технологическим вопросам", поскольку в статье описывается один их методов расследования причин неоптимальных запросов. UPD. Коллеги в комментариях заметили ошибку, она была исправлена и сейчас выложены данные с корректным решением.

1 стартмани

14.09.2019    5926    azazana    28    

Описание формата внутреннего представления данных 1С в контексте обмена данными

Практика программирования Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    20375    Dementor    30    

Работа со схемой запроса Промо

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    46302    kalyaka    35    

Еще один способ программной модификации управляемых форм

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример программной модификации управляемой формы для случая когда вызов метода СобытияФорм.ПриСозданииНаСервере разработчиком конфигурации не предусмотрен.

1 стартмани

03.09.2019    4795    infosoft-v    15    

Удобный просмотр результата запроса с большим количеством временных таблиц

Практика программирования v8 Абонемент ($m)

Если Вам часто приходится просматривать в отладчике сложные пакетные запросы с большим количеством временных таблиц, то эта статья для Вас.

1 стартмани

27.08.2019    11516    ids79    22    

Централизованное управление кластером 1С Предприятия, состоящим из нескольких рабочих серверов, работающих на платформе GNU/Linux

Сервисные утилиты v8 Абонемент ($m)

При эксплуатации крупных информационных систем, в состав которых могут входить десятки серверов 1С Предприятия, зачастую возникают ситуации, требующие однотипных действий на всех серверах кластера 1С Предприятия или на всех серверах контура. В настоящей статье представлен способ централизованного управления серверами 1С Предприятия, работающими на платформе GNU/Linux. Подобный подход может быть использован и для других задач, возникающих в процессе эксплуатации крупных систем, с целью сокращения как временных затрат специалистов, так и времени простоя системы.

1 стартмани

26.08.2019    3952    Sloth    0    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    50051    DarkAn    86    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

Как запустить фоновое задание из модуля внешней обработки используя БСП. Как отключить безопасный режим и сообщения защиты от опасных действий независимо от профиля безопасности пользователя в фоновом задании во внешней обработке.

2 стартмани

24.08.2019    12784    BenGunn    22    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

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

1 стартмани

06.08.2019    17904    signum2009    16    

Менеджер потоков: реализация "любой" задачи в потоках

Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 Абонемент ($m)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    10292    DarkAn    7    

Новый запрос и новая таблица значений как функции Промо

Практика программирования v8 Абонемент ($m)

Предлагается две простые функции, использование которых уменьшает объем кода в конфигурациях на платформе «1С:Предприятие 8». Эти функции можно добавлять к своему общему модулю, что сделает процесс программирования более эффективным.

1 стартмани

27.11.2012    45631    ildarovich    46    

Процедура ПриКомпоновкеРезультата

Практика программирования v8 1cv8.cf Абонемент ($m)

Коллекция кода

1 стартмани

26.07.2019    45800    vasilev2015    64    

10 способов получить модуль числа (а может, и больше)

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Пишем функцию вычисления модуля числа. Сколько способов существует? Давайте посчитаем!

1 стартмани

11.07.2019    10195    sam441    29    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    11706    azazana    79    

Уровни, глубина, прародители, циклы и аналоги запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    114850    ildarovich    98    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    9702    ivanov660    28    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

Учет ТМЦ Практика программирования Учет ТМЦ v8 УУ Абонемент ($m)

Представляю методику и инструмент для динамического расчета маршрутов отбора на высоконагруженных складах для максимального повышения эффективности склада, ускорения проходимости и, как следствие, экономии денег. Это методика и обработка для интеграции в WMS решения. Тестировалось на 1С 8.3.14.1565.

3 стартмани

24.06.2019    17681    informa1555    17    

1С:Ассемблер. Немного летнего веселья!

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и мы попробуем его в действии!

1 стартмани

21.06.2019    30978    Evil Beaver    143    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали Промо

Практика программирования Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::СКД КА1 УТ10 УПП1 УУ Абонемент ($m)

Предлагается метод для быстрого нахождения неоплаченных долгов при распределении оплаты по правилу ФИФО, основанный на дихотомии. Описывается реализация метода в виде достаточно простого запроса, решающего за линейное время указанную задачу, считавшуюся ранее существенно более трудоемкой. Приводятся примеры использования запроса в отчетах на СКД для конфигураций УТ, КА, УПП.

1 стартмани

28.02.2014    69234    ildarovich    129    

Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола

Пользователю системы Работа с интерфейсом Интеграция Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Абонемент ($m)

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

1 стартмани

18.06.2019    14093    ilya.rudziak    10    

Простые примеры сложных отчетов на СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

12.06.2019    32100    Hatson    31    

Создание внешней печатной формы в формате документа Word

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В статье написано, как создать внешнюю печатную форму (для конфигураций с БСП) в формате Word.

1 стартмани

17.05.2019    17113    ВикторП    22