Добавляем http-ссылки на самописную систему учета задач

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

Разработка - Инструментарий разработчика

Git http bitbucket задачи таскменеджер таск-менеджер тасктрекер таск-трекер багтрекер баг-трекер

Захотелось мне, чтобы в удаленном git репозитории можно было указывать ссылки на задачи и переходить по ним. Но не очень хотелось тратить на это много времени.

Вступление

Наша команда начала использовать выгрузку в GIT. Мы используем Гиттер ( оригинал и моя доработка ). Так же можно использовать GitSync на OneScript ( раз и два и три). Я выбрал Гиттер, т.к. он полностью на 1С, в которой я отлично разбираюсь и без проблем смог расковырять, посмотреть, доработать и отладить работу с gitом.

В качестве удаленного репозитория мы используем bitbucket.org . Он позволяет делать бесплатные приватные репозитории на команду до 5 человек и размером до 2гиг. Наша вхламинушку переписанная УПП и ее 300 коммитов сейчас занимает 340мб. Но пришлось настроить .gitignore на многие файлы, и поэтому обратно конфу собрать нельзя.

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

На GitHub приватные репозитории за небесплатно, но там и возможностей больше. Вроде. Я не смотрел особо. Есть еще GitLab и возможность поднять локальный сервер для удаленного репо, и там даже есть подсветка синтаксиса 1С, но я его даже не смотрел еще.

!!!Не выкладывайте в публичные репозитарии код типовых. Лицензионная политика 1С по отношению к коду БСП и типовых еще не утверждена и неизвестна. Так что это может быть противозаконно!!!

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

Статья состоит из 3х частей: настройка на стороне БитБакета, создание http-сервиса и его публикация. Если у вас уже есть http-сервис, то можно прочитать только первую часть.

Настройка на стороне БитБакета

Идем в нужный репозиторий на БитБакете, в настройки и там в ссылки. Там можно настроить ссылки на существующие сервисы, если они у вас есть, а можно добавить ссылку на свой.

Определяемся с ссылкой, по которой будем переходить и с форматом сообщения, которое должно будет распарситься. В качестве формата я выберу fix-123 и task-123 для багов и задач соответственно. А ссылки должны формироваться по правилам 1С, пусть будут localhost/Tracker/hs/Bags/123 и localhost/Tracker/hs/Tasks/123 . Мне достаточно пофик, что это все будет работать только в локалке, работаю то я в основном в ней, а когда не работаю, то и задачи мне без интереса. Опять же сюда можете подставить свои адреса от существующих трекеров не на 1С.

Для формата есть ряд ограничений. Формат #123 зарезервирован под внутренний трекер задач (кстати, можно использовать и его), формат BB-123 зарезервирован под Jira, может еще какие-нибудь тоже заняты.

Теперь указываем это в настройках. Жмем добавить произвольную ссылку (Add a custom link) и заполняем поля.

Формат задается в поле Link key и является регулярным выражением. Результат разбора подставляется в Link url вместо \1, \2 итп. Для ссылок на задач добавим еще одну ссылку.

Проверим работу. Закоммитим что-нить и посмотрим как это выглядит.

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

Создание http-сервиса

Я бы не стал с ними заморачиваться, если б уже не натренеровался их делать: HTTP-сервис: отчеты [Расширение]

Весь сервис состоит из 4х частей:

  1. настройка сервиса (имя, параметры, шаблон),
  2. парсер входящих параметров,
  3. получение контента по параметрам,
  4.  возврат результата.

Настройка сервиса

Создаем 2 http-сервиса: Tasks и Bags. Они идентичны кроме идентификаторов. В первом случае будет Tasks и получать данные будет из справочника Задачи, второй Bags и даные будет брать из справочника Ошибки. В остальном они идентичны, поэтому рассказывать буду только про Tasks. Кстати, во вложении конфигурация, где весь код есть.

Так вот. Добавляем новый сервис

Добавляем новый шаблон URL

И новый метод Get

