Как постранично (порционно) листать результат запроса в 1С (ака LIMIT x,y в MySQL)

Большая беда MSSQL и как следствие 1С — отсутствие возможности порционно листать записи результата запроса как в MySQL. В результате рождаются такие монстроузные алгоритмы как ниже (код не мой):

Если вкратце, то алгоритм следующий:

  1.  Делаем выборку ВСЕХ записей, определяя, с какой записи было начало предыдущей страницы
  2. Начиная с этой записи, делаем выборку N записей
  3. Передаем результат

Интересно будет посмотреть как этот алгоритм будет вести себя при миллионах записей..

 

1C: пауза при исполнении кода

Есть мнение, что необходимость паузы в коде, это признак плохой архитектуры кода. Категорически не согласен. Да любой код можно усложнить так,  чтобы избежать необходимости паузы. Но стоит ли усложнять код ради этого? Нужно искать компромисс. В моем случае, пауза понадобилась из-за того что есть ограничение по количеству отправляемых СМС в секунду со стороны провайдера. Простой способ: отправлять СМС с паузой. Сложный способ — организовать очередь отправки через..ну например регламентные задания.  Зачем сложный способ для редкой отправки  20 СМС? Вот, держите один из реализаций «Паузы»:

1С:Добавление своего представления в поле выбора

Задача:  в отображении контрагента в поле выбора добавить помимо наименования, еще и его ИНН

Решение: переопределим процедуру ОбработкаПолученияПредставления в модуле менеджера справочника контрагента:

Получится:

 

Указано неверное поле для ввода по строке: Наименование

Иногда в справочниках 1С, реквизит Наименование не нужен. Если длинну его поставить 0, то при сохранении конфигурации может выйти ошибка «Указано неверное поле для ввода по строке: Наименование».

Чтобы поправить — нужно зайти во вкладку «Поле ввода», и убрать «Наименование» из «Ввод по строке»

УТ 11.3 не формируется файл offers.xml

Для того чтобы он начал формироваться, в УТ нужно пройти следующий квест:

1) Поставить галочки в константах «Использовать типовые тоглашения с клиентами» и «Использовать типовые и индивидуальные тоглашения с клиентами»

2) НСИ и Администрирование -> ПРодажи -> Оптовые продажи поставить «Использовать соглашения с клиентами» -> Типовые

2) Создать типовое соглашение через «Продажи» -> Индивидуальные соглашения с клиентами. Не забыть поставить галочку «Доступно для обмена с сайтом»

 

1 15 16 17 18 19 46