У платформы 1С в регламентных заданиях есть одна фишечка, на которую уже не первый раз попадаюсь. А именно, при создании регламентного задания в конфигураторе, его расписание в приложение «улетает» только один раз. А далее, это расписание хоть завыставляйся в конфигураторе — выполняться оно будет по расписанию выставленному в приложении.
Следовательно алгоритм следующий: создали регламентное задание , задали расписание. Если нужно изменить расписание — идем в приложение и выставляем его там, в «Обработка.РегламентныеИФоновыеЗадания»
Сегодня заметил, что все выходные не выполнялись фоновые регламентные задания у 1С. Гугл ответил, что такое происходит, если агент сервера MSSQL запускается раньше службы 1С предприятия. Помог перезапуск службы 1с.
Прилетела на той неделе мне задача организовать просмотр сотрудниками остатков на складах без непосредственного доступа в 1С. Первоначально хотел решить её при помощи технологии 1C «WEB сервис», однако сиё мне показалось слишком сложным решением для данной ситуации. Потому решил сделать просто «Регламентное задание» и на обработчик повесить данный код:
Построител = Новый ПостроительОтчета;
Построител.ТЕКСТ =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Склад КАК Склад,
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Tdata, ) КАК ТоварыНаСкладахОстатки
|ГДЕ
| ТоварыНаСкладахОстатки.Склад В ИЕРАРХИИ(&Склад)
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстатки.Склад,
| ТоварыНаСкладахОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Склад,
| Номенклатура
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| ОБЩИЕ,
| Склад,
| Номенклатура";
Построител.Параметры.Вставить("Tdata", КонецДня(текущаядата()));
Построител.Параметры.Вставить("Склад", Справочники.Склады.НайтиПоКоду("000000032"));
Построител.Выполнить();
Построител.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
Построител.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
Построител.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
//Построител.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
ТабДокумент = Новый ТабличныйДокумент;
Построител.Вывести(ТабДокумент);
ТабДокумент.Записать("C:\DocsRS\Documents\Отчеты1С\Остатки_на_складах.xls", ТипФайлаТабличногоДокумента.XLS);