В итоге

Парсер входящих параметров

Тут все просто, берем параметр URL, по нему ищем задачу, по ней формируем html и возвращаем

Функция ПолучитьЗадачуGET(Запрос)
	
	номерЗадачи = Запрос.ПараметрыURL["string"];
	
	Если номерЗадачи = "Ping" Тогда
		Ответ = Новый HTTPСервисОтвет(200);
		Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
		Ответ.УстановитьТелоИзСтроки( НСтр( "ru='Поздравляем!!! Подключение выполнено успешно!'" ) );
		Возврат Ответ;
	КонецЕсли;
	
	Попытка
		
		найденнаяЗадача = Справочники._Задачи.НайтиПоКоду( Число( номерЗадачи ) );
		
		Если ЗначениеЗаполнено( найденнаяЗадача ) Тогда
			
			Ответ = Ответ_Задача( найденнаяЗадача );
			
		Иначе
			
			Ответ = Ответ_ЗадачаНеНайдена();
			
		КонецЕсли;
		
	Исключение
		
		Ответ = Ответ_ОшибкаВыполнения();
		
	КонецПопытки;
	
	Возврат Ответ;
	
КонецФункции

Получение контента по параметрам

Мне было очень лень делать красивую html страничку под задачу, поэтому я создал в конструкторе печатную форму, а потом этот табличный документ превращал в html. 

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

текстHTML = ПолучитьТекстHTMLПоТабличномуДокументу(таблДок);

СсылкаНаЗадачу = "<a href=" + Константы._АдресПубликацииИнформационнойБазы.Получить() + "#" + ПолучитьНавигационнуюСсылку(пОшибка) + ">Перейти в 1С</a>";

текстHTML = стрЗаменить( текстHTML, "</body></html>", СсылкаНаЗадачу + "</body></html>" );

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

&НаСервере
Процедура ПриОткрытииНаСервере(адрес)
	
	Константы._АдресПубликацииИнформационнойБазы.Установить( адрес );
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	адрес = ПолучитьНавигационнуюСсылкуИнформационнойБазы();
	
	ПриОткрытииНаСервере(адрес);
	
КонецПроцедуры

 Возврат результата

Тут самое простое, устанавливаем ответ 200, заголовок, что это html, собственно тело и все

Функция Ответ_Задача( Знач пЗадача )
	
	Попытка
		
		таблДок = Новый ТабличныйДокумент;
		Справочники._Задачи.Печать( таблДок, пЗадача );
		
	Исключение
		
		Возврат Ответ_НеверныйЗапрос( ИнформацияОбОшибке() );
		
	КонецПопытки;
	
	текстHTML = ПолучитьТекстHTMLПоТабличномуДокументу(таблДок);
	
	СсылкаНаЗадачу = "<a href=" + Константы._АдресПубликацииИнформационнойБазы.Получить() + "#" + ПолучитьНавигационнуюСсылку(пЗадача) + ">Перейти в 1С</a>";
	
	текстHTML = стрЗаменить( текстHTML, "</body></html>", СсылкаНаЗадачу + "</body></html>" );
	
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
	Ответ.УстановитьТелоИзСтроки( текстHTML );
	
	Возврат Ответ;
	
КонецФункции

Публикация http-сервиса

Как настраивать апач, включать отладку, пробрасывать в интернет итп я рассказывать не буду. У меня как то уже все работает, а статей по этой теме уже много. Так что все просто, идем в публикацию, публикуем только эти сервисы, ребутаем апач и проверяем. Главное, чтобы имена совпадали у публикации и у адреса, что мы уже в БитБакете ввели (можно конечно в БитБакете заменить ссылку). 

Всю радость от заработавшего http-сервиса портит тот момент, что приходится вводить параметры аутентификации

Тут я так же поступил по ленивому и радикально. Идем в папку с публикацией, у меня это c:\WWW\Tracker\ , я ее еще стрелочкой выше отметил. Открываем единственный там файл default.vrd в блокноте, добавляем в строчку ib= логин и пароль пользователя, под которым будем открывать задачи. Например, я добавил пользователя WEB с паролем WEB и эта строчка стала выглядеть вот так

