Бесплатная отправка сообщений в Whatsapp бот из 1С

Публикация № 1672749 08.06.22

Интеграция - Мессенджеры и боты

Whatsapp ватсап whatsapp-web node npm

Задача: Имеются 200 контрагентов, которым ежедневно нужно из отчета 1С выслать сумму их задолженности или предоплаты в Whatsapp (рассылка должна идти с номера менеджера этих контрагентов).

Первым делом посмотрел публикации на infostart, но в большинстве решений просят денег или платные сервисы или методы подключения к Whatsapp устарели.

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

Вышел на решение whatsapp-web.js (https://www.npmjs.com/package/whatsapp-web.js/v/1.16.4-alpha.0)

Для того, чтобы воспользоватся npm, нужно установить node.js (https://nodejs.org/en/)

Node.js нужно будет установить на всех компьютерах пользователей, которые будут работать с рассылкой (или терминальном сервере).

Далее скачиваю пакет в папку на компьютере

Для этого нужно

  • Открываем cmd 
  • Проверяем, что node.js установлен: node -v
  • Открываем пустую папку в которой и будет наш проект к примеру (D:\Whatsapp)

Набираем команду: npm init (На все вопросы жмем интер)

 

 

 

  • Устанавливаем пакет whatsapp-web.js

npm i whatsapp-web.js

 

 

 

 

  • Создаем в папке файл index.js

 

 

 

  • В файл нужно добавить логику рассылки, к примеру, как в примере на страничке npm whatsapp-web.js
 

 

const { Client,LocalAuth } = require('whatsapp-web.js');

const client = new Client({
    authStrategy: new LocalAuth(),
    puppeteer: { headless: false }
});

client.on('qr', (qr) => {
    // Generate and scan this code with your phone
    console.log('QR RECEIVED', qr);
});

client.on('ready', () => {
    console.log('Client is ready!');
});

client.on('message', msg => {
    if (msg.body == '!ping') {
        msg.reply('pong');
    }
});

client.initialize();

 

 

  • запускаем проект 

node index.js

 

 

 

  • после запуска должна вылезти форма авторизации в Whatsapp 

 

 

 

 

На телефоне открываем Whatsapp (Связанные устройства) и сканируем q-code для авторизации.

 

 

 

 

Пошлем на этот номер команду !ping, то бот нам ответит pong

 

 

 

На этом задача минимум решена. 

У нас запущен бот, который отвечает на сообщения. Мы влияем из файла index.js, что будет отправлено в Whatsapp. 

 

Начинаем решать основную задачу.

Мне рассылку из 1с нужно  делать не с левого номера (бота), а с номера менеджера, чтобы контрагенты не видели разницы между рассылкой и обычными сообщениями менеджера и контрагенты могли отвечать на сообщения.

1. В 1с нужно создать справочник номераWhatsapp или регистр сведений  (измерение контрагент, ресурс номерWhatsapp). или добавить реквизит номерWhatsapp в справочник контрагентов. 

У меня это Справочник "предопределенные константы", в которой есть табличная часть с двумя реквизитами.

2. Рассылку из 1с будут запускать на терминальном сервере все содержимое папки Whatsapp поместим на терминальный сервер в папку (C:\Program Files (x86)\Whatsapp\)

3. Установим node.js на терминальном сервере

 

Создал в 1с обработку 

(Кнопки добавить и записать служат для добавления новых контрагентов с номером)

 

 

 

 

Обработка генерирует строку !комадна для бота и Json.

  • команда !senddebit
  • json массив массивов (номер Whatsapp и сумма):
 

 

[
[79951231212,4445630.5],
[79041231212,-57113968],
[79771231212,-5322.81]
]

 

После нажатия кнопки "Отправить в Whatsapp":

1. Формируются данные для отправки

2. Строка с данными автоматически копируется в буфер обмена

3. Всплывает окно авторизации в Whatsapp (авторизоваться должен пользователь от чего номера будет рассылка).

4. После авторизации пользователь должен вставить текст из буфера обмена в сообщение любому номеру (желательно второму своему, потому что это сообщение мы и будем ловить, обрабатывать и рассылать)

 

Но для того, чтобы index.js обработал новую команду !senddebit, нужно его доработать. 

На этот раз ловим сообщение, которое отправили мы сами (без разницы кому) и которое начинается на !senddebit

Вместо события client.on('message', буду использовать событие client.on('message_create' которое ловит все сообщения, в том числе, которые мы создали сами.

 

 

client.on('message_create', async msg => {
    if (msg.fromMe) {
		if (msg.body.startsWith('!senddebit ')) {
            const messagesJson = msg.body.replace('!senddebit ','')
            const arrMessages = JSON.parse(messagesJson)
            if (Array.isArray(arrMessages)) {
                arrMessages.forEach(async n_m=>{
                    let number = n_m[0]+'';
                    let sum = n_m[1];
                    number = number.includes('@c.us') ? number : `${number}@c.us`;
                    if (number.length==16 && sum!='') {
                        let type = 'задолженность'
                        if (Number(sum)<0) {
                            type = 'предоплата'
                            sum = sum *-1
                        }
                        let message = 
`Добрый день!
Ваша ${type} составляет ${sum}`
                        let chat = await msg.getChat();
                        chat.sendSeen();
                        client.sendMessage(number, message);
                    }
                })
            }
        }
    } 
});

 

В итоге контрагенту приходит сообщение

 

 

 

Если вам понравилась статья, поставьте плюсик, мне будет приятно)

 

Тестировал: 

1С:Комплексная автоматизация 2 (2.4.13.209)

Платформа 1С:Предприятие 8.3 (8.3.19.1467)

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

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

.epf 8,90Kb
21
.epf 8,90Kb 21 Скачать
мой index.js

.js 3,23Kb
19
.js 3,23Kb 19 Скачать

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

Отзывы
39. Alexez 76 14.06.22 13:06 Сейчас в теме
Круто я реализовал отправку через post json {"phone": "11111111", "body": "WhatsApp API работает"}

const { Client,LocalAuth } = require('whatsapp-web.js');
const http = require('http');


const client = new Client({
    authStrategy: new LocalAuth(),
    puppeteer: { headless: false }
});

client.on('qr', (qr) => {
    // Generate and scan this code with your phone
    console.log('QR RECEIVED', qr);
});

client.on('ready', () => {
    console.log('Client is ready!');
});

client.on('message', msg => {
    if (msg.body == '!ping') {
        msg.reply('pong');
    }
      
});


const requestListener = function (req, res) {
  if (req.method == 'POST') {
    
    var body_text = ''
    var number = ''
    req.on('data', function(data) {
        body_text += data
        console.log(body_text)
        const obj = JSON.parse(body_text)
        console.log(obj.phone);
        console.log(obj.body);
        number = obj.phone
        number = number.includes('@c.us') ? number : `${number}@c.us`;
        client.sendMessage(number, obj.body);
    })

    req.on('end', function() {
    res.writeHead(200, {'Content-Type': 'text/html'})
    res.end('ok')
  })


  } else {
    console.log(req.method);
    res.writeHead(200);
    res.end('Hello, World!');
  }

}

const server = http.createServer(requestListener);
server.listen(8080);

client.initialize();
Показать
user1671936; mihuilka; John_d; +3 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. uno-c 211 08.06.22 12:21 Сейчас в теме
Думал, что Вацап в отличие от Телеги и Вайбера, вообще не дают бесплатный интерфейс для подобных вещей.
2. dima1c 36 08.06.22 12:48 Сейчас в теме
(1) так они и не дают, это хак посредством работы через веб форму. по идее если они переделают веб формы то всё слететь может.
adhocprog; CyberCerber; +2 Ответить
16. nomadon 358 08.06.22 16:25 Сейчас в теме
(2) кроме того что не дают, лицензионным соглашением запрещают такие действия
19. Apolonov-Erik 37 08.06.22 21:23 Сейчас в теме
(2)а мне все равно понравилось решение, а так с Вами согласен, как веб морду переделают все перестанет работать
30. John_d 4396 09.06.22 09:16 Сейчас в теме
(19) просто нужно будет загрузить новую версию
npm i whatsapp-web.js
В (13), (17) написали что этот метод у людей работает без проблем несколько лет.
3. frkbvfnjh 720 08.06.22 13:13 Сейчас в теме
Слишком сложно, оно того не стоит, легче заставить пользоваться телегой
simuljakr; kbulygin; progersan; remix950; markers; vano-ekt; CagoBHuK; maksa2005; +8 3 Ответить
4. John_d 4396 08.06.22 13:18 Сейчас в теме
(3) Но контрагентов не заставишь перейти на телеграм. До этого менеджер 200 сообщений вручную набивала скопирует цифру из ексель вставит в ватсап.
nikolasx; JetBrain; ivanov660; +3 Ответить
7. ivanov660 3784 08.06.22 14:55 Сейчас в теме
(3) Бизнес ставит задачи и платит за это деньги.
nikolasx; +1 Ответить
8. vano-ekt 122 08.06.22 15:14 Сейчас в теме
(4) скажите, что пользуясь сабжем, они взаимодействуют с экстремистами, и на них уже пристально смотрят кое-откуда
21 марта 2022 года Тверской суд Москвы признал Meta экстремистской организацией в России
ixijixi; kbulygin; starik-2005; Apolonov-Erik; +4 Ответить
20. unknown181538 111 08.06.22 23:09 Сейчас в теме
(3) Насколько я понял, через телегу рассылку можно делать, только если контрагент подписан на специального бота.
Что не удобно для рассылки по контрагентам.
Я пришел к выводу, что телега подходит только для внутренних рассылок.
Или я ошибаюсь?
25. frkbvfnjh 720 09.06.22 07:40 Сейчас в теме
(20) Ну у нас наверное более скромные клиенты - мы просто говорим, что для рассылки нужно установить телеграм и создаем группу с ботом и добавляем всех кому нужна рассылка. Никто ни разу даже не спросил почему Телеграмм, или что они хотят получать рассылку только в вайбере. Просто - если нужна рассылка ставьте телеграмм, и проблем пока что не было.
31. John_d 4396 09.06.22 09:18 Сейчас в теме
(20) Все так и есть. Для внутренней рассылки используем телеграм бота.
5. ivanov660 3784 08.06.22 13:18 Сейчас в теме
В версии 8.3.23 уже реализована поддержка, возможно через 8-10 месяцев можно будет пощупать типовую реализацию.
mkostya; quazare; +2 Ответить
10. John_d 4396 08.06.22 15:22 Сейчас в теме
(5) чего поддержка реализована?
11. reset2 15 08.06.22 15:46 Сейчас в теме
(10) https://wonderland.v8.1c.ru/blog/plan-zadach-na-versiyu-8-3-23-platformy-1s-predpriyatie/

Поддержка интеграции с WhatsApp Запланирована

Но это было до....
21 марта 2022 года Тверской суд Москвы признал Meta экстремистской организацией в России
15. nomadon 358 08.06.22 16:19 Сейчас в теме
(11) т.к. нет API для обычного мессенджера, логично предположить, что будет для бизнес-аккаунта
18. Apolonov-Erik 37 08.06.22 21:14 Сейчас в теме
(5) да да, только платить придется в 1с )))
6. quazare 3004 08.06.22 14:44 Сейчас в теме
вопрос риторический - сколько просуществует ватсапп в России? 1-2 года?

