🕓 Выполнение внешней обработки по регламентному заданию
Если у вас типовая конфигурация 1С или в конфигурации есть БСП с подсистемой Дополнительные отчеты и обработки, то вы можете использовать внешнюю обработку вместо регламентного задания.
❗️ Проблема: конфигурация на поддержке, либо обновить рабочую базу получится не скоро, а нужно регламентное задание.
❓ Что нужно: серверный режим работы базы, Подсистема БСП: Дополнительные отчеты и обработки.
🔝 Решение:
⏩ Создаем внешнюю обработку, в которой прописываем в функции СведенияОВнешнейОбработке команду с типом использования - «ВызовСерверногоМетода»;
⏩ Добавляем процедуру ВыполнитьКоманду;
⏩ Регистрируем нашу внешнюю обработку как дополнительную в информационной базе;
⏩ Устанавливаем расписание;
⚫️ Готово!
----------------
🤯 Из личного опыта, могу сказать точно, что это полезный механизм, так как это бывает и быстрее реализовать и проще поддерживать, чем обычное регламентное задание. Механизм так же может пригодиться, когда в базе режим совместимости с платформой ниже 8.3.23 (в нем нет возможности сделать регламентное задание через расширение).
----------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Если у вас типовая конфигурация 1С или в конфигурации есть БСП с подсистемой Дополнительные отчеты и обработки, то вы можете использовать внешнюю обработку вместо регламентного задания.
----------------
----------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Как-то я уже делился некоторыми сторонними инструментами, которые использую в работе в этом посте, сегодня также хочу рассказать о ещё одном инструменте.
WinDirStat – средство просмотра статистики использования диска.
1. Поиск места на сервере где лежат копии баз. Сколько бы места не было, рано или поздно все равно кончается, приходят новые разработчики и т.п., приходится выискивать)
2. Поиск вредителей, которые хранят тяжелые файлы всякие CF и DT файлы или выгрузки данных у себя на рабочем столе на сервере.
А вы много храните ненужных тяжелых файлов? Пишите в комментариях
---------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
&ИзменениеИКонтроль в расширениях
Расширение представляет собой конфигурацию заимствованных и измененных объектов, подключаемой к конкретной основной конфигурации.
Механизм расширений постоянно развивается, за этим стоит следить, так как никогда не знаешь в какой момент это тебе пригодится.
В повседневной жизни они помогают в следующих случаях:
🔹 Быстро внести правку в своем коде либо типовом релизе, когда обновления рабочих баз выходят редко;
🔹Доработать конфигурацию для своих нужд, при этом четко разделяя границы, где типовой код, а где наш;
🔹 Расширения даже позволяют создать свой тиражный продукт под определённую конфигурацию (особенно, когда появилась возможность добавлять метаданные в расширения).
С версии платформы 1С 8.3.15 появилась возможность заменять код основной конфигурации в режиме «Вызывать вместо (с контролем)», что добавляет аннотацию «&ИзменениеИКонтроль». Это позволяет при проверке применимости расширения удостовериться, что код основной конфигурации после обновления не изменился относительно той версии Процедуры/Функции которая была до внесения изменений.
При данной аннотации необходимо применять специальные вставки:
🔸 Для удаления участков кода: #Удаление и #КонецУдаления
🔸 Для добавления участков кода: #Вставка и #КонецВставки
Процесс работы данной аннотации схож с аннотацией «Вместо», но дополняется контролем. При вызове проверки применения можно даже сразу и восстановить изменения (доступно при использовании сторонних программ сравнения объединения, можно почитать в прошлом посте).
Использование заимствования с контролем значительно упрощает процесс поддержки конфигурации как при обновлении на типовые релизы, так и при поддержке индивидуальных конфигураций.
---------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Расширение представляет собой конфигурацию заимствованных и измененных объектов, подключаемой к конкретной основной конфигурации.
Механизм расширений постоянно развивается, за этим стоит следить, так как никогда не знаешь в какой момент это тебе пригодится.
В повседневной жизни они помогают в следующих случаях:
🔹 Быстро внести правку в своем коде либо типовом релизе, когда обновления рабочих баз выходят редко;
🔹Доработать конфигурацию для своих нужд, при этом четко разделяя границы, где типовой код, а где наш;
🔹 Расширения даже позволяют создать свой тиражный продукт под определённую конфигурацию (особенно, когда появилась возможность добавлять метаданные в расширения).
С версии платформы 1С 8.3.15 появилась возможность заменять код основной конфигурации в режиме «Вызывать вместо (с контролем)», что добавляет аннотацию «&ИзменениеИКонтроль». Это позволяет при проверке применимости расширения удостовериться, что код основной конфигурации после обновления не изменился относительно той версии Процедуры/Функции которая была до внесения изменений.
При данной аннотации необходимо применять специальные вставки:
🔸 Для удаления участков кода: #Удаление и #КонецУдаления
🔸 Для добавления участков кода: #Вставка и #КонецВставки
Процесс работы данной аннотации схож с аннотацией «Вместо», но дополняется контролем. При вызове проверки применения можно даже сразу и восстановить изменения (доступно при использовании сторонних программ сравнения объединения, можно почитать в прошлом посте).
Использование заимствования с контролем значительно упрощает процесс поддержки конфигурации как при обновлении на типовые релизы, так и при поддержке индивидуальных конфигураций.
---------------
> > > Случайный пост < < <
#ЕБ_Повседневность
ПроверкаРегламентныхЗаданийВЗаданномПериоде.epf
17.3 KB
Повседневная задача – обработка для всех
В рамках текущих задач иногда приходят задачки от аналитиков или других коллег. И однажды пришла задача выяснить какие регламентные задания могли выполняться в определенные часы ночи, чтобы что-то там выяснить или проверить.
Первым делом я поискал готовые решения в интернете, но ничего не нашлось.
Далее я накидал простенькую обработку, в которой результат выводил в сообщения. Задачу решили, но так как такой обработки ещё не было на просторах интернета, решил доработать и оформить, и опубликовать на🧐 Инфостарт.
⏩ Проверка регламентных заданий в заданном периоде
🔝 Если она вам принесла пользу, и вы хотите поддержать, то можете скачать за стартмани, но для моих подписчиков она доступна совершенно бесплатно)
> > > Случайный пост < < <
#ЕБ_Повседневность
В рамках текущих задач иногда приходят задачки от аналитиков или других коллег. И однажды пришла задача выяснить какие регламентные задания могли выполняться в определенные часы ночи, чтобы что-то там выяснить или проверить.
Первым делом я поискал готовые решения в интернете, но ничего не нашлось.
Далее я накидал простенькую обработку, в которой результат выводил в сообщения. Задачу решили, но так как такой обработки ещё не было на просторах интернета, решил доработать и оформить, и опубликовать на
⏩ Проверка регламентных заданий в заданном периоде
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Шаблоны текста 1С (комментарии)
На больших предприятиях, при доработке типовых (и не только) конфигураций, есть требование - обрамлять добавляемый код комментариями. Необходимо это для идентификации разработчика, который внес правки.
🔝 Для этого подходит типовой механизм платформы 1С – Шаблоны текста.
Есть стандартные шаблоны, например, для создания конструкции «Если». Чтобы его вызвать необходимо ввести строку «Если» и нажать горячие клавиши Ctrl + Q. После чего будет предложено ввести условие и автоматически создастся конструкция на встроенном языке 1С.
----------------
Используя этот механизм, можно создать свои шаблоны текста!
🤯 Чаще всего я использую шаблоны как раз для комментариев.
Для начала блока ввожу строку "/+" и горячие клавиши Ctrl + Q, добавляется строка:
Шаблоном для этой строки является следующая строка:
Работая над одной большой задачей, я вношу все данные заранее, а дата подставляется автоматически.
То же самое и с закрывающим комментарием.
----------------
📢 На практике я сталкивался только с одним исключением, когда не надо обрамлять код комментариями - при разработке в EDT в связке с GIT. Там в этом такой необходимости нет (EDT позволяет сразу увидеть историю внесения изменений по конкретной строке), если дело не касается типового кода (той части конфигурации, которая на поддержке).
----------------
> > > Случайный пост < < <
----------------
#ЕБ_Повседневность
#ЕБ_Оптимизация
На больших предприятиях, при доработке типовых (и не только) конфигураций, есть требование - обрамлять добавляемый код комментариями. Необходимо это для идентификации разработчика, который внес правки.
Есть стандартные шаблоны, например, для создания конструкции «Если». Чтобы его вызвать необходимо ввести строку «Если» и нажать горячие клавиши Ctrl + Q. После чего будет предложено ввести условие и автоматически создастся конструкция на встроенном языке 1С.
----------------
Используя этот механизм, можно создать свои шаблоны текста!
Для начала блока ввожу строку "/+" и горячие клавиши Ctrl + Q, добавляется строка:
// ++ e-mail / №задачи / 10.04.2023
Шаблоном для этой строки является следующая строка:
// ++ e-mail / №задачи / <?"", ДатаВремя, "ДФ=dd.MM.yyyy"><?>
Работая над одной большой задачей, я вношу все данные заранее, а дата подставляется автоматически.
То же самое и с закрывающим комментарием.
----------------
----------------
> > > Случайный пост < < <
----------------
#ЕБ_Повседневность
#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
♻️ Частота и процесс обновления рабочих баз
Если вы связаны непосредственно с организацией процесса обновления, то вам может пригодиться данный пост, чтобы узнать другие варианты.
На своей практике я работал с такими вариантами:
🔹 1. Самый распространенный - хаотично, надо обновили, не надо можем и забыть вообще. Актуально для небольших фирм, где практически нет доработок.
🔹 2. Раз в 1-2 недели. Второй по распространенности вариант. В целом хороший вариант, но промежутки достаточно большие. И как правило все косяки испавляются либо в не рабочее время, либо расширениями. В редких случаях есть рисковые счастливчики обновляющие "демонически".
🔹 3. Каждый день в технический перерыв. Мой идеальный вариант, когда есть технологическое окно, например, в обед. Особенно хорошо, если обновление ещё и автоматическое.
Варианты как организовано технически обновление:
🔸 1. Рабочая база подключена напрямую к разработческому хранилищу (в случае работы через конфигуратор). По мне так это один из лучших вариантов с точки зрения "цены/качества". В основном в мелких фирмах.
Нюанс в сложности обновить срочно какой-то объект с которым работало несколько человек. Все затянуть тоже нельзя и можно подтянуть часть лишнего.
🔸 2. Рабочая база обновляется через конфигурацию сравнением-объединением/загрузкой целиком.
🔸 3. Два хранилища под рабочую базу и под разрабочтаский контур. Нюанс в том, что нужно аккуратно переносить во второе хранилище, так как сравнением-объединением можно перенести лишнего или вовсе забыть что-то.
🔸 4. Работа через EDT в связке с GIT. Тут подтягивается полноценный DevOps, все что можно автоматизируется и в целом отличный практически вариант. Но дорогой на старте.
📢 А с какой частотой и как у вас организовано обновление рабочих баз?
> > > Случайный пост < < <
#ЕБ_Повседневность
Если вы связаны непосредственно с организацией процесса обновления, то вам может пригодиться данный пост, чтобы узнать другие варианты.
На своей практике я работал с такими вариантами:
🔹 1. Самый распространенный - хаотично, надо обновили, не надо можем и забыть вообще. Актуально для небольших фирм, где практически нет доработок.
🔹 2. Раз в 1-2 недели. Второй по распространенности вариант. В целом хороший вариант, но промежутки достаточно большие. И как правило все косяки испавляются либо в не рабочее время, либо расширениями. В редких случаях есть рисковые счастливчики обновляющие "демонически".
🔹 3. Каждый день в технический перерыв. Мой идеальный вариант, когда есть технологическое окно, например, в обед. Особенно хорошо, если обновление ещё и автоматическое.
Варианты как организовано технически обновление:
🔸 1. Рабочая база подключена напрямую к разработческому хранилищу (в случае работы через конфигуратор). По мне так это один из лучших вариантов с точки зрения "цены/качества". В основном в мелких фирмах.
Нюанс в сложности обновить срочно какой-то объект с которым работало несколько человек. Все затянуть тоже нельзя и можно подтянуть часть лишнего.
🔸 2. Рабочая база обновляется через конфигурацию сравнением-объединением/загрузкой целиком.
🔸 3. Два хранилища под рабочую базу и под разрабочтаский контур. Нюанс в том, что нужно аккуратно переносить во второе хранилище, так как сравнением-объединением можно перенести лишнего или вовсе забыть что-то.
🔸 4. Работа через EDT в связке с GIT. Тут подтягивается полноценный DevOps, все что можно автоматизируется и в целом отличный практически вариант. Но дорогой на старте.
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нужно изучить в начале своего пути 1Сника?!
Наверняка многие задаются вопросом, чтобы такое знать, чтобы проще, быстрее и лучше решать свои задачи в начале своего пути, так вот, есть ответ - подсистема "НСИ и администрирование".
Особенно это важно для тех, кто работает с типовыми конфигурациями.
🤯 Банально и просто, но главное эффективно!
Как изучить? Сесть и пройтись по каждому пункту этой подсистемы через интерфейс пользователя.
Что это даст? Вы будете иметь представление, что можно настроить через эту подсистему и где эти настройки находятся. А когда встретитесь с практической задачей, в голове проскочит мысль "я где то это уже видел, кажется тут".
В начале своего пути мне удавалось очень много решить задач, просто понимая, где примерно та или иная настройка должна располагаться.
Что могу вспомнить из задач сходу:
🔹 поправить макет типовой печатной формы
🔹 настроить СМС информирование (нужно было доработать момент отправки, но то, что касается именно СМС информирования использовались типовые механизмы и настройки)
🔹 включить бонусную системы
🔹 различные настройки прав доступа
🔹 обмен с сайтом
🔹 отправка отчетов на почту
📢 Так же можете оставить свои задачи, которые вам удалось решить через подсистему НСИ и администрирование в комментариях💬
> > > Случайный пост < < <
#ЕБ_Повседневность
Наверняка многие задаются вопросом, чтобы такое знать, чтобы проще, быстрее и лучше решать свои задачи в начале своего пути, так вот, есть ответ - подсистема "НСИ и администрирование".
Особенно это важно для тех, кто работает с типовыми конфигурациями.
Как изучить? Сесть и пройтись по каждому пункту этой подсистемы через интерфейс пользователя.
Что это даст? Вы будете иметь представление, что можно настроить через эту подсистему и где эти настройки находятся. А когда встретитесь с практической задачей, в голове проскочит мысль "я где то это уже видел, кажется тут".
В начале своего пути мне удавалось очень много решить задач, просто понимая, где примерно та или иная настройка должна располагаться.
Что могу вспомнить из задач сходу:
🔹 поправить макет типовой печатной формы
🔹 настроить СМС информирование (нужно было доработать момент отправки, но то, что касается именно СМС информирования использовались типовые механизмы и настройки)
🔹 включить бонусную системы
🔹 различные настройки прав доступа
🔹 обмен с сайтом
🔹 отправка отчетов на почту
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Где брать инфу начинающему разработчику 1С
Раньше, когда я только начинал работу программистом 1С и в памяти после курсов и книг информации было не так много, приходилось гуглить какие-то штуки уже по факту.
И информация находилась на совершенно разных ресурсах, о некоторых я писал в посте ранее.
Но как-то меня обходил стороной официальный сайт v8.1c.ru, да и был он вроде в другом на тот момент дизайне.
Записывая очередной урок по курсу, надо было вспомнить что-то про объекты конфигурации, и я обнаружил для себя новый ресурс, на котором есть очень много полезной информации, она в доступном виде и с примерами.
Мне кажется, это очень крутой ресурс для начинающих разработчиков, к которому нужно присмотреться!
Выделил бы следующие разделы:
🔸 Объекты конфигурации – есть информация прям по каждому объекту конфигурации, для чего, зачем и почему.
🔸 Обзор архитектуры платформы – не только рассказывается про платформу в целом, но есть ещё и подобие оглавления по технологиям и инструментам.
Например, нашел подробное описание про JSON, да, что-то из справки из конфигуратора, но информации больше.
🔸 Библиотека стандартных подсистем – описание блоков и разделов актуальной версии БСП.
Думаю, есть ещё много интересных разделов на этом сайте, накидайте в комментариях которыми вы пользуетесь, будет интересно почитать.
> > > Случайный пост < < <
#ЕБ_Повседневность
#ЕБ_ДляНовичков
Раньше, когда я только начинал работу программистом 1С и в памяти после курсов и книг информации было не так много, приходилось гуглить какие-то штуки уже по факту.
И информация находилась на совершенно разных ресурсах, о некоторых я писал в посте ранее.
Но как-то меня обходил стороной официальный сайт v8.1c.ru, да и был он вроде в другом на тот момент дизайне.
Записывая очередной урок по курсу, надо было вспомнить что-то про объекты конфигурации, и я обнаружил для себя новый ресурс, на котором есть очень много полезной информации, она в доступном виде и с примерами.
Мне кажется, это очень крутой ресурс для начинающих разработчиков, к которому нужно присмотреться!
Выделил бы следующие разделы:
🔸 Объекты конфигурации – есть информация прям по каждому объекту конфигурации, для чего, зачем и почему.
🔸 Обзор архитектуры платформы – не только рассказывается про платформу в целом, но есть ещё и подобие оглавления по технологиям и инструментам.
Например, нашел подробное описание про JSON, да, что-то из справки из конфигуратора, но информации больше.
🔸 Библиотека стандартных подсистем – описание блоков и разделов актуальной версии БСП.
Думаю, есть ещё много интересных разделов на этом сайте, накидайте в комментариях которыми вы пользуетесь, будет интересно почитать.
> > > Случайный пост < < <
#ЕБ_Повседневность
#ЕБ_ДляНовичков
Самые частые операции в консоли администрирования выполняемые рядовым 1сником
‼️Важно: требуется заранее получить админские права на консоль администрирования.
◾️ 1. Включить блокировку пользователей и регламентных заданий.🙅
Данная блокировка может быть установлена средствами БСП, Администрирование - Обслуживание - Блокировка работы пользователей.
Но если конфигурация старая или нужно снять ошибочно и неправильно установленную, тогда открываем на сервере консоль администрирования
Далее подключаем сервер (если не подключен), нам достаточно знать только имя, порт как правило по умолчанию 1541.
Находим нужную нам базу и открываем свойства и работаем с блоком относительно блокировки сеансов. Блокировка на вход пользователей, блокировка регламентного задания, начало/конец блокировки, а если нам нужно в это время что-то делать с базой, то устанавливаем «Код разрешения» и в параметрах базы прописываем его после символов /UC/
◾️ 2. Зависшее регламентное задание.⏱
Мы установили блокировку из первого пункта, а регламентное задание все ещё выполняется и принудительное завершение не помогает.
Для исправления требуется в консоли администрирования выбрать локальный кластер сервера (или кластер где зависло фоновое) и изменить «Интервал перезапуска» на 2 секунды, применить, подождать 5-10 секунд и вернуть как было.
Готово. Регламентное задание завершит свою работу.
◾️ 3. Ну и самое частое, конечно же, выкинуть коллегу из конфигуратора)😎
Может быть он нам просто не нравится, а может он забыл закрыть конфигуратор и сам предложил такой вариант.
-----------------
А как вы чаще всего используете консоль администрирования?💬
> > > Случайный пост < < <
#ЕБ_Повседневность
‼️Важно: требуется заранее получить админские права на консоль администрирования.
◾️ 1. Включить блокировку пользователей и регламентных заданий.🙅
Данная блокировка может быть установлена средствами БСП, Администрирование - Обслуживание - Блокировка работы пользователей.
Но если конфигурация старая или нужно снять ошибочно и неправильно установленную, тогда открываем на сервере консоль администрирования
Далее подключаем сервер (если не подключен), нам достаточно знать только имя, порт как правило по умолчанию 1541.
Находим нужную нам базу и открываем свойства и работаем с блоком относительно блокировки сеансов. Блокировка на вход пользователей, блокировка регламентного задания, начало/конец блокировки, а если нам нужно в это время что-то делать с базой, то устанавливаем «Код разрешения» и в параметрах базы прописываем его после символов /UC/
◾️ 2. Зависшее регламентное задание.⏱
Мы установили блокировку из первого пункта, а регламентное задание все ещё выполняется и принудительное завершение не помогает.
Для исправления требуется в консоли администрирования выбрать локальный кластер сервера (или кластер где зависло фоновое) и изменить «Интервал перезапуска» на 2 секунды, применить, подождать 5-10 секунд и вернуть как было.
Готово. Регламентное задание завершит свою работу.
◾️ 3. Ну и самое частое, конечно же, выкинуть коллегу из конфигуратора)
Может быть он нам просто не нравится, а может он забыл закрыть конфигуратор и сам предложил такой вариант.
-----------------
А как вы чаще всего используете консоль администрирования?
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
ТОП моих каналов ТГ по 1С
Я подписан на более чем 50 каналов по 1С в телеграмме, но все просматривать постоянно сложно, да и не зачем. Раз в месяц я конечно стараюсь пройтись по всем каналам, так как там тоже много чего интересного.
Хочу поделиться с вами теми каналами, которые смотрю регулярно:
🔸 Дмитрий Котов | 1С-Заметки – с Дмитрием мы так же ведем совместно канал по видео-мемам из сферы 1С Желтая ржомба (1С:Мемы)
🔸 1Cnik
🔸 Черненко Виталий (Жёлтый чайник 1С) – а также автор сборника всех каналов в ТГ по 1С
🔸 Заметки 1Сницы. Анастасия Синякова
🔸 OneSCast | 1С Предприятие
🔸 Владимир Харин - Просто Pro 1С
🔸 Желтый клуб
Каналы не только про техническую сторону жизни 1Сников, но и местами про личные взгляды и т.п., что добавляем интереса.
Можете скинуть в комментариях каналы, за которыми вы более пристально следите💬
#ЕБ_Повседневность
Я подписан на более чем 50 каналов по 1С в телеграмме, но все просматривать постоянно сложно, да и не зачем. Раз в месяц я конечно стараюсь пройтись по всем каналам, так как там тоже много чего интересного.
Хочу поделиться с вами теми каналами, которые смотрю регулярно:
🔸 Дмитрий Котов | 1С-Заметки – с Дмитрием мы так же ведем совместно канал по видео-мемам из сферы 1С Желтая ржомба (1С:Мемы)
🔸 1Cnik
🔸 Черненко Виталий (Жёлтый чайник 1С) – а также автор сборника всех каналов в ТГ по 1С
🔸 Заметки 1Сницы. Анастасия Синякова
🔸 OneSCast | 1С Предприятие
🔸 Владимир Харин - Просто Pro 1С
🔸 Желтый клуб
Каналы не только про техническую сторону жизни 1Сников, но и местами про личные взгляды и т.п., что добавляем интереса.
Можете скинуть в комментариях каналы, за которыми вы более пристально следите
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа с Postgre SQL из 1С
Задача: считать данные из таблицы в базе на сервере Postgre SQL.
Чтобы подключиться к базе и увидеть её структуру, можно воспользоваться программой pgAdmin.
Она бесплатная и можно скачать с официального сайта.
Есть два основных варианта, с помощью которых можно считать данные через 1С:
- ADODB (COM объект)
- Внешние источники данных (объект платформы)
🔹Считать записи первым способом можно используя код из Листинга 1.
На выходе у нас есть подключение к базе, и мы можем делать что нам требуется (на что хватит прав). Можно работать через sql запросы, либо с объектами напрямую.
🔸Второй вариант позволяет сразу увидеть структуру самой базы данных.
Внешние источники данных - это обособленный объект конфигурации, который позволяет работать с данными различного формата и совместимыми программами. Под работой предполагается не только чтение данных, но и хранение и изменение.
При создании внешнего источника данных можно либо вручную задать структуру внешних таблиц, либо воспользоваться конструктором таблиц, в котором задаются параметры подключения и выполняется подключение к базе данных. После подключения к БД, появляется структура базы и можно выбрать нужные таблицы.
❗️ Важный нюанс!!! То подключение, которое мы выполнили в конфигураторе, не сохраняется.
Для того чтобы данный источник заработал в режиме 1С: Предприятие, необходимо либо в коде один раз задать параметры подключения (листинг 2), либо воспользоваться платформенной обработкой "Управление внешними источниками данных".❗️
🔹 Особенности подключения ADODB:
⏩ Требуется драйвер OLEDB
⏩ Можем выполнять SQL запросы
⏩ Необходимо знать структуру базы данных
⏩ Работает медленнее чем второй способ (но есть исключения)
🔸 Особенности подключения через внешние источники данных:
⏩ Требуется драйвер ODBC
⏩ Можно использовать в динамических списках и СКД
⏩ Требуется выполнить подключение в режиме предприятия
⏩ Можно работать с объектом в привычном конструкторе запросов
⏩ Нельзя использовать временные таблицы после выборки данных из внешней базы. Необходимо предварительно выгрузить результат запроса в ТЗ.
⏩ Работает в разы быстрее, чем ADODB
> > > Случайный пост < < <
#ЕБ_Повседневность
Задача: считать данные из таблицы в базе на сервере Postgre SQL.
Чтобы подключиться к базе и увидеть её структуру, можно воспользоваться программой pgAdmin.
Она бесплатная и можно скачать с официального сайта.
Есть два основных варианта, с помощью которых можно считать данные через 1С:
- ADODB (COM объект)
- Внешние источники данных (объект платформы)
🔹Считать записи первым способом можно используя код из Листинга 1.
На выходе у нас есть подключение к базе, и мы можем делать что нам требуется (на что хватит прав). Можно работать через sql запросы, либо с объектами напрямую.
🔸Второй вариант позволяет сразу увидеть структуру самой базы данных.
Внешние источники данных - это обособленный объект конфигурации, который позволяет работать с данными различного формата и совместимыми программами. Под работой предполагается не только чтение данных, но и хранение и изменение.
При создании внешнего источника данных можно либо вручную задать структуру внешних таблиц, либо воспользоваться конструктором таблиц, в котором задаются параметры подключения и выполняется подключение к базе данных. После подключения к БД, появляется структура базы и можно выбрать нужные таблицы.
Для того чтобы данный источник заработал в режиме 1С: Предприятие, необходимо либо в коде один раз задать параметры подключения (листинг 2), либо воспользоваться платформенной обработкой "Управление внешними источниками данных".
🔹 Особенности подключения ADODB:
🔸 Особенности подключения через внешние источники данных:
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
ТОП 3️⃣ книги по 1С
🔹 1С:Предприятие 8.3: Практическое пособие разработчика. Примеры и типовые приемы (Радченко М.Г., Хрусталева Е.Ю.) – отличная книга для начинающих и не только!
🔹 Язык запросов «1С: Предприятия 8» (Хрусталева Е.Ю.) – основа основ, куда же в 1С без запросов;
🔹 101 совет начинающим разработчикам в системе «1С:Предприятие 8» (Хрусталева Е.Ю.) – очень полезно, для знания сред разработки, из этой книги узнал для себя позиционирование на текущем объекте в дереве конфигурации с помощью горячих клавиш CTRL+T;
———————————
Книги, которые не вошли в ТОП, но от того не менее важные и полезные:
🔸 Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8» (Ажеронок В.А, Островерх А.В., Радченко М.Г., Хрусталева Е.Ю.);
🔸 Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных. (Хрусталева Е.Ю.);
🔸 1С:Предприятие 8. Управление торговыми операциями в вопросах и ответах (Богачева Т.Г.) – отличная книга, которая помогала мне в начале моего пути разбираться с УТ, если кто работает с ней, рекомендую;
🔸 Разработка в системе «1С:Предприятие 8» (Митичкин С.А.) – сейчас нет актуального издания данной книги, но в начале развития версии 1С 8.0, данная книга шла на ровне с первым номером в топе.
———————————
Пишите в комментариях, какие книги вам зашли на столько, что вы получили эффект "ВАУ" после прочтения, подходящей для сферы 1С и программирования💬
———————————
> > > Случайный пост < < <
#ЕБ_Повседневность
#ЕБ_Развитие
🔹 1С:Предприятие 8.3: Практическое пособие разработчика. Примеры и типовые приемы (Радченко М.Г., Хрусталева Е.Ю.) – отличная книга для начинающих и не только!
🔹 Язык запросов «1С: Предприятия 8» (Хрусталева Е.Ю.) – основа основ, куда же в 1С без запросов;
🔹 101 совет начинающим разработчикам в системе «1С:Предприятие 8» (Хрусталева Е.Ю.) – очень полезно, для знания сред разработки, из этой книги узнал для себя позиционирование на текущем объекте в дереве конфигурации с помощью горячих клавиш CTRL+T;
———————————
Книги, которые не вошли в ТОП, но от того не менее важные и полезные:
🔸 Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8» (Ажеронок В.А, Островерх А.В., Радченко М.Г., Хрусталева Е.Ю.);
🔸 Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных. (Хрусталева Е.Ю.);
🔸 1С:Предприятие 8. Управление торговыми операциями в вопросах и ответах (Богачева Т.Г.) – отличная книга, которая помогала мне в начале моего пути разбираться с УТ, если кто работает с ней, рекомендую;
🔸 Разработка в системе «1С:Предприятие 8» (Митичкин С.А.) – сейчас нет актуального издания данной книги, но в начале развития версии 1С 8.0, данная книга шла на ровне с первым номером в топе.
———————————
Пишите в комментариях, какие книги вам зашли на столько, что вы получили эффект "ВАУ" после прочтения, подходящей для сферы 1С и программирования
———————————
> > > Случайный пост < < <
#ЕБ_Повседневность
#ЕБ_Развитие
Please open Telegram to view this post
VIEW IN TELEGRAM
Тестирование различных API
Не так давно, где-то полгода назад, я только узнал про такую классную штуку как Postman – Клиент для тестирования API. Понадобилась мне эта штука и коллега мне рассказал про неё, когда разрабатывал интеграцию 1С с GitLab, чтобы получать информацию о «релизах», какие изменения вносились, кто вносил и т.п., чтобы дальше это превращалось в некий отчет по изменениям.
На скриншоте рабочее окно Postman, которое позволяет нам вставить адрес API и, заполнив его параметры, отправить запрос.
В случае, когда документация не столь понятная или используешь «метод тыка», эта программа позволяет гораздо быстрее отлаживать запросы.
Думаю, что функционал гораздо шире, но пока освоился только с обычной отправкой запроса и получением результата. Классная фишка - можно сохранить папку запросов и отправить коллеге, прям как в консоли запросов)
Для тестирования нашел пару интересных открытых и публичных API, как раз повод попробовать в деле:
🔹 Cat Facts – случайные факты о кошках каждый день.
🔹 Nationalize - предсказывает национальность человека по его имени.
🔹 Joke API - API генерирует случайные шутки. Вы также можете получать шутки определенного типа (например, только шутки о программировании).
Сейчас готовлю материал для внутреннего митапа по этой теме, если поделитесь интересными наблюдениями или другими программами и поделитесь опытом, буду благодарен) Знаю про аналогичный софт – Insomnia, кто пользовался, чем лучше?💬
А если вы как и я не знали про клиентов для тестирования API, ставьте➕ в реакциях к посту)
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
#ЕБ_Развитие
Не так давно, где-то полгода назад, я только узнал про такую классную штуку как Postman – Клиент для тестирования API. Понадобилась мне эта штука и коллега мне рассказал про неё, когда разрабатывал интеграцию 1С с GitLab, чтобы получать информацию о «релизах», какие изменения вносились, кто вносил и т.п., чтобы дальше это превращалось в некий отчет по изменениям.
На скриншоте рабочее окно Postman, которое позволяет нам вставить адрес API и, заполнив его параметры, отправить запрос.
В случае, когда документация не столь понятная или используешь «метод тыка», эта программа позволяет гораздо быстрее отлаживать запросы.
Думаю, что функционал гораздо шире, но пока освоился только с обычной отправкой запроса и получением результата. Классная фишка - можно сохранить папку запросов и отправить коллеге, прям как в консоли запросов)
Для тестирования нашел пару интересных открытых и публичных API, как раз повод попробовать в деле:
🔹 Cat Facts – случайные факты о кошках каждый день.
https://catfact.ninja/fact
🔹 Nationalize - предсказывает национальность человека по его имени.
https://api.nationalize.io/?name=Roman
🔹 Joke API - API генерирует случайные шутки. Вы также можете получать шутки определенного типа (например, только шутки о программировании).
https://official-joke-api.appspot.com/random_joke
Сейчас готовлю материал для внутреннего митапа по этой теме, если поделитесь интересными наблюдениями или другими программами и поделитесь опытом, буду благодарен) Знаю про аналогичный софт – Insomnia, кто пользовался, чем лучше?
А если вы как и я не знали про клиентов для тестирования API, ставьте
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
#ЕБ_Развитие
Please open Telegram to view this post
VIEW IN TELEGRAM
Писать с нуля или попробовать выпилить из типовой
Есть у меня текущая задача: сделать интеграцию не типовой конфигурации с платежной системой Юкасса.
И передо мной встал вопрос, писать заново интеграцию с нуля, используя документацию, или же попробовать вытянуть из типовой конфигурации. Спойлер – сделать 50/50)
В целом подобные задачи с таким выбором у меня уже не первый раз. И всегда нужно смотреть по ситуации.
Какие можно выделить моменты
🔹 Взять из типовой:
- Быстро, но только в случае если требуется явно выделенная часть или уже есть пересечения в конфигурации (например, и там и там есть БСП);
- При обновлении можно будет сравнить и взять снова изменения из типовой конфигурации;
- В типовой уже должен быть хорошо написанный и оптимизированный код, как минимум могут быть учтены нюансы и подводные камни.
🔸Написать с нуля
- Бывает даже быстрее, написать с нуля, когда нужна маленькая часть и не требуется тащить всю матрешку (связку процедур и функций по разным модулям) из типовой конфигурации;
- Более высокая совместимость с конкретной задачи, если есть уникальные условия;
- Как правило, лучшее понимание своего кода, чем чужого.
Ну и по итогу, в большинстве таких случаев у меня это взять часть из типовой и остальное написать с нуля под конкретную задачу. А как у вас?💬
Главная мысль данного поста: смотрите на готовые конфигурации, а также на доступные решения в интернете! Возможно до вас уже кто-то решал подобную задачу, вы можете подчерпнуть как решение, так и увидеть подводные камни.
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
#ЕБ_Развитие
Есть у меня текущая задача: сделать интеграцию не типовой конфигурации с платежной системой Юкасса.
И передо мной встал вопрос, писать заново интеграцию с нуля, используя документацию, или же попробовать вытянуть из типовой конфигурации. Спойлер – сделать 50/50)
В целом подобные задачи с таким выбором у меня уже не первый раз. И всегда нужно смотреть по ситуации.
Какие можно выделить моменты
🔹 Взять из типовой:
- Быстро, но только в случае если требуется явно выделенная часть или уже есть пересечения в конфигурации (например, и там и там есть БСП);
- При обновлении можно будет сравнить и взять снова изменения из типовой конфигурации;
- В типовой уже должен быть хорошо написанный и оптимизированный код, как минимум могут быть учтены нюансы и подводные камни.
🔸Написать с нуля
- Бывает даже быстрее, написать с нуля, когда нужна маленькая часть и не требуется тащить всю матрешку (связку процедур и функций по разным модулям) из типовой конфигурации;
- Более высокая совместимость с конкретной задачи, если есть уникальные условия;
- Как правило, лучшее понимание своего кода, чем чужого.
Ну и по итогу, в большинстве таких случаев у меня это взять часть из типовой и остальное написать с нуля под конкретную задачу. А как у вас?
Главная мысль данного поста: смотрите на готовые конфигурации, а также на доступные решения в интернете! Возможно до вас уже кто-то решал подобную задачу, вы можете подчерпнуть как решение, так и увидеть подводные камни.
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
#ЕБ_Развитие
Please open Telegram to view this post
VIEW IN TELEGRAM
Довольно часто к программисту приходит задача с формулировкой: «при таком-то простом условии от бизнеса заблокировать запись документа».
Задача сама по себе несложная, для новичка выглядит очевидным в событии документа ПриЗаписи добавить простое условие и установить Отказ = Истина.
И ошибка заключается в том, что программисты не уточняют следующие вопросы:
Бывает нужно просто вывести сообщение, а блокировать нет необходимости.
Как правило на полные права она распространяется.
Бывает так, что он создаётся автоматически из другой обработки и это тоже надо учесть.
На такой вопрос заказчик может задуматься и правда найти исключение в своем условии.
Если пользовательское, то эту проверку надо перенести на форму. Если не задаться этим вопросом, можно заблокировать какой-нибудь обмен данными, который возможно происходит и без установленного флага ОбменДанными.Загрузка = Истина.
Бывают документы с огромным количеством строк, и если пользователь который их вбивал несколько часов, не сможет записать документ, то он вряд ли обрадуется, когда выяснит, что теперь ему надо внести данные заново.
На какие-то вопросы нужно получить ответ от бизнеса, а на какие-то можно постараться найти самим ответы. Но только после получения ответов на эти вопросы, можно говорить о жесткой блокировке записи документа.
Можно привязать данное условие к какому-то функционалу, который можно отключить. Например, константы, или периодический регистр сведений, чтобы отсекать по дате, где проверка нужна, а где нет и т.п.
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Технологический журнал 1С
Есть такая классная штука в 1С как технологический журнал!
Это снова тема моего внутреннего хакатона в компании, которые в будущем планирую переделать в видео-формат и выложить в канале.
⏩ А так, что же это такое и с чем его едят?
Итак, официальное определение: технологический журнал используется для анализа технологических проблем работы системы и анализа аварийных завершений. Он регистрирует информацию от всех приложений системы 1С:Предприятие 8, работающих на данном компьютере.
❗️ Не путать с журналом регистрации, который видно из конфигуратора или предприятия, а технологический журнал представляет собой совокупность текстовых файлов, хранящихся в указанном каталоге.
🔹 Файлы по умолчанию хранятся в каталоге 1Cv8\dumps, а файл с настройками хранится по пути C:\Program Files (x86)\1cv8\conf\logcfg.xml
🔹 Но настройку ТЖ лучше всего делать через обработку с ИТС https://its.1c.ru/db/metod8dev/content/3474/hdoc.
⏩ С чем сталкивался и что удавалось отловить с помощью ТЖ:
🔹 Блокировки
🔹 Длительные транзакции
🔹 Запросы к базе данных
🔹 Утечки памяти
❗️ Учитывайте, что ТЖ по умолчанию выключен, и настраивать его надо аккуратно, иначе если выбрать совсем все события, то файлы будут большими, будет нагрузка на сервер и разобраться и найти, то что вам потребуется, будет сложнее.
P. S. Тема большая, поэтому в будущем расскажу подробнее про конкретные кейсы. Но знать про существование технологического журнала считаю необходимым!
Кто сталкивался, есть какие-то кейсы, поделитесь в комментариях)💬
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
Есть такая классная штука в 1С как технологический журнал!
Это снова тема моего внутреннего хакатона в компании, которые в будущем планирую переделать в видео-формат и выложить в канале.
Итак, официальное определение: технологический журнал используется для анализа технологических проблем работы системы и анализа аварийных завершений. Он регистрирует информацию от всех приложений системы 1С:Предприятие 8, работающих на данном компьютере.
🔹 Файлы по умолчанию хранятся в каталоге 1Cv8\dumps, а файл с настройками хранится по пути C:\Program Files (x86)\1cv8\conf\logcfg.xml
🔹 Но настройку ТЖ лучше всего делать через обработку с ИТС https://its.1c.ru/db/metod8dev/content/3474/hdoc.
🔹 Блокировки
🔹 Длительные транзакции
🔹 Запросы к базе данных
🔹 Утечки памяти
P. S. Тема большая, поэтому в будущем расскажу подробнее про конкретные кейсы. Но знать про существование технологического журнала считаю необходимым!
Кто сталкивался, есть какие-то кейсы, поделитесь в комментариях)
----------------
> > > Дайджесты по каналу < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Продажа Б/У вещей
Довольно давно, лет 15 назад я начал продавать Б/У вещи на различных площадках, и были очень разные товары)
Например, на выходных продал новый скоростной кубик-рубика, который продавался более 7 лет!
И да, некоторые вещи продаются ооочень долго, нужно терпение, но почти все я продал.
В актуальном профиле монопольной площадки у меня в архиве 150 объявлений.
Всему есть свой предел, конечно, грязные, порванные, да и в целом вещи я не продавал. В основном это какая-то электроника и крупное имущество (движимое и недвижимое).
Было открытием, что на ура улетают б/у шины, которые покупают чтобы один раз «подрифтить», и такое бывает…
Из самых ярко запомнившихся продаж – это пионерский барабан, «настоящий», советский! Достался, когда разбирали хлам в школе, но дома играть было нельзя, слишком громко и как раз примерно в это же предновогоднее время он и ушел с большой радостью на подарок какому-то следующему ребенку (мне на тот момент тоже было лет 10 +-).
Вообще, продавая то, что стало уже не нужно, есть ощущение продления жизни нормальным вещам, а не бездушное выкидывание их на мусорку.
А вы продаете то, что вам уже не нужно или считаете это зазорным и лучше выкинуть?💬
----------------
> > > Дайджесты по каналу < < <
> > > Видео-мемы < < <
#ЕБ_Повседневность
Довольно давно, лет 15 назад я начал продавать Б/У вещи на различных площадках, и были очень разные товары)
Например, на выходных продал новый скоростной кубик-рубика, который продавался более 7 лет!
И да, некоторые вещи продаются ооочень долго, нужно терпение, но почти все я продал.
В актуальном профиле монопольной площадки у меня в архиве 150 объявлений.
Всему есть свой предел, конечно, грязные, порванные, да и в целом вещи я не продавал. В основном это какая-то электроника и крупное имущество (движимое и недвижимое).
Было открытием, что на ура улетают б/у шины, которые покупают чтобы один раз «подрифтить», и такое бывает…
Из самых ярко запомнившихся продаж – это пионерский барабан, «настоящий», советский! Достался, когда разбирали хлам в школе, но дома играть было нельзя, слишком громко и как раз примерно в это же предновогоднее время он и ушел с большой радостью на подарок какому-то следующему ребенку (мне на тот момент тоже было лет 10 +-).
Вообще, продавая то, что стало уже не нужно, есть ощущение продления жизни нормальным вещам, а не бездушное выкидывание их на мусорку.
А вы продаете то, что вам уже не нужно или считаете это зазорным и лучше выкинуть?
----------------
> > > Дайджесты по каналу < < <
> > > Видео-мемы < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотелось бы поделиться одной суперской настраиваемой функцией редактирования модулей – это выделение выбранного и текущего идентификаторов.
Настраиваются эти параметры через панель Сервис -> Параметры -> Модули -> Редактирование.
«Из коробки» они не заданы, поэтому при каждом переходе в конфигуратор на новом месте их необходимо настраивать по новой, но это входит в привычку и практически не замечается.
Это очень удобная функция, помогающая разбираться в больших кусках кода, либо «перегруженных» операциями. В добавок к этому, это выделение помогает не допускать опечаток, когда вроде переменная та же, но буква, например, «О», на другом языке или т.п.
По цветам ставлю всегда «Лосось» либо «Лосось светлый», нейтральные цвета, но при этом заметные. Хотя это дело вкуса)
Пишите в комментариях пользуетесь выделением или может быть впервые видите?
----------------
> > > Дайджесты по каналу < < <
> > > Видео-мемы < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
ИИ идет в блогеры
Вновь используя бота по генерации GigaChat, наткнулся на раздел "Генерация постов для блога", и стало интересно посмотреть на результат.
Результат порадовал, относительно широкого запроса: пост для начинающих программистов 1С
Поделюсь им с вами в следующем посте.
В целом воды много, но сама суть в тему.
Считаю, что использовать такие штуки можно и иногда нужно в своей жизни, но новичкам посоветовал бы быть осторожнее, так как если вам попадется некорректный ответ, его может быть сложно определить таковым. Поэтому чтение авторских блогов специалистов, которые имеют уже большой опыт гораздо может быть полезнее, так как там текст проходит хоть какую-то логическую проверку человеком (тут тоже бывают исключения, конечно же))
Всем сил на этой сложной и длинной неделе! А также предпраздничного, новогоднего настроения)
----------
Если кто ещё не слышал, 1С выпустила бета-версию платформы 8.5 с новым интерфейсом в чёрно-белый тонах.
Ссылка на официальные источники
Ждём выхода полноценной версии)
#ЕБ_Повседневность
Вновь используя бота по генерации GigaChat, наткнулся на раздел "Генерация постов для блога", и стало интересно посмотреть на результат.
Результат порадовал, относительно широкого запроса: пост для начинающих программистов 1С
Поделюсь им с вами в следующем посте.
В целом воды много, но сама суть в тему.
Считаю, что использовать такие штуки можно и иногда нужно в своей жизни, но новичкам посоветовал бы быть осторожнее, так как если вам попадется некорректный ответ, его может быть сложно определить таковым. Поэтому чтение авторских блогов специалистов, которые имеют уже большой опыт гораздо может быть полезнее, так как там текст проходит хоть какую-то логическую проверку человеком (тут тоже бывают исключения, конечно же))
Всем сил на этой сложной и длинной неделе! А также предпраздничного, новогоднего настроения)
----------
Если кто ещё не слышал, 1С выпустила бета-версию платформы 8.5 с новым интерфейсом в чёрно-белый тонах.
Ссылка на официальные источники
Ждём выхода полноценной версии)
#ЕБ_Повседневность
Сбилась нумерация? НЕ паникуй
В начале года, как никогда актуальная проблема!
Был номер вида Префикс-День-ПоследовательныйНомер и вдруг стал просто ПоследовательныйНомер…
Есть функция ОбновитьНумерациюОбъектов(<Метаданные>)
❗️ ❗️ ❗️ С ней тоже надо быть аккуратнее и лучше тестировать на копии, прежде чем выполнять в рабочей базе.
Но по своей логике, она сбрасывает нумерацию и после этого при создании нового номера, он будет генерировать последовательно по максимальному номеру.
❗️ Чтобы она отработала корректно, предварительно нужно поправить все «неправильные» номера в документах либо справочниках.
Либо путем ручного изменения (если речь о 1-5 элементах) либо написать обработку, которая по правилу присвоения номера исправит принудительно номера в «съехавших» документах.
📢 При написании такой обработки, документы как правило упорядочиваются по «Ссылка».
Если сталкивались с тем, что сбивалась нумерация, напишите сколько было ошибочных и сколько правили по времени, или дополните пост своими вариантами решения на эту тему)💬
----------------
> > > Дайджесты по каналу < < <
> > > Видео-мемы < < <
#ЕБ_Повседневность
В начале года, как никогда актуальная проблема!
Был номер вида Префикс-День-ПоследовательныйНомер и вдруг стал просто ПоследовательныйНомер…
Есть функция ОбновитьНумерациюОбъектов(<Метаданные>)
Пример: ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг)
Но по своей логике, она сбрасывает нумерацию и после этого при создании нового номера, он будет генерировать последовательно по максимальному номеру.
Либо путем ручного изменения (если речь о 1-5 элементах) либо написать обработку, которая по правилу присвоения номера исправит принудительно номера в «съехавших» документах.
Если сталкивались с тем, что сбивалась нумерация, напишите сколько было ошибочных и сколько правили по времени, или дополните пост своими вариантами решения на эту тему)
----------------
> > > Дайджесты по каналу < < <
> > > Видео-мемы < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM