Size: a a a

1С, БСП, DevOps и Архитектура

2021 March 06

JD

John Doe in 1С, БСП, DevOps и Архитектура
gosn1ck
никогда не задумывался тоже) тупо пишу как типовописатели. а что можно сразу в 1ом сделать условие?
Я всегда выражаю в первом запросе (выбора из ТЗ-параметра), чтоб в остальных уже сразу получить сахар в плюсиках в конструкторе
источник

ПМ

Павел Мишин... in 1С, БСП, DevOps и Архитектура
Andrey Borodavko
вот такое вот
дальше там еще длинный запрос, который с этими полями работает
Выразить транлируется в "выбор когда иначе null"  - выбор когда это оператор нежелательный в условиях отбора, соединения. Сращу в исходной таблице прогоните через выразить поля ТЗ и не исполтзуйте выразить нигле кроме секции выбрать
источник

AB

Andrey Borodavko in 1С, БСП, DevOps и Архитектура
Павел Мишин
Выразить транлируется в "выбор когда иначе null"  - выбор когда это оператор нежелательный в условиях отбора, соединения. Сращу в исходной таблице прогоните через выразить поля ТЗ и не исполтзуйте выразить нигле кроме секции выбрать
Благодарю, сделал так
Попробую еще с соединениями поиграть, может что прикольное получится
источник

ПМ