и, мне кажется, он морально устарел и функционально недостаточен уже.....
KilloN; Apolonov-Erik; Fox-trot; +3 Ответить
9. John_d 4396 08.06.22 15:21 Сейчас в теме
(3) Кстати про телеграм. Такую задачу в телеграмме не так то просто решить. Бот в телеграме не умеет слать личные сообщения пользователям (даже если мы бы знали их id). Бот в телеграме умеет слать сообщения в группы и каналы, т.е. надо создать 200 групп по группе на контрагента и слать ботом уже в эту группу сообщение (как-то не очень красиво)
AlexandrSmith; unknown181538; +2 Ответить
12. ra9000 8 08.06.22 15:54 Сейчас в теме
(9) Я написал обработку для отправки ботом - личных сообщений, В 1с-ке привязал id клиента в этом боте, и шлю сообщения.
Решение заняло 2 дня, причем все реализовано на 7.7
KilloN; quazare; +2 Ответить
21. unknown181538 111 08.06.22 23:11 Сейчас в теме
(12) Ну это нужно не телефон клиента, а ID, что достаточно неудобно.
Я делал для внутренней рассылки через бота - сотрудник подписывается на бота, и после этого сообщения получает уже в личку.
14. nomadon 358 08.06.22 16:18 Сейчас в теме
(9) можно не просто бота запускать, а юзер бота. Но это, как и в whatsapp`e, пока не достигнешь лимита новых пользователей = бан.
24. KOTzilla 6 09.06.22 05:10 Сейчас в теме
(9)
Бот в телеграме не умеет слать личные сообщения пользователям

Личные сообщения бот слать может, если мне не изменяет память, бот не может инициировать начало беседы. Т.е. пользователь должен начать беседу первым, тем самым подтверждая, что этот бот, для него(пользователя), желанный собеседник=) как бы защита от спама, я это так понимаю.
36. Sergey_Borisovi4 93 09.06.22 12:26 Сейчас в теме
(9) Есть библиотека Telethon - позволяет слать сообщения от имени пользователя, а не бота. Типа альтернативное api.
13. nomadon 358 08.06.22 16:16 Сейчас в теме
Делал на этой библиотеке импорт сообщений менеджеров по расписанию в 1с (текст, картинки, звук). Просмотр истории в отчете с открытием картинок.
Все крутится на сервере в фоновом задании по расписанию, авторизация каждого пользователя индувидуальна, в окне 1с рисуется QR для сканирования.
Располагая на серверной части можно централизовано обновлять библиотеку (потому что она обновляется и иногда без обновлений просто не работает - в интерфейсе 1с жмакая кнопку обновить) и не требует доступов и административных установок на терминале/клиенте, работает в вэб-клиенте.
17. krasnodar-it 08.06.22 19:13 Сейчас в теме
Делал аналогичный проект пару лет назад, работает и посей день, менеджерам особо нравится кнопка в печатных формах "Отправить мне" далее уже самостоятельно взаимодействуют с клиентом пересылая файл им
22. CheBurator 3111 09.06.22 02:11 Сейчас в теме
"Всплывает окно авторизации в Whatsapp (авторизоваться должен пользователь от чего номера будет рассылка)."
не понял, автоматом все-таки рассылка делается или нужны какие-то интерактивнеы действия пользователя (нажатие на кнопку "разослать" таковым не считаем, можем ив фоне по расписанию...)?
28. John_d 4396 09.06.22 09:10 Сейчас в теме
(22) у меня все в клиенте происходит.
Для автоматической рассылки нужно будет где-то держать запущенный бот в клиенте. Этому боту скидывать сообщения для рассылки и он будет их рассылать, но тогда рассылка будет идти с левого номера (бота).
23. lihomanov 83 09.06.22 03:14 Сейчас в теме
Доброго времени суток!
Подскажите пожалуйста как отправить файл ?
26. apic 12 09.06.22 07:44 Сейчас в теме
Меня больше интересует, почему ввиду санкций ватсапп до сих пор работает на территории РФ? Так то надо было запретить, как ни как запрещенная организация работающая гос. деп. омерики.
27. Мастер1С 776 09.06.22 08:46 Сейчас в теме
Какие-то изменения у ватсап, буквально вчера. Как бы не отвалилась ваша доработка.
29. John_d 4396 09.06.22 09:15 Сейчас в теме
(27) просто нужно будет загрузить новую версию
npm i whatsapp-web.js
В (13), (17) написали что этот метод у людей работает без проблем несколько лет.
32. AlexandrSmith 72 09.06.22 10:08 Сейчас в теме
Очень понравилось решение.
33. ManyakRus 465 09.06.22 10:22 Сейчас в теме
я сделал то же самое на языке golang - получился .exe один исполняемый файл, который может быть сервером-прослойкой для 1С. Так ещё лучше :-)
35. user662573_rx-tx 09.06.22 11:27 Сейчас в теме
Решение имеет место быть. В конце концов это решение конкретной задачи автора, и она встречается частенько.
Спасибо за труд!)
37. Светлый ум 281 10.06.22 05:41 Сейчас в теме
38. Serega-artem 15 10.06.22 13:37 Сейчас в теме
Очень любопытная тема! Плотно работаем с вотсапом, но сейчас через посредника, неофициальное api. Деньги небольшие, тут проблем нет, но качество услуги сильно через... Будем смотреть ваше решение, спасибо за инструкции.
nikolasx; John_d; +2 Ответить
39. Alexez 76 14.06.22 13:06 Сейчас в теме
Круто я реализовал отправку через post json {"phone": "11111111", "body": "WhatsApp API работает"}

const { Client,LocalAuth } = require('whatsapp-web.js');
const http = require('http');


const client = new Client({
    authStrategy: new LocalAuth(),
    puppeteer: { headless: false }
});

client.on('qr', (qr) => {
    // Generate and scan this code with your phone
    console.log('QR RECEIVED', qr);
});

client.on('ready', () => {
    console.log('Client is ready!');
});

client.on('message', msg => {
    if (msg.body == '!ping') {
        msg.reply('pong');
    }
      
});


const requestListener = function (req, res) {
  if (req.method == 'POST') {
    
    var body_text = ''
    var number = ''
    req.on('data', function(data) {
        body_text += data
        console.log(body_text)
        const obj = JSON.parse(body_text)
        console.log(obj.phone);
        console.log(obj.body);
        number = obj.phone
        number = number.includes('@c.us') ? number : `${number}@c.us`;
        client.sendMessage(number, obj.body);
    })

    req.on('end', function() {
    res.writeHead(200, {'Content-Type': 'text/html'})
    res.end('ok')
  })


  } else {
    console.log(req.method);
    res.writeHead(200);
    res.end('Hello, World!');
  }

}

const server = http.createServer(requestListener);
server.listen(8080);

client.initialize();
Показать
user1671936; mihuilka; John_d; +3 Ответить
40. John_d 4396 15.06.22 09:40 Сейчас в теме
41. UPKA 17.06.22 11:44 Сейчас в теме
Подскажите, каждый раз перед отправкой нужно сканировать QR? А если допустим мне необходимо в фоне отправлять сообщения? Как быть? Предположим имеется один номер телефона на все рассылки.
42. John_d 4396 17.06.22 13:04 Сейчас в теме
(41) Можно один раз отсканировать и больше не закрывать бота, так и держать открытым (делать это надо на отдельном компьютере). Этому боту скидывать сообщения для рассылки и он будет их рассылать
43. UPKA 17.06.22 13:12 Сейчас в теме
(42)Подскажите, а на этом же ПК нельзя запускать скрипт?
44. John_d 4396 17.06.22 13:20 Сейчас в теме
(43)Можно. Просто тогда не закрывайте этот скрипт.
Оставьте свое сообщение

См. также

Бесплатная отправка сообщений в Whatsapp бот из 1С

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: Имеются 200 контрагентов, которым ежедневно нужно из отчета 1С выслать сумму их задолженности или предоплаты в Whatsapp (рассылка должна идти с номера менеджера этих контрагентов).

2 стартмани

08.06.2022    9378    40    John_d    44    

143

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    6530    John_d    73    

46

Создание стартовой базы

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.

1 стартмани

11.10.2021    13439    23    sapervodichka    48    

110

ТСД на JavaScript (кроссплатформенный, бесплатный)

Терминал сбора данных Бесплатно (free)

Написал ТСД на JavaScript. ТСД не требует установки драйверов (работает в режиме клавиатуры). Будет работать на любом устройстве, где можно установить chrome.

07.09.2021    6752    John_d    114    

165

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Инструментарий разработчика Разработка внешних компонент WEB-интеграция Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    11116    8    DrZombi    7    

22

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

WEB-интеграция Платформа 1С v8.3 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    10689    RPGrigorev    3    

127

Универсальные инструменты 1С

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

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

21.01.2020    76014    7499    cprit    219    

650

Хранение файлов - как уменьшить размер базы данных

Инструменты администратора БД Платформа 1С v8.3 Россия Бесплатно (free)

Хранение файлов в базе 1С можно оптимизировать для уменьшения размера хранимых данных.

09.09.2019    11049    2tvad    19    

22

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

Языки и среды Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

21.06.2019    38456    Evil Beaver    152    

394

Немного о графических файлах. Сжатие. Распознавание текста

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

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

1 стартмани

06.05.2019    12340    12    tusv    7    

58

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей)

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    39121    starik-2005    183    

121

HTML-клиент у конфигурации 1С

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    24310    Smaylukk    123    

178

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    102625    bonv    252    

852

Уменьшаем трафик: HTTP запрос со сжатием GZIP средствами 1С. На примере выгрузки файлов на Яндекс-диск

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка демонстрирует отправку тела HTTP запроса со сжатием gzip (метод deflate) средствами платформы 1С. Демонстрация происходит на примере отправки текста или файла на Яндекс.Диск.

1 стартмани

03.09.2018    10873    79    uno-c    8    

26

Чтение сжатого gzip, deflate HTTP ответа сервера. Без ВК. Уменьши время загрузки и сократи трафик в 3 раза

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В платформе 1С:Предприятие не реализовано штатного механизма декодирования ответа веб серверов, в которых присутствует gzip сжатие. Некоторые использовали WinHttpRequest.5.1 , кто-то писал ВК. Друзья, хватит. Вот вам решение.

1 стартмани

08.06.2018    28756    139    Malfarion    24    

79

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

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

Создание подключаемой обработки табличной части с диалогом запроса параметров заполнения (управляемые формы)

Обработка документов Обработка справочников Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.05.2018    91902    Mirage78    27    

86

Обработка печатной формы WORD клиент-сервер УФ

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

Это моя первая статья на данном портале, но попытаюсь изложить все понятно и подробно. Долгое время у меня заняло создание такой вот внешней обработки. Есть очень много примеров, как сделать подобное на неуправляемых формах (2.0) и очень мало информации касательно управляемых(3.0), по крайней мере я многого найти не смог в доступе. Создание подобное обработки выглядит вполне несложно, если производить все действия на сервере, как это было с 2.0, но в нашем случае необходимо инициализировать открытие документа на клиенте, чему сильно мешает отсутствие возможности передать макет Active Document с сервера на клиент.

2 стартмани

14.03.2018    31998    LeoKeyn    46    

43

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

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

19.11.2017    292178    MaxS    450    

1112

Инструменты бухгалтера: Виджеты рабочего стола

Универсальные обработки Рабочее место Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Абонемент ($m)

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

2 стартмани

28.08.2017    52522    199    Bazil    33    

148

Работа с 1С:Аналитика Промо

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

4500 рублей

Зачем 1С-нику NoSQL и CRDT

WEB-интеграция Бесплатно (free)

В статье речь пойдет о современных инструментах для хранения, транспорта, обработки и обмена данными на примере популярной NoSQL-базы CouchDB.

12.08.2017    25178    unpete    27    

100

54 ФЗ своими руками

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Розница Розничная и сетевая торговля (FMCG) Россия Управленческий учет Бесплатно (free)

Практический опыт внедрения изменений в 54ФЗ в розничной сети, работающей на 1С. Если вы не хотите платить каким-либо подрядчикам, которые "всё сделают и настроят за вас", то статься может оказаться крайне полезной.

17.04.2017    59830    comol    124    

91

Формирование штрихкода EAN-13 в SVG с помощью XDTO

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В версии платформы 8.3.9 было объявлено о поддержке изображений в формате SVG. Данная обработка демонстрирует работу с данным форматом, а именно его формированием (рисованием). Ну а так как самой популярной картинкой в 1С, наверное, является картинка штрихкода EAN - ее я и решил рисовать.

1 стартмани

24.03.2017    16731    66    kot-stas    22    

66

План обмена в формате "EnterpriseData" для 1С 7.7

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Пример организации надёжной синхронизации данных через универсальный формат "EnterpriseData" между конфигурациями на базе 1С 7.7 и произвольными приложениями.

1 стартмани

07.01.2017    30908    27    binex    23    

19

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

"Распределение в запросе" или "избавляемся от перебора"

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

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    41440    alexandersh    52    

221

Маркировка: 2D Android Штрихкод сканер + драйвер устройства для 1С

Сканер штрих-кода Розничная торговля Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Абонемент ($m)

Драйвер торгового оборудования и приложение для Android, телефон или планшет в качестве стандартного штрихкод сканера для платформы 1С.

3 стартмани

29.11.2016    61663    208    dreamadv    119    

151

Редактирование табличной части объекта с помощью СКД

Инструментарий разработчика Система компоновки данных Конфигурации 1cv8 Россия Абонемент ($m)

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

2 стартмани

16.09.2016    42469    139    Hatson    30    

144

Примеры скриптов на OneScript

OneScript Россия Абонемент ($m)

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

1 стартмани

14.07.2016    37815    59    Drak0n    44    

156

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

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

Набор данных Объект в СКД для решения задач сортировки, нумерации и вывода в отчет произвольных наборов данных

СКД Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Использование набора данных Объект в СКД, может добавить вашему отчету новые интересные возможности. В этой статье я покажу, как я использовал набор данных Объект при решении одной задачи.

04.07.2016    75038    lopatin    13    

81

Учет путевых листов

Обработка документов Печатные формы Учет рабочего времени Учет ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Абонемент ($m)

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

3 стартмани

27.06.2016    21601    82    DrugOn    10    

19

Google Analytics API, Oauth2.0 и 1c8

WEB-интеграция Платформа 1С v8.3 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Обращение к Google Analytics API, Протокол Oauth 2.0 и запросы от 1С:8 без авторизации пользователя

02.05.2016    28685    Ольга_tmp    18    

56

Регулярные выражения без внешних компонент? Легко!

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    79930    starik-2005    111    

410

УПД для документа "Поступление товаров и услуг" (БП 3.0) за поставщика

Печатные формы Оптовая торговля Производство готовой продукции (работ, услуг) Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Внешняя печатная форма для документа "Поступление товаров и услуг" позволяет печатать "Универсальный передаточный документ (УПД)" за поставщика в ред. постановления Правительства РФ 1137, 625 и 981

1 стартмани

20.12.2015    26085    280    romanco    18    

10

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Автозаполнение адресов в 1С (API Google autocomplete place)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье вы увидите пример, как можно с помощью API Google autocomplete place делать подсказки при заполнении адреса

19.10.2015    14482    d.alexandr    27    

115

Удаление организации из 1С. Чистка базы 1С. Удаление "не удаляемых" объектов

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

10 стартмани

02.10.2015    72619    344    spy-83    83    

39

Опыт оптимизации и контроля производительности в БД с 3000 пользователей

HighLoad оптимизация Бесплатно (free)

Данная статья написана по материалам доклада, прочитанного на Конференции Инфостарта IE 2014 29-31 октября 2014 года. Меня зовут Сергей, являюсь руководителем отдела оптимизации и производительности систем в компании "Деловые линии". Цель этого доклада – поделиться информацией о нашем опыте работы с большой базой на платформе 1С, с чем пришлось столкнуться, как удалось обеспечить работоспособность. Уверен, что вам будет интересно, так как подобной информацией мало кто делится, да и про само существование таких систем их владельцы стараются не рассказывать, максимум про это «краем глаза» упоминают участвовавшие в проекте вендоры. **update от 04.03.2016 по вопросам из комментариев

05.08.2015    70561    Sergey.Noskov    119    

328

Использование встроенных отчетов для создания анализа корректности данных при исчислении НДС с авансов полученных

Оптовая торговля Платформа 1С v8.3 1С:Бухгалтерия 2.0 Россия Бухгалтерский учет НДС Бесплатно (free)

На Инфостарте много выложено внешних отчетов, направленных на контроль правильности исчисления НДС с авансов полученных. Хочу поделиться своим опытом использования встроенного отчета (для Бухгалтерия предприятия.Редакция 3.0) и порядка создания настроек отчета для процедур контроля за исчислением НДС с авансовых платежей покупателей, особенно в случаях применения различных налоговых ставок НДС

1 стартмани

22.07.2015    9385    lvk74    3    

8

Монитор журнала регистрации

Журнал регистрации Инструменты администратора БД WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

29.06.2015    49513    164    andy23    51    

133