Исхаков Игорь

1104
Рейтинг

Ish_2
Игорь Исхаков



  •   Регистрация: 22.01.2009 (15 лет назад)

  •   Был(а) на сайте: 17.04.2024

Подписчики 26

Группы

Профессиональный разработчик

IE 2019 Участник

Докладчик Meetup

Рейтинг 1104

Эх... МоментВремени() !

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free) Внешняя обработка (ert,epf) Механизмы платформы 1С

Два документа записаны с одинаковой датой . Какой из документов будет левее (раньше) на временной оси ?

18.04.2011    61112    119    Ish_2    64       

150

СКД против запроса с итогами

Статья Программист Система компоновки данных Конфигурации 1cv8 Россия Бесплатно (free) Внешний отчет (ert,erf) Работа с интерфейсом

Или как эффективно выгрузить и отобразить результат запроса не в табличном документе, а в табличном поле ? В статье сравниваются два способа выгрузки в "дерево" : - при помощи запроса с итогами - используя СКД

07.01.2011    36501    265    Ish_2    46       

96

СКД против "ручного" кодинга

Статья Программист Система компоновки данных 1С:Бухгалтерия 2.0 Россия Бесплатно (free) Внешний отчет (ert,erf) Работа с интерфейсом

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

28.09.2010    28889    264    Ish_2    189       

60

ФИФО для любопытных

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

Как одним запросом получить все движения расходных документов за период ? В статье приводится альтернативный алгоритм списания по методу ФИФО .

02.04.2010    51886    936    Ish_2    105       

115

БП1.6. Просроченная задолженность по 62 счету. Продолжение разговора

Отчеты и формы Программист Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 1.6 Россия Бухгалтерский учет Бесплатно (free) Внешний отчет (ert,erf) Взаиморасчеты

Свободное скачивание. Для бухгалтера : подробный отчет о просроченных долгах контрагентов по 62 счету. Для программиста : как одним запросом получить выходную таблицу просроченных долгов ? Развитие темы "Подведем итоги. Нарастающие" http://infostart.ru/public/61295/

13.01.2010    25980    516    Ish_2    43       

45

Подведем итоги. Нарастающие.

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free) Конфигурация (md, cf) Математика и алгоритмы Запросы

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

25.11.2009    53311    409    Ish_2    125       

117

Активный "крест" в табличном документе - II

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

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

02.04.2009    22020    817    Ish_2    40       

65

Комментарии

ОбменГотовим API правильно (ну или почти правильно)#2 15.06.23 23:43
Олег , ты совсем оторвался от народа.
Впрочем , писать статьи нужно ! Хотя бы только для того , чтобы упорядочить свои знания.
DevФИФО для любопытных#105 27.07.22 11:50
(104) Уу-ух., я вытер слезу.
К сожалению , не помогу. 11 лет прошло.
DevУниверсальный журнал документов для типовых конфигураций#5 08.07.21 22:12
Очередной универсальный журнал.
Да еще и с выводом в табличный документ.
Неинтересно.
Хотя для самого автора оформление такой публикации ,возможно , было полезным в части освоения механизмов платформы 1С.
DevМодель запроса#12 02.03.21 23:19
(11)
Цитата
Ну, сомнительна мне польза таких экзерсисов...

Автор в (3) уже обосновал применение "СхемыЗапроса".
Я бы добавил пример когда без "СхемыЗапроса" никак не обойтись.

Допустим, в текущей конфигурации 1с мы должны обрабатывать произвольные запросы к данным ( в синтаксисе запросов 1с) ,поступающие из других приложений 1с или НЕ 1с, используя http-сервис.
Тогда процедура общего модуля в качестве входных параметров имеет :
- строковую переменную "ТекстЗапроса"
- соответствие "ПараметрыЗапроса".
Внутри этой процедуры мы не можем сразу написать :
Запрос= Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить()
Нам нужно как минимум перед выполнением проверить "ТекстЗапроса" на синтаксис.
Далее , используя объект "СхемаЗапроса" , возможны некоторые проверки и исправления текста запроса.
( ну, например, у меня в конкретном решении удаляются из запроса поля выборки с типами "ДвоичныеДанные" ,"Тип")

Без объекта "СхемаЗапроса" такая функциональность была бы невозможна.
ПубликацииУчимся создавать http-сервисы (часть первая)#33 22.09.20 13:13
(32) Если говорить по существу , то в целом согласен с приведенными доводами.

(32)
Цитата
Я правильно понимаю что вам придется заморочится с кучей проверок, нежели нарисовать сервис и гонять параметры?

Ноги растут из обычной задачи : в центральном узле ERP в периферийных узлах базы разных поставщиков. Если узел 1с то ставим http-сервис - "читает все". Ну, будет он принимать текст запроса длиной 3-4 тысячи символов. И в чем проблема ?