Павел Мишин... in 1С, БСП, DevOps и Архитектура
В частном случае когда вы знаете что у вас в поле все значения заполнены и они одного типа (номенклатура) модно вообще оиказатся от выразить (которое означает левое соединение плюч анализ соединения через выбор когда) на прямое внутренне соединения с таблицей номенулатуры и фильтровать по физическим полям этой таблицы и выбирать в результат физические поля. В итоге ни одного выразить и и ни одного левого соединения в плане запроса.
источник
2021 March 07

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Не знаю даже в каком чатике спросить...
Нужно отправить файл из 1с тг-ботом в чат.
Не первый день пользуют тг-бот платформой. Но от метода sendDocument сломался мозг и клавиатура.
В апи есть три метода отправки: file_id, url и "usualy way" (гореть ему в аду).
Что за "обычный путь"? Как им воспользоваться в коде? Может есть пример? Два дня гугления и примеры библиотек других языков как-то особо не помогли((
Предполагаю, что после отправки я должен получить в ответе file_id и его засунуть в поле document (обратный принцип скачиванию файлов)?
https://core.telegram.org/bots/api#senddocument
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Не знаю даже в каком чатике спросить...
Нужно отправить файл из 1с тг-ботом в чат.
Не первый день пользуют тг-бот платформой. Но от метода sendDocument сломался мозг и клавиатура.
В апи есть три метода отправки: file_id, url и "usualy way" (гореть ему в аду).
Что за "обычный путь"? Как им воспользоваться в коде? Может есть пример? Два дня гугления и примеры библиотек других языков как-то особо не помогли((
Предполагаю, что после отправки я должен получить в ответе file_id и его засунуть в поле document (обратный принцип скачиванию файлов)?
https://core.telegram.org/bots/api#senddocument
Там можно либо дать ссылку на файл, который уже загружен, либо передать двоичные данные в данных формы. Но второй не очень рекомендуется
источник

H

Hero in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Не знаю даже в каком чатике спросить...
Нужно отправить файл из 1с тг-ботом в чат.
Не первый день пользуют тг-бот платформой. Но от метода sendDocument сломался мозг и клавиатура.
В апи есть три метода отправки: file_id, url и "usualy way" (гореть ему в аду).
Что за "обычный путь"? Как им воспользоваться в коде? Может есть пример? Два дня гугления и примеры библиотек других языков как-то особо не помогли((
Предполагаю, что после отправки я должен получить в ответе file_id и его засунуть в поле document (обратный принцип скачиванию файлов)?
https://core.telegram.org/bots/api#senddocument
Путь к файлу наверное имеется ввилу к файлу, который на сервере телеги находится.
Тебе вроде просто двоичные данные нужно отправить multipart?
источник

H

Hero in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Не знаю даже в каком чатике спросить...
Нужно отправить файл из 1с тг-ботом в чат.
Не первый день пользуют тг-бот платформой. Но от метода sendDocument сломался мозг и клавиатура.
В апи есть три метода отправки: file_id, url и "usualy way" (гореть ему в аду).
Что за "обычный путь"? Как им воспользоваться в коде? Может есть пример? Два дня гугления и примеры библиотек других языков как-то особо не помогли((
Предполагаю, что после отправки я должен получить в ответе file_id и его засунуть в поле document (обратный принцип скачиванию файлов)?
https://core.telegram.org/bots/api#senddocument
Найди гитхаб вот этого парня plugefox, у него там есть пример загрузки данных формы через бота.
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
И на ИС куча статей по Телеге
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Hero
Найди гитхаб вот этого парня plugefox, у него там есть пример загрузки данных формы через бота.
Попробую.
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Hero
Путь к файлу наверное имеется ввилу к файлу, который на сервере телеги находится.
Тебе вроде просто двоичные данные нужно отправить multipart?
Именно это и предлагают сделать в документации.) "Просто отправить файл"
Но как - не понятно.
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Konstantin Heinrich
И на ИС куча статей по Телеге
Если дадите хоть одну ссылку с примером - буду крайне признателен.
источник

H

Hero in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Если дадите хоть одну ссылку с примером - буду крайне признателен.
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Если дадите хоть одну ссылку с примером - буду крайне признателен.
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Это с данными формы
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
​​Дневник капитана, желтая Дата(2020, 5, 8).

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

Сделаем так, чтобы файл из базы можно было открыть или скачать в Инете по адресу типа:
https://<server>/<base>/hs/<service>/file/<uuid>.<ext>.
В котором:
server - адрес веб-сервера с базой, например, mycompnay.ru;
base - имя публикации базы;
service - корневой URL http-сервиса;
uuid - уникальный идентификатор файла, по которому его можно найти в базе;
ext - расширение файла.
Т.е., например, может быть такой путь к файлу:
https://mycompnay.ru/mybase/hs/myservice/file/123e4567-e89b-12d3-a456-426655440000.jpg.

Чтобы реализовать это, необходимо создать в конфигурации http-сервис с корневым URL myservice, добавить в него шаблон /file/{filename} и уже в нем создать HTTP-метод GET со следующим обработчиком:

 function getFile(request)
 fileName = request.URLParameters.get("filename"); //1
 file = new File(fileName);
 binaryData = getFileData(file.baseName); //2
 statusCode = ?(binaryData = undefined, 404, 200); //3
 response = new HTTPServiceResponse(statusCode);
 response.headers["Content-Type"] = getMIMEType(file.extention); //4
 if binaryData <> undefined then
   response.setBodyFromBinaryData(binaryData); //5
 endif;
 return response;
endfunction


Пояснения по коду:
1. Достаем ид файла и расширение из параметров URL.
2. Это функция получения самих двоичных данных по ид. Например, у вас есть справочник Файлы, используется его гуиды.
3. Если файл в базе не нашли, вернем 404.
4. Необходимо подсказать браузеру или другому конечному клиенту, какой тип данных мы вернули. За это отвечают ‘MIME-типы’. Мы определяем тип по расширению. Внутри функции может быть просто соответствие, которое можно заполнить, взяв данные отсюда.
5. Кладем данные в тело ответа.

Скорее всего, вам надо будет сделать так, чтобы файл можно было получить сразу, без ввода имени/пароля пользователя 1С. Для этого в файле публикации базы default.vrd нужно написать строку такого вида (пример для файловой базы):
ib="File=&quot;F:\1C\Base&quot;;usr=&quot;Admin&quot;;pwd=&quot;123&quot;;" .
Если у вас уже есть публикация, то следует сделать такие настройки в отдельной публикации только с нужным сервисом, чтобы не было доступа к вашей базе без аутентификации.
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Вот пример как отдавать файлы в Инет
источник

С

Самат in 1С, БСП, DevOps и Архитектура
Добрый вечер! Как в отчете скд выводить поле квартал как на рисунке?
источник

С

Самат in 1С, БСП, DevOps и Архитектура
источник

Г

Г🐈рри in 1С, БСП, DevOps и Архитектура
I
set kat=C:\Program Files (x86)\1cv8\8.3.13.1926
set serv=172.20.2.4
set base=New
set user=Admin
set pass=passw%rd
set passblok=3%%%%%%%%@%%@%@%%#%@eFpH
set pathexport="F:\Backup\NewNPO_%date%.dt"&nbsp;
"%kat%\bin\1cv8.exe" ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C ЗавершитьРаботуПользователей &nbsp;
"%kat%\bin\1cv8.exe" CONFIG /S %serv%\%base% /DisableStartupMessages /DumpIB %pathexport%&nbsp;/N %user% /P %pass% -NoTruncate /UC %passblok%
"%kat%\bin\1cv8.exe" ENTERPRISE /S %serv%\%base% /N %user% /P %pass% /DisableStartupMessages /C РазрешитьРаботуПользователей /UC %passblok%
проверь свой батник на 17-ой платформе на типовых: БП, ЗУП, УТ при кейсе, когда в базах кто-то сидит. При большей долей вероятности - твой скрипт уже не сработает. Там что-то изменилось (то ли в платформе, то ли в этом механизме выгона пользователей). В итоге, батник будет висеть на завершить работу пользователей.
источник