ib="File=&quot;G:\Bases\TasksInfostart&quot;;usr=&quot;WEB&quot;;pwd=&quot;WEB8&quot;"

На всякий ребутнем апач.

Внимание! Если использовать этот способ, то вся публикация будет открываться под этим пользователем. То есть если еще опубликован веб-интерфейс, то он так же молча будет открываться под WEB. Для более тонкой настройки можно этот финт сделать отдельно для точки подключения, приводить этот способ здесь я конечно не буду.

ИТОГ

После всех доработок результат выглядит так:

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

REGEDIT4

[HKEY_CLASSES_ROOT\e1c]
@="URL:e1c Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\""

[HKEY_CLASSES_ROOT\e1c\shell]

[HKEY_CLASSES_ROOT\e1c\shell\open]

[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" /url \"%1\""

Сохраняем как "e1creg.reg" и запускаем под админом.

PPS Эта конфигурация так же доступна на https://github.com/Stepa86/1C-Tasks-for-web

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

Наименование Файл Версия Размер
Конфигурация пример

.cf 28,32Kb
09.02.17
5
.cf 28,32Kb 5 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Fragster 1028 09.02.17 11:31 Сейчас в теме
Сумки вместо багов :)
GreenDragon; CyberCerber; Stepa86; +3 Ответить
2. Stepa86 1383 09.02.17 11:35 Сейчас в теме
(1) Знал бы английский, не занимался бы 1Сом. Читать как "Мешочек багов"
KapasMordorov; TreeDogNight; madonov; CyberCerber; Soloist; pallid; Fragster; +7 Ответить
6. Fragster 1028 09.02.17 15:54 Сейчас в теме
(2) Это заблуждение. Хорошо там, где нас нет.
grumagargler; +1 Ответить
9. Stepa86 1383 09.02.17 16:51 Сейчас в теме
(6) Когда я был студентом я пошел устраиваться программистов на плюсах и завалил собеседование из-за английского, а потом пошел на собеседование во франч, куда меня и взяли
10. Fragster 1028 09.02.17 16:54 Сейчас в теме
(9) я студентом вообще сторожем работал.
3. pallid 09.02.17 11:47 Сейчас в теме
!!!Не выкладывайте в публичные репозитарии код типовых. Лицензионная политика 1С по отношению к коду БСП и типовых еще не утверждена и неизвестна. Так что это может быть противозаконно!!!

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


Так может выложить свою на гитхаб или бакет
4. Stepa86 1383 09.02.17 13:02 Сейчас в теме
5. speshuric 1183 09.02.17 14:22 Сейчас в теме
Решение интересное, но не проще ли было поднять свой гитлаб? Бесплатно. Нет ограничений на размер и количество пользователей. Захостить можно почти где угодно. Ставится за несколько минут. API, трекер, CI (правда очень "самобытный"), wiki, интеграция с LDAP.
7. Stepa86 1383 09.02.17 16:13 Сейчас в теме
(5) У меня есть репо на битбакете и у меня есть система учета задач на 1Ске, я предложил их немного сынтегрировать, причем публикация полезна как для пользователей битбакета, так и для тех, кто хочет светить из 1Ски что-то небольшое. А вы мне предлагаете тупо поставить гитлаб?
8. Stepa86 1383 09.02.17 16:33 Сейчас в теме
(5) гитлаб может и крутая штука, собственно одна из причин написания мной статей - узнать, а как на самом деле нужно было делать, но 1) я не очень умею разворачивать различные серверные штуки, особенно которые под юникс должны идти, особенно не имея компов под никсами и даже хоть какого то опыта работы с ними 2) Как все уже заметили, я не очень в английский, поэтому доки почитать не справляюсь 3) трекер (уже есть), CI (еще эксперементирую с применимостью и нанесением пользы), wiki (уже есть) и LDAP (что это???) новые как то и не особо нужны. Вот сервис по кодревью нужен, а я его у гитлаба не увидел.