В этом сервисе проверяется только корректность запроса для текущей базы. Заморочки при проверке небольшие : в запросе только один пакет , запрещены вложенные запросы, в некоторых случаях обязательно наличие периода и проч.
Все проверки простые ( используя объект СхемаЗапроса). В ERP создаются шаблоны запросов к каждой базе 1с.

Таким в данный момент мне видится сценарий решения этой задачи.
ПубликацииУчимся создавать http-сервисы (часть первая)#31 21.09.20 23:17
(30) В статье https://infostart.ru/public/955078/ позабавило применение "СтрЗаменить(..)" .
Автор и комментаторы явно не в курсе , что все обозначенные вопросы
решает программный объект "СхемаЗапроса", полученный из ТекстЗапроса.
Программным способом без всякого парсинга можно проверить синтаксис ,количество пакетов, ограничить число записей (ПЕРВЫЕ), запретить -удалить вложенные запросы ( к табличным частям объектов)
удалить колонки (поля выборки) запроса, и проч. и проч.

Что касается Odata. Основное его назначение - обмен данными.
Если стоит задача произвольного чтения из базы ( сложные запросы с соединениями ) , то он не применим. Возразите ?.
Во всяком случае в статье https://infostart.ru/1c/articles/885287/
для формирования отчета "ОстаткиИДоступностьТоваров" Odata используется только для получения небольшого списка складов . Почему же протокол Odata не использовался при выводе тела отчета ?
Имея возможность выполнить произвольный запрос ( с понятными ограничениями) , не пришлось бы так выкручиваться , прибегая к созданию макета СКД.
Для меня такой пример как "танцы с бубном".
Впрочем , дело вкуса . Для демонстрации и обучения такой пример вполне подойдет.

(30)
Цитата
-Выполнятор может быть использован против вас. Можно запускать кривые запросы и вы даже не поймете почему тормозит.

Кривые запросы возможны и в Odata. И Вы также "не поймете почему тормозит". Я хочу сказать , что общие соображения беспредметны и могут быть повернуты в любую сторону.

(30)
Цитата
-Вы постоянно гоняете текст запроса\код целиком это все равно что ходить в библиотеку со своими книгами и просить библиотекаря из них что то прочитать
Не понял о чем это ? Мы все чего-то гоняем в разные стороны..


(30)
Цитата
-в случае изменения\обновления конфигурации источника, ваши поделки могут сломаться и тогда чинить их придётся во всех базах получателях.

Предполагается , что обработчик метода http- сервиса , реализованного в расширении , проверяет корректность текста запроса перед запуском на выполнение , выполняет запрос и ничего более . Приведите пример такого изменения конфигурации. Оценим его вероятность и вредоносность для сервиса.
ПубликацииУчимся создавать http-сервисы (часть первая)#29 21.09.20 21:28
(26)
Цитата
просто не люблю примеры из разряда "Пример мир".

А я люблю, если понимать под словами "Пример мир" предоставление некоторого общего концепта , базовой идеи.
Например , концепт "Выполнятор" , суть которого - выполнение произвольного кода на внешнем ресурсе - совсем не нов , но хорош сам по себе. По-моему , красиво. Уверен , что где-то этот концепт или уже развернут или будет развернут в концепцию безопасного применения произвольного кода .
Читая Вашу статью , я задался вопросом а почему сразу "Выполнятор" ? может начать с задачи поскромнее и безопаснее : "Выполнение произвольного запроса на внешнем ресурсе 1с".
В параметрах http-запроса передается параметр "ТекстЗапроса", в обработчике метода пишем
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса);
И если нет ошибок выполняем запрос и результат его выполнения
запишем в ЗаписьJSON.
В принципиальном плане вроде все просто-понятно .
Скорее всего кто -то уже реализовал эту идею , но на инфостарте я ничего такого не нашел. Не дадите ссылку ?
ПубликацииУчимся создавать http-сервисы (часть первая)#24 20.09.20 10:37
(21)
Цитата
Это на вскидку.

"Вскидка" оказалось очень существенной.
Читать Вашу статью все равно пришлось.
Спасибо.
ПубликацииУчимся создавать http-сервисы (часть первая)#22 19.09.20 11:03
(21) При изучении наук примеры полезнее правил. (с) Ньютон.
Если я что-то изучаю с нуля мне не правила нужны ( я их потом изучу самостоятельно) , мне нужен сквозной практический пример ( в данном случае создания простейшего http сервиса).
Автор его дает сжато и быстро . На первом этапе другого и не нужно.
Передача параметров, кодировка и проч . неточности обучающийся выяснит после того как поймет , что это за зверь http -сервис.