Включаем звук в 1С. Доступно и всерьез.

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

Разработка - Математика и алгоритмы

звук audio sound

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

 

 Доброго времени суток в 2015 году!

1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию. Например в //infostart.ru/public/85155/используется DynamicWrapperX и следующий код:

Попытка
  DynamicWrapper =Новый COMОбъект("DynamicWrapperX"); 
Исключение
  Объект=ПолучитьМакет("dynwrapx");
  Объект.Записать(КаталогВременныхФайлов() +"dynwrapx.dll");
  КомандаСистемы("regsvr32 dynwrapx.dll",КаталогВременныхФайлов() );
  Предупреждение("Поздравляю теперь и тебя появился звук в 1С"+ Символы.ПС +"Запустите обработку заново", 5);
  Закрыть();
КонецПопытки; 	                                               
DynamicWrapper.Register("winmm.dll", "sndPlaySoundA", "i=su");

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

2. Поэтому, вооружившись только средствами интернета, будем воспроизводить звуки в 1С. Начнем работать с тэгом audio в html5 http://w3schools.com/html/html5_audio.asp. В интернете у всех уже имеются современные браузеры, и все прекрасно работает. Но мы же будем звучать из 1С. Значит первое что нам надо - это воспроизвести звук в тонком клиенте. Так как поле HTML в 1С работает в режиме совместимости IE7, то мы воспользуемся старый тэгом для IE bgsound. Мы можем хранить звук в виде макетов двоичных данных. И использовать их внутри HTML поля:

//Код для 1С

Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
АдресЗвука = ПоместитьВоВременноеХранилище(Данные);
url = '"+АдресЗвука+"' 
/* страница HTML */
BGSOUND id='sound_think' balance=0 volume='-5000'
/* И добавить скрипт в страницу */
document.all.sound_think.volume=0;
document.all.sound_think.src = url;