Если у вас есть материалы и ссылки по гитлабу в связке с 1С или хотя бы на русском - сообщество вам только спасибо скажет.
11. speshuric 1183 09.02.17 21:34 Сейчас в теме
(8) Ни в коем случае не подумайте, что мне что-то в вашем решении не понравилось. Нормальное решение, хорошо оформленная статья.
Просто немного удивило, что с вашими требованиями (закрытые бесплатные репозитарии, хотите больших объёмов) вы остановились BB.

Лично мне gitlab нравится гораздо больше.
1. Устанавливается реально просто.
2. Активно развивается (как обратная сторона - есть куда развиваться). За прошедший год авторы столько всего сделали, что я даже удивляюсь.
3. LDAP - это в первую очередь возможность подтянуть пользователей из active directory.
4. Сервис по code review - это же обычные мерж реквесты. Они там примерно аналог PR в bitbucket и github.
5. С продуктами atlassian интеграция, конечно, хуже чем в BB, но уж ссылки на тикеты подсвечивает.
6. Главное преимущество в том, что из альтернатив - единственный продукт, который можно установить локально абсолютно бесплатно и без ограничения по пользователям и с достаточным для комфортной работы функционалом. На моей нынешней работе есть куча ограничений по доступу к BB, потому что не куплено достаточно лицензий (аналитикам и другим "неразработчикам" не дают доступ).

На самом деле между gitlab/bitbucket/github примерный паритет по фичам и они очень похожи. У каждого из них есть свои фишки, но в целом для разработчика на 90% всё равно каким из них пользоваться. Чуть-чуть в стороне стоит upsource - он не выигрывает и не проигрывает, но заметно другой.
SerebanSK; JohnyDeath; Stepa86; +3 Ответить
12. pumbaE 639 09.02.17 23:38 Сейчас в теме
(11) к слову, адинєсники у себя внутри вроде stash используют.
13. speshuric 1183 10.02.17 10:04 Сейчас в теме
(12) Каждый из перечисленных чем-то хорош. BB очень даже интересен, когда есть hg-шники или когда весь остальной стек atlassian куплен (какими же дешёвыми кажутся лицензии 1С по сравнению с набором jira+conf+bitbucket, с учетом того что каждый год надо платить по половине начальной стоимости!).
Более того, git вполне позволяет в одной организации держать несколько разных source control серверов. Просто те, кого не устраивает общий продукт, настраивают зеркальный push со своей песочницы - так как минимум история коммитов сохраняется.
20. SerebanSK 26 18.04.17 10:00 Сейчас в теме
(11) Подняли сервер gitlab (community edition - бесплатный). Не найду как добавить ссылки в задачи способом, аналогичным описанному в текущей публикации.
У нас похожая ситуация: есть самописная система учета задач и в комментарии коммита в gitlab нужно видеть ссылку на задачу из нашей системы формата https://host/tasks/152187, где 152187 номер задачи. Сейчас мы можем при помещении изменений в хранилище указывать номер задачи из нашей системы в соответствии с некой маской, по которой потом будет происходить привязка ссылок (а точнее мы уже несколько лет указывали эти номера задач для всех помещений в хранилище, когда у нас еще не было git и соответственно мы и не думали сделать кликабельные ссылки).
Не найдя в gitlab настройки ссылок аналгичной bitbucket.org, решил при выгрузке истории хранилища в git добавлять в комментарий полную ссылку на задачу из нашей системы (доработав Гиттер - спасибо автору за полезную разработку). Но тогда адрес системы учета задач будет прописан в явном виде в каждом комментарии коммита и будет проблематично изменить адрес хоста при переносе системы учета задач на другой сервер.
Нагуглить решение данной проблемы средствами gitlab не получилось.
Может кто подскажет, умеет ли gitlab делать подобные ссылки?
21. Stepa86 1383 18.04.17 10:15 Сейчас в теме
(20) Проект -> Настройки -> Интеграция. Там внизу искать сервис "custom issue tracker". В ней заполняем примерно так, как приложено в файле. И ставим галку "Active". После этого все указания ссылок типа #123 будут заменены ссылкой https://localhost/Tracker/hs/Tasks/123 . Как подменять произвольный шаблон на ссылку - не нашел.
Прикрепленные файлы:
SerebanSK; +1 Ответить
18. sashocq 191 06.04.17 12:30 Сейчас в теме
(8) Я тоже начинал с bitbucket, но очень напрягало отсутствие подсветки синтаксиса 1С. Как увидел gitlab - перескочил на него. Собственно, на gitlab.com бесплатно работает с приватными репозиториями и ограничение по размеру там, вроде как, больше. Сейчас все задачи веду в нём.

