Оптимизация реструктуризации БД

1С бухгалтерия

Метод работает только в клиент-серверном варианте
1. На сервере 1С устанавливаем runtime Java 8 (https://java.com/ru/download/). Разрядность Java должна совпадать с разрядностью сервера 1С.
Добавляем в файл C:\Program Files\1cv8\8.3....\bin\conf\conf.cfg строку:

UpdateDBCfg=v2

Само обновление конфигурации в конфигураторе
Конфигурация БД - Обновить конфигурацию БД на сервере.

1с + Apache выдает the requested url was not found on this server

1С бухгалтерия

Установил Apache, как положено с правами администратора опубликовал базу, но при открытии в браузере получил такое сообщение: the requested url was not found on this server

Представление документа в СКД

1С бухгалтерия

В поле "Выражение по которому вычисляется представление поля" пишем:

ВЫБОР 
	КОГДА Заказ ЕСТЬ NULL ТОГДА ""
	ИНАЧЕ "Заказ " + ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Заказ.Номер) + " от " + Формат(Заказ.Дата, "ДФ='дд.ММ.гггг'")
КОНЕЦ	

Запросы

1С бухгалтерия

Иногда тип значения поля заранее не известен и выражение вида:

МАКСИМУМ(ВЫБОР
	КОГДА ВТ_Свойства.Имя = "Свойство1"
		ТОГДА ХА_ЗаказДополнительныеРеквизиты.Значение
	ИНАЧЕ "" 
	КОНЕЦ)

в случае с числовым полем в качестве максимума вернет не максимальное число. После ИНАЧЕ для вычисления максимума по числовому полю обязательно нужно писать 0.

Конец дня в виртуальных таблицах

1С бухгалтерия

Виртуальная таблица Остатки() даёт остатки на границу НЕ ВКЛЮЧАЯ.
Таблица ОстаткиИОбороты и Обороты выдаёт данные по границу ВКЛЮЧАЯ

Вариант обхода:

РегистрНакопления.ТоварыНаСкладах.Остатки(ДобавитьКДате(КонецПериода(&КонДата, "День"), "Секунда", 1),)

Особенности СКД

1С бухгалтерия

Создаем в запросе таблицу:
- Контрагент
- Договор
- Партия
- Приход
- Расход
- ВЫБОР КОГДА Приход <> 0 И Расход <> 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Оборот

При разных группировках в последнем поле (Оборот) итоги будут отличаться, т.к. последнее поле будет рассчитываться для каждой группировки в отдельности. Если эту таблицу сначала поместить во временную таблицу и там сгруппировать, а потом уже выводить в отчет, то результат будет один и тот же.
Решение:

Строки подключения к базе данных 1С

1С бухгалтерия

База на сервере:
Srvr="Server-1C";Ref="Trade2";USR="главный бухгалтер";PWD="111";

Файловая база данных:
File="C:\1CBase";Usr="главный бухгалтер";Pwd="111";

Порядок включения стоимости ОС в состав расходов УСН

1С бухгалтерия

Если "Включить в состав амортизируемого имущества", то тогда вызывается процедура ВключитьВРасходыПрочее(). В этом случае будет сделана запись только в регистр КнигаУчетаДоходовИРасходов и соответственно в КУДиР будет запись только в 1 разделе (не будет записей во втором разделе (Расходы на ОС и НМА).

Если "Включить в состав расходов", то тогда вызывается процедура ВключитьВРасходыОС() и заполняться будут 1 и 2 раздел книги доходов и расходов.

Заметки по СКД

1С бухгалтерия

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

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,Новый Структура("АнализОстатков", АнализОстатков), ДанныеРасшифровки,Истина);

Использование ПО СинхронизацияДанныхЧерезУниверсальныйФормат и РС СоответствияОбъектовИнформационныхБаз

1С бухгалтерия

Делал собственную синхронизацию данных между 1С БП 3 и самописной конфигурацией. Решил воспользоваться для этих целей регистром сведений СоответствияОбъектовИнформационныхБаз, который имеется в бухгалтерии.