Платформа 8.2

Ключевое слово РАЗРЕШЕННЫЕ в запросе.

Использование слова РАЗРЕШЕННЫЕ в запросах на проверку может привести к логической ошибке.
Если нам, например, нужно при вводе документа Заказ проверить наличие уже введенного документа и запретить ввод второго, то в запросе проверке нельзя использовать слово РАЗРЕШЕННЫЕ. Т.к. на первый документ у нас может не быть прав и результат запроса будет пустой, что повлечет ошибочное разрешение на ввод второго документа. Таким образом правильное решение это проверять наличие первого документа без слова РАЗРЕШЕННЫЕ и в Попытке, при возникновении исключения запрещать ввод второго документа.

Округление в запросе

При использовании конструкции

ВЫРАЗИТЬ(КоличествоКоробокДоОкругления КАК Число(19,0))

для округления можно наступить на грабли.
А именно все что >=0.5 округляется до 1.
Всё что <0.5 округляется до 0.

Допустим мы расчитываем заказ на склад в коробках, т.е. требуемое кол-во делим на кол-во штук в коробке получаем КоличествоКоробокДоОкругления. Что расчитать в запросе требуемый заказ в целых коробках и не заказать лишней коробки нужно писать так:

ВЫРАЗИТЬ(КоличествоКоробокДоОкругления+0.4999999999999999999 КАК Число(19,0))

,а не

Запуск команды системы без выскакивающего черного окна оболочки

Допустим мы хотим из 1С послать сообщение нашему пользователю vasya_pupkin:

net send vasya_pupkin Привет!

Если написать так:

ЗапуститьПриложение("net send vasya_pupkin Привет!");

то на экране мигнет черное окно оболочки.

Чтоб сделать "красиво" используем такой код:

Ком = Новый COMObject("wScript.Shell");
Ком.Run("net send vasya_pupkin Привет!",0,Ложь);

Второй параметр метода Run по данным сайта Microsoft(пока не перевел):

0 Hides the window and activates another window.
1

Если нужно скопировать настройки одной роли в другую

Появилась задача скопировать настройки роли СпециалистСбыта_РуководительГруппы в СпециалистСбыта_РуководительОтдела.

Самый простой способ:

1) делам копию конфигурации и загружаем в пустую базу
2) в копии переименовываем
СпециалистСбыта_РуководительОтдела -> СпециалистСбыта_РуководительОтдела_
СпециалистСбыта_РуководительГруппы -> СпециалистСбыта_РуководительОтдела
3) выгружаем конфигурацию из копии
4) делаем сравнение и объединение с основной базой, указываем только одну нашу роль

Универсальный обмен данными XML (загрузка)

Ранее мы рассмотрели как организовать выгрузку данных используя обработку "Универсальный обмен данными XML", для случая файлового обмена (в отличие от обмена через COM) необходимо обеспечить его приемку на стороне приемника.
Далее код:

Универсальный обмен данными XML (выгрузка)

Обработку универсального обмена данными через XML можно использовать программно в своих целях, например для организации обмена между базами с различными конфигурациями.
Ниже приведем пример рабочего кода выполняющего выгрузку данных.

Запись файла на FTP сервер с архивацией ZIP из 1С 8.1,8.2

Представляю кусок готового кода записывающего файл, архивированный ZIP, на FTP сервер, который вы легко адаптируете под себя:

Настройка параметров запуска сервера 1С Предприятие 8 в реестре

Если на машине установлены сервер 1С Предприятие 8.1 и 1С Предприятие 8.2 то нужно развести по разным портам. Для этого в реестре находим ключ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.2 Server Agent

и обращаем внимание на ключ

ImagePath

Справочники

Документы

Отчеты

Обработки

RSS-материал