я не очень умею разворачивать различные серверные штуки, особенно которые под юникс
я тоже, поэтому сейчас прохожу разработку по пром стандартам 2, там как раз это всё разжёвывается. Ещё можете успеть на текущий поезд.
19. Stepa86 1383 06.04.17 13:00 Сейчас в теме
(18) Я уже полностью перешел на гитлаб, там ограничение на репо 10гиг и нет ограничений на команду. Курсы мне не интересны.
14. yur4ik9408 34 16.02.17 10:50 Сейчас в теме
По поводу бесплатных альтернатив, которые можно развернуть локально, советую попробовать https://gogs.io/
Мы у себя пытались работать с гитлаб, но, с учетом его нехилых минимальных системных требований и скорости работы, как-то не пошло.
Потом, чисто случайно, наткнулись на вот эту радость. В связке с Redmine работает на ура.
22. paybaseme 21 05.12.18 13:01 Сейчас в теме
(14)
Еще используете? Как отзывы - не поменялись?
15. rus128 2 22.02.17 11:59 Сейчас в теме
Все хорошо и красиво.
Смущают только опечатки ("хочетЬся" - 2 раза, и "натренЕровался") :-)
16. grumagargler 668 05.04.17 21:21 Сейчас в теме
Вопрос немного в сторону. Поделитесь вашим опытом, насколько в итоге эффективно и всерьёз стало проводить код-ревью в условиях, когда не видно сопутствующих изменений, в частности, форм, планов-обмена прав и прочего? Тут я хотел акцентировать внимание не на самой необходимости анализа кода, а на том, насколько это удобно и эффективно делать при помощи гитов в связке с моделью приложения платформы 1С.
17. Stepa86 1383 06.04.17 08:52 Сейчас в теме
(16) Удобнее и эффективнее стало раз в 100. Если раньше нужно было специально разворачивать сравнение версий или садится читать отдельный блок с выпиской в отдельное место комментариев с какой нить хитрой привязкой к строчкам кода, то теперь это делается легко и удобно из интерфейса битбакета, гитлаба или гитхаба. И это мы еще на пул и мерджреквесты не перешли.
Оставьте свое сообщение

См. также

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

Консоль запросов v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

14.08.2018    91629    2332    Evg-Lylyk    671    

Вам нравятся запросы в 1С?

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

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

1 стартмани

03.07.2019    20556    4    m-rv    86    

Модель объекта

Инструментарий разработчика v8 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    12638    0    vadim1980    5    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    44854    252    informa1555    232    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

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

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

2 стартмани

06.10.2014    151743    2003    ekaruk    165    

Навигатор по конфигурации базы 1С 8.3

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

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.69 от 27.09.2020

3 стартмани

28.10.2018    34256    307    ROL32    69    

Работа с публикациями "Инфостарт"

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

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    21743    13    RocKeR_13    16    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

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

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    28142    26    informa1555    26    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

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

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

1 стартмани

17.08.2015    47262    156    ekaruk    32    

Работа с данными выбора

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

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

1 стартмани

17.07.2018    47499    17    kalyaka    16    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар")

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

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    30451    86    m-rv    57    