Проверяем работу в тонком и толстом клиенте.
- Windows 7 IE11 (компьютер)
- Windows Vista IE7 (VirtualBox)
- Windows XP IE8 (VirtualBox)
(Проверка на виратуальной машине VirtualBox со звуком, картинки прилагаются, спасибо Microsoft http://loc.modern.ie/ru/virtualization-tools#downloads)

Для понятности сделаем простую внешную обработку для вывод звука(см. ниже). Работает в тонком и толстом клиенте.

Но интересной особенностью этого метода, является то что IE и соответственно 1С не воспроизводит wav файлы, а mp3 легко. Вот вам и собственный формат (http://w3schools.com/html/html5_audio.asp)

 

3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так сделать звук в тонком клиенте не удалось. Но мы используем другой метод, не столь распостраненный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем (тип данных data:audio/mpeg;base64)

Дополнительная обработка -  бухгалтерские счеты //infostart.ru/public/85155/ Уж больно они мне понравились. Там полностью делаем для всех видов клиентов 1С.

Попробовать их в интернете - пожалуйста http://jsfiddle.net/sikuda/eY8Ba/

 

Р.S.

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

И самое главное не забудьте включить звук в Internet Explorer!

Свойство обозревателя - Дополнительно - Мультимедиа - Воспроизводить звуки на вэб-страницах.

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

Наименование Файл Версия Размер
Простой вывод звука

.epf 39,25Kb
28.04.17
188
.epf 39,25Kb 188 Скачать
Счеты для 1С

.epf 55,50Kb
28.04.17
82
.epf 55,50Kb 82 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Franco 76 31.12.13 10:32 Сейчас в теме
...Надо превратить звук в текст
в Base64, наверное?
3. sikuda 639 31.12.13 11:44 Сейчас в теме
(1) Ну да.
(2) Какой у Вас IE? Здесь работает http://jsfiddle.net/sikuda/gvGY9/ ?
11. postovalov 179 14.01.14 10:53 Сейчас в теме
(3)

IE 9. Проблема была связана с тем, что в свойствах IE был отключено воспроизведение звука.
2. postovalov 179 31.12.13 11:03 Сейчас в теме
Скачал, запустил. Звука нет :(
В чем может быть проблема? - ОС Win Vista
4. DenisKin 20 01.01.14 14:17 Сейчас в теме
Скачал, запустил, все зависло и вылетело ?!
5. sikuda 639 03.01.14 15:11 Сейчас в теме
(4) DenisKin,
Проверил на Windows 7 IE11(реал), Windows 8.1 IE11, Windows Vista IE7, Windows XP IE8(три VirtualBox) если приведете параметры вашей системы - проверю.
6. DenisKin 20 03.01.14 20:58 Сейчас в теме
7. sikuda 639 04.01.14 08:31 Сейчас в теме
(6) DenisKin, Моя основная машина на работе и стационарник дома отлично работают. Не лазили в реестр для улучшения 1С?
15. 2vadmaster 40 21.01.14 15:34 Сейчас в теме
(5) Да работает не плохо - но не стабильно - кликаю много и в какой то момент вылетает 1С с ошибкой ядра. Как сделать плей-лист из звуков?
16. sikuda 639 21.01.14 16:12 Сейчас в теме
(15) 2vadmaster,
Давайте по серьезному, версия Windows, IE, 1C, клиента 1С, обработка "Доступно и всерьез" или Счеты.
Пока не встречал вылетов, кроме компьютеров в которых залезли в реестр доброжелатели.
Если все приведете смогу проверить на виртуальной машине.
22. AlexanderKai 27.02.15 13:10 Сейчас в теме
(15) 2vadmaster,
Предприятие под отладкой из конфигуратора?
Сейчас внедряю DynamicWrapperX в своем проекте и методом плясок с бубном обнаружил, что если запускать обработку без отладки, то все просто идеально. Если из-под отладчика, то получаем постоянные вылеты 1С (в ntdll.dll). Причем вылетает как захочет, а может и не вылететь.
23. sikuda 639 27.02.15 16:41 Сейчас в теме
(15) 2vadmaster, Исправил ошибку повторного нажатия кнопки в толстом клиенте. Проверил в новой версии 1С 8.3.6.
9. haggart 13.01.14 15:25 Сейчас в теме
Я не пойму где это применить? Это стартовая площадка для 1Сников которые решат писать игрушки на 1С?
10. sikuda 639 13.01.14 17:12 Сейчас в теме
(9) Скорее для звукового сопровождения процесса. Справку или демо пример по программе можно начитать. И пользователь будет сидеть и слушать.
12. cool.vlad4 45 14.01.14 11:35 Сейчас в теме
(10) а какой в этом смысл? эти игрушки и без 1С работают.
13. Gendalf_beliy 14.01.14 11:49 Сейчас в теме
(12) cool.vlad4, ну мало ли. Может у людей на работе в браузере ограничения на некоторые сайты, хотя не уверен точно, не сработают ли эти ограничения в 1с, смотря как их настроили.
14. sikuda 639 15.01.14 14:52 Сейчас в теме
(13) Gendalf_beliy, Если все скрипты перенести в обработку 1С(моя со счетами), то и интернет не нужен.
17. tr75 24.05.14 06:08 Сейчас в теме
Наверно для игр было бы полезно.
18. yura1960 22.06.14 13:05 Сейчас в теме
Ну уж нет. Чтобы я своим юзверям это поставил... Они и так любят радио через Инет слушать. Еще им озвучку ставить...
19. Serge_ASB 25.10.14 11:58 Сейчас в теме
при выполнении ругается на :
{Документ.ВводОстатков.Форма.ФормаДокумента.Форма(175)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
по причине:
Недопустимое значение параметра (параметр номер '1')

И я бы тоже не понял, чего он меня хотят. Где взять (как сделать) этот макет?
20. sikuda 639 06.11.14 09:46 Сейчас в теме
(19) Serge_ASB, Сам скачал обработку с Инфостарта. Проверил в УФ и обячных формах 1С 8.3.5.1186. Все работает. Бинарный макет "sound_ball" в обработке есть. Проверьте что за Документ.ВводОстатков?
И самое главное не забудьте включить звук в Internet Explorer!
21. Serge_ASB 12.11.14 12:49 Сейчас в теме
Решил другим способом:
oVoice = Новый COMObject("SAPI.SpVoice");

oSpFileStream = Новый COMObject("SAPI.SpFileStream");
oSpFileStream.Open(Файл);
oVoice.SpeakStream(oSpFileStream);
oSpFileStream.Close();	
Но - звук есть под "обычной" Виндой - Win 7 или Win 8. А будучи запущенной из-под серверной (когда на сервере стоит SQL и база крутится там) - ругается на
oSpFileStream = Новый COMObject("SAPI.SpFileStream");
anton.fly7; +1 Ответить
24. pri_hod 77 14.03.15 16:06 Сейчас в теме
Тонкий клиент, база на веб сервере, не работает звук. Если через браузер то работает... Как заставить работать в тонком клиенте? 1С:Предприятие 8.3 (8.3.5.1119)
25. sikuda 639 14.03.15 20:51 Сейчас в теме
(24) pri_hod, Честно говоря звук для web-клиенте доделан только в счетах(вторая обработка). Работает даже для Linux клиента(Звук работает, градиент цвета нет). Проверяли именно счеты?
26. InformStandart 5 27.04.17 17:57 Сейчас в теме
Не работает звук под вэб клиентом; подскажите возможные варианты что делать, звук в браузерах включен
27. sikuda 639 28.04.17 10:51 Сейчас в теме
(26) В вэб-клиенте вывод звука происходит совершенно по другому. Галочка в IE там не важна. Только в вэб работает вторая обработка со счетами. Проверил сейчас IE 11 (Режим документов Edge).
28. sikuda 639 28.04.17 10:56 Сейчас в теме
29. unknown181538 33 25.06.20 18:19 Сейчас в теме
IE 11. Не воспроизвелся звук на разных машинах.
То, что "в интернете" пишет, что не поддерживается
30. sikuda 639 26.06.20 11:15 Сейчас в теме

Флажок стоит? А то все забывают.
31. unknown181538 33 28.06.20 02:27 Сейчас в теме
32. sikuda 639 03.07.20 10:56 Сейчас в теме
(31) Да стоит переписать обработочку... Потестируйте - https://yadi.sk/d/Tv5LovYRyMWt-w
unknown181538; +1 Ответить
33. unknown181538 33 03.07.20 17:13 Сейчас в теме
(32) К сожалению, на рабочем сервере не могу полноценно тестануть. Но на локальной машинке с IE 11 заработало! Классно бы, если бы еще ползунок получилось сделать.
34. sikuda 639 04.07.20 15:04 Сейчас в теме
(33) Да в стандартном варианте вообще черный квадрат на элементами управления. И не воспроизводит второй раз.
Первое еще можно преодолеть установив внешний плеер, а с глюками второго воспроизведения вообще непонятно как бороться.
https://yadi.sk/d/QX7PijeBRZzqJQ
unknown181538; +1 Ответить
35. unknown181538 33 04.07.20 18:42 Сейчас в теме
36. sikuda 639 05.07.20 18:26 Сейчас в теме
(35) И если нажать на внутренний play он воспроизводит?
38. unknown181538 33 08.07.20 09:26 Сейчас в теме
(36) ну да, если я правильно понял вопрос
37. sikuda 639 07.07.20 09:14 Сейчас в теме
Сделал работающим, пришлось все переписать https://infostart.ru/public/1259789/
Если есть вопросы - пишите.
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

17.08.2015    47243    156    ekaruk    32    

Парсинг Excel-файла

Загрузка и выгрузка в Excel Универсальные функции v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Шаблон внешней обработки для парсинга Excel без использования COM-объектов, с учетом клиент-серверного взаимодействия, на толстом, тонком и веб-клиенте. С учетом требований безопасности и отображением длительных операций.

1 стартмани

15.09.2020    2511    11    LamerSoft    0    

Нормализация адреса с помощью API Почты России

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

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

2 стартмани

11.08.2020    2418    5    Cerberdm    4    

Выполнение кода и получение данных запросов через HTTP сервис

Обмен данными 1С Универсальные функции Расширения v8 1cv8.cf Абонемент ($m)

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

2 стартмани

19.07.2020    2433    3    vladnet    7    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

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

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    40382    24    Tatitutu    45    

Воспроизведение звука в 1С. Доступно и всерьез. 8.3.14

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

Продолжение статьи https://infostart.ru/public/248770/

1 стартмани

07.07.2020    2337    8    sikuda    9    

Универсальное хранилище настроек

Универсальные функции v8 Абонемент ($m)

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без "ломания" выполнения кода в модулях.

1 стартмани

10.03.2020    5484    1    v.krivenko    17    

Шаблоны внешних обработок (БСП, управляемые формы)

Обработки Печать Универсальные функции БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Набор из шаблонов для создания внешних обработок вида: Внешняя печатная форма, Отчет на СКД, Схема СКД для сегмента, Внешняя обработка (Самостоятельная, Заполнение объектов, Создание связанных объектов). Предварительно наполнены базовым функционалом и некоторыми механизмами для отладки.

1 стартмани

01.03.2020    3648    26    riposte    2    

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом Промо

Печатные формы документов Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    24509    17    stvorl    0    

Treemapping. Демонстрационная обработка

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

Пример реализации диаграммы вида Treemap на 1С

1 стартмани

27.02.2020    3059    9    randomus    4    

Выгрузка любого запроса или таблицы значений в текст JSON, разбор JSON в таблицу

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

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

1 стартмани

07.02.2020    9200    36    user796054    23    

Подпись PDF в новой версии 8.3.16

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

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

1 стартмани

23.12.2019    5239    13    kolya_tlt    8    

Определение кратчайших путей, критических путей одним запросом Промо

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    37650    22    ildarovich    31    

Простой способ загрузить файл Excel на тонком клиенте.

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

Самый простой способ загрузить файл Excel на тонком клиенте - это скопировать лист Excel в "табличный документ" на форме обработки и обрабатывать уже поля "табличного документа".

1 стартмани

30.10.2019    8020    2    John_d    16    

Картинка вместо кнопки без html

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

Вариант замены стандартных кнопок на форме для тех, кого не устраивают кнопки 1С и нет особых возможностей делать все с использованием html. Тестировал работу на платформах 8.3.10, 8.3.13, 8.3.14

1 стартмани

23.10.2019    5830    4    zatoichi    3    

Вывод QR-кода типовыми средствами.

Универсальные печатные формы Сканер штрих-кода Универсальные функции v8 КА1 УТ10 УПП1 Абонемент ($m)

Вывод QR-кода типовыми средствами. На данный момент очень часто нужно вывести в печатную форму QR-код. Показываю как на примере типового кода из УТ11 это сделать. Можно использовать в любых конфигурациях с обычными формами.

1 стартмани

21.10.2019    17952    31    Емельянов Алексей    47    

Лучшие методы сравнения таблиц значений Промо

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

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

1 стартмани

02.02.2015    109791    39    ildarovich    59    

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы)

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

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    11688    54    dm1try    0    

Универсальное удаление движений регистров накопления по всем непроведенным документам

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

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

1 стартмани

27.09.2019    9467    14    John_d    16    

Рекомендательный сервис на основе коллаборативной фильтрации на 1С. Расширение формы подбора для УТ 11.4

Оптовая торговля Розничная торговля Практика программирования Математика и алгоритмы v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

В данной разработке реализован механизм рекомендаций товаров по принципу схожести товаров в корзине на основе алгоритма Item-to-Item от Amazon. Разобран алгоритм с демо базой и сделано расширение для УТ11.4 которое добавляет в форму подбора таблицу рекомендаций. Протестировано на 8.3.13.1865 на Управление торговлей, редакция 11 (11.4.8.63)

3 стартмани

25.09.2019    10283    12    informa1555    24    

Полная методичка к курсу "Программирование 8.2" Промо

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

580 страниц знаний! Публикую методичку, а точнее стенограмму курса по подготовке программистов 8.2.

10 стартмани

09.01.2014    52367    110    GROOVY    100    

Конвейер проверки качества кода

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

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    24616    22    Stepa86    45    

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API

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

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    8267    11    osivv    14    

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

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

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    9667    22    SanchoD    29    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API) Промо

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

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    48182    173    TuneSoft    30    

Алгоритмы и регламентные задания (расширение)

Математика и алгоритмы Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальный механизм для создания алгоритмов и регламентных задач.

5 стартмани

28.05.2018    11738    7    pm74    39    

Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

Внешние источники данных Универсальные функции v8 1cv8.cf Абонемент ($m)

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

1 стартмани

26.02.2018    11750    21    yaxinr    4    

Простые подсистемы: Библиотека подсистем

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

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

1 стартмани

26.10.2017    11423    9    pbabincev    1    

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

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

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

1 стартмани

25.06.2015    28148    3    Serginio    1    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

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

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    25855    184    Bassgood    10    

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

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

Передаем в процедуру всего два параметра: откуда взять и куда положить. Остальное она сделает сама

1 стартмани

17.05.2017    16897    12    json    3    

Правильный вопрос

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

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    11697    0    SvoyakMartin    15    

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

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

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    20257    0    SeiOkami    3    

Web сервис 1С

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

Пример реализации простого web сервиса. Особенность: не используются XDTO пакеты, определяемые в дереве конфигураций; возможность передачи любых структур данных: списки значений, таблицы значений, табличные документы и т.п.

1 стартмани

21.03.2017    31528    94    hiduk    34    

Набор математических функций

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

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    14501    4    SvoyakMartin    17    

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

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 Абонемент ($m)

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

1 стартмани

05.12.2016    15600    1    zhichkin    24    

Библиотека математических функций 1.1 Промо

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

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

1 стартмани

18.12.2014    25933    11    alex271    67    

1С+Классы. Версия-0

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

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    20581    1    IntelInside    68    

Отладка/доработка модуля менеджера "на лету"

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

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

1 стартмани

23.10.2016    30099    20    json    22    

Автоматическое разбиение строки на подстроки по ширине колонки / ячейки или по количеству символов

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

Длинный адрес контрагента или нестандартная фамилия не входит в одну строку, а РазмещениеТекста = Переносить по какой-либо причине не устраивает? Что можно сделать? Вот пара полезных функций для решения данного вопроса с примерами применения.

1 стартмани

21.10.2016    15950    3    SvoyakMartin    3    

Полезные функции БСП Промо

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

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    64731    26    spec8s    31    

Сверка таблиц при разработке через тестирование

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

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

1 стартмани

09.10.2016    15821    10    json    1    

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы

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

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

1 стартмани

13.09.2016    38692    47    pavley2002    11    

Алгоритм по переносу вложенных запросов в пакеты

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

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

1 стартмани

26.08.2016    10572    16    ostapchenko.alexandr    20    

Регулярные выражения без COM объектов и внешних компонент Промо

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

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

1 стартмани

09.02.2015    24763    8    boogie    38    

7 правил RFC 4180

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

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    18438    22    kuzyara    4    

Объектные блокировки

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

При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.

1 стартмани

17.08.2016    30886    9    Ranis1286    5    

Еще один способ расчета остатков на каждый день в запросе

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

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

1 стартмани

24.04.2016    34524    48    ildarovich    23    

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

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

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

1 стартмани

14.02.2015    104698    98    daMaster    90    

Пример рекурсивной выгрузки иерархической структуры в XDTO

Математика и алгоритмы Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

Решил реализовать иерархию в пакете XDTO и выгрузить ее рекурсивно. Задача оказалась нетривиальной, хотя и весьма простой. Изысканиями решил поделиться с народом, чтобы не пропадало народное добро.

1 стартмани

26.02.2016    33755    16    starik-2005    3    

Консоль и функция рекурсивного запроса

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

Консоль предназначена для отладки и просмотра результатов выполнения РЕКУРСИВНОГО ЗАПРОСА в режиме 1С:Предприятие. В консоли реализована универсальная функция для выполнения рекурсивных запросов.

1 стартмани

10.02.2016    14231    6    sereginseregin    1