1С: Пять способов вывода сообщений с «сервера»

Конфигурации, платформы и БСП разные бывают, потому где-то сработает одно, где-то другое.

1) Универсальный способ: 

2)  Через СообщениеПользователю:

3) Старые БСП (ниже 3-й версии):

4) Свежие БСП (выше 3 версии)

5) Через «ВызватьИсключение»

Может быть полезно например при отказе в проведении документа в процедуре ОбработкаПроведения:

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

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

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

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

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

 

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

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

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

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

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

Получится:

 

Как много нам открытий чудных (с)

А вы знали, что ячейку в Excel можно разделить диагональной линией? Вот так:

Для этого достаточно в свойствах ячейки в «границах» щелкнуть по середине окна (там где точка оранжевая). Ну соответственно в связи с этим открываются возможности для всяких извращений типа с заголовками типа:

Линию подчеркивания закрасить белым цветом

1 4 5 6 7 8 29