Регистры правил [Расширение]

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

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

10 стартмани

15.03.2018    17960    10    33lab    1    

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

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    78104    212    moolex    147    

Заполняем по шаблону (по умолчанию)

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

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

1 стартмани

08.02.2018    28291    19    mvxyz    17    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

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

1 стартмани

06.12.2017    27057    53    kwazi    6    

Программное формирование форматированной строки в стиле html+inline CSS

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

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

1 стартмани

18.11.2017    32176    35    bonv    10    

Консоль запросов + ТЗ как параметры Промо

Консоль запросов v8 1cv8.cf Украина Абонемент ($m)

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

2 стартмани

12.11.2010    35718    62    Kashemir    24    

Расширения конфигураций 1С: учимся перехватывать методы

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

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

1 стартмани

30.05.2017    129510    13    signum2009    48    

Набор подсистем "Умные таблицы"

Инструментарий разработчика v8 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    33173    96    Silenser    34    

Конструктор-тестер http запросов в 1С

WEB Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    42439    297    hlopik    17    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    53404    213    GusevNA    76    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут

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

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    48158    36    Demanoidos    60    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен)

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    33772    19    c1nil    4    

Навигатор по структуре и данным баз 1С 8

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Просмотр структуры и данных информационных баз 1С:Предприятие 8.2, 8.3. Состав, типы объектов, табличных частей, движений. Размер, структура хранения объекта. Для администраторов и разработчиков. Версия 1 - на обычных формах, версия 2 - на управляемых.

1 стартмани

11.07.2016    29070    128    o.nikolaev    17    

Разбираемся со структурой правил конвертации данных Промо

Инструментарий разработчика v8 КД Абонемент ($m)

При переносе данных между различающимися данными частенько приходится смотреть в правила. И часто, чтобы выяснить, к примеру, каким документом формируются остатки по конкретному ПВД, нужно заглядывать в него и искать, какое ПКО в нем вызывается. А может вызываться и алгоритм, в котором вызывается ПКО ;-) А если правил много? Чтобы не мучить себя утомительными поисками, предлагаю воспользоваться этой обработкой.

1 стартмани

14.10.2011    22705    29    Meta    17    

Хранение файлов в томах на диске (для УПП 1.3)

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

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    57417    10    wowik    32    

Остатки на каждый день в запросе

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

Запрос формирует остатки товаров на каждый день в пределах выбранного периода.

1 стартмани

26.04.2016    58586    19    arakelyan    18    

Консоль запросов "Запросник" для управляемых форм с подсветкой синтаксиса

Консоль запросов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.04.2016    37785    256    1С_Мастер    42    

Выполнение JavaScript кода из 1С в объекте Поле HTML Документа (HTML 5) и вызов события в 1С ПриНажатии

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

Пример выполнения JS кода из 1С в Поле HTML Документа под управляемыми формами, с удобным получением результата в 1С(С помощью вызова привязанного события ПриНажатии к элементу ПолеHTMLДокумента)

1 стартмани

22.03.2016    81059    158    igo1    54    

Количество дней недели (понедельников/вторников/...) в заданном диапазоне одним запросом

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

При реализации периодического авто-заполнения маршрутных листов по графику (недельному) необходимо было просчитать стоимость всего периода, с условием выездов только по определенным дням. Заморачиваться с обходом результата не хотелось. Пришлось написать "Небольшой" запрос.

1 стартмани

03.03.2016    18277    1    Alexander.Shvets    5    

Простые радости жизни программиста 1С: выбор типа значения

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

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

1 стартмани

17.02.2016    49934    50    yuraos    17    

Яндекс.Деньги "Благотворительность"

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

Яндекс.Деньги теперь в 1С. Форма для приема благотворительных взносов. Форму легко сделать и вставить на любую страницу сайта или блога. Платежи будут приходить на ваш кошелек. На форме есть три способа платежа: из кошелька, с банковской карты, с баланса мобильного.

1 стартмани

16.02.2016    23294    8    Tatitutu    5    

Мастер рассылки e-mail 2.2 для управляемых форм

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

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

1 стартмани

29.12.2015    37050    20    milkers    4    

Нечеткий поиск одним запросом

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

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

1 стартмани

28.12.2015    27763    70    vasvl123    9    

Передача больших пакетов через веб-сервисы

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

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

1 стартмани

06.12.2015    56894    48    YPermitin    19    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена)

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

Вы внедряете обмен данными между двумя типовыми или основанными на типовых БД и вам необходим инструмент, чтобы сопоставить между собой справочники этих конфигураций? Вы хотите навести порядок в обмене данными, потому что вам надоело вылавливать дублирующиеся объекты? Вам очень хочется перепоручить сопоставление объектов обменивающихся баз пользователям, но нет подходящего и понятного пользователям интерфейса? Тогда вам нужна именно эта обработка!

4 стартмани

11.11.2015    39775    135    catsam    8    

Exec - Выполнение кода, консоль запросов и не только!

Консоль запросов v8 1cv8.cf Абонемент ($m)

Незаменимый инструмент администратора БД и программиста: Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме "ОбменДанными.Загрузка = Истина"; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

10.11.2015    41121    75    catsam    11    

Быстрое определение интервалов в запросе

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

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    51528    35    ildarovich    41    

Полезные приемы при работе с Excel из 1С (Версия 3.1)

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

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    200007    444    Zerocl    70    

Code First и Linq to EF на примере 1С версии 7.7 и 8.3 часть I

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

Данный проект является чисто исследовательским примером использования Code First и Linq to EF на примере 1С версии 7.7. Так как сам я программист 1С, то мне всегда было интересно, как можно перенести модель объектов 1С на компилируемые языки, и использовать мощь Linq to EF. С появлением Code First давно хотел прикрутить, но все как-то руки не доходили, и вот, наконец ..

1 стартмани

28.08.2015    22861    3    Serginio    2    

Работа с push сервисами только средствами 1С 8.2

Сервисные утилиты Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

Обработка для настройки, тестирования и использования с предустановками для 3-х сервисов. Текст модуля для внедрения в конфигурацию или другие обработки. Уведомления на телефон, компьютер, браузер.

1 стартмани

18.08.2015    30915    43    anig99    1    

Универсальная учетная система с конструктором документов и справочников в режиме 1С: Предприятие

Инструментарий разработчика Практика программирования v8 1cv8.cf УУ Абонемент ($m)

Заголовок статьи звучит фантастично, но это не шутка. Занимаясь внедрениями, я часто сталкивался с ситуацией, когда надо было к типовой конфе приделать простенький модуль учета чего-нибудь, не специфичного для самой конфы. Например в УТ учет материалов в эксплуатации. Модуль обычно состоял из пары справочников (2-3), 3-х документов и регистра или пары регистров. Однажды подобные пристройки понадобились одновременно на 3 проектах. Скучно делать одинаковую работу, и я подумал, а что, если сделать универсальный инструмент, в котором пользователь сам сможет нарисовать себе справочники, реквизиты к ним, документы и движения. Т.е. конструктор полноценных документов в пользовательском режиме. Это оказалось не так сложно - все дело в подходящей архитектуре данных.

1 стартмани

29.07.2015    31787    88    informa1555    41    

Конвертация данных. Найдется все! И еще немного...

Поиск данных Инструментарий разработчика v8 КД Абонемент ($m)

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

2 стартмани

25.06.2015    28391    32    tomvlad    7    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7

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

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    28167    3    Serginio    1    

И снова "Как сжать картинки для экспорта в EXCEL?" или Умная картинка 8.2

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

Прошла уже эпоха , когда экономили на трафике интернета. Но все же...повторюсь. Я предлагаю совершенно новый способ сжатия картинки - эффект в 20 раз !!!

1 стартмани

17.06.2015    30312    43    Tatitutu    10