arefaste/1C_Forums huggingface dataset:
Доброго времени суток, коллеги. Подскажите , пожалуйста, где можно найти свежую информацию по загрузке данных из файлов формата excel в управляемом приложении. Конкретно интересует ,как получить заполненные ячейки. Нашел на другом форуме такую конструкцию: АктивныеСтроки = Книга.ActiveSheet.UsedRange;
, но не работает . Собственно ,дойдя до нее и вылезает ошибка. Заранее благодарен.

```1c
    &НаКлиенте
    Процедура ПолучитьДанные(Команда)

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите файл:";
    Диалог.ПолноеИмяФайла = ";
    Диалог.ПредварительныйПросмотр = Истина;
    Диалог.Фильтр = ("*.xls;*");

    Если Диалог.Выбрать() Тогда

    Файл = Диалог.ПолноеИмяФайла;

    Иначе

    Отказ = Истина;
    Возврат;

    КонецЕсли;

    Попытка

    Excel = Новый COMОбъект(","Excel.Application");
    Книга = Excel.Workbooks.Open(Файл);

    Исключение

    Сообщить("Не удалось открыть Файл по причине:"+ Файл + ОписаниеОшибки());

    КонецПопытки;

    АктивныеСтроки = Книга.ActiveSheet.UsedRange;
    ЧислоКолонок = RangeAll.Columns.Count;
    ЧислоСтрок = RangeAll.Rows.Count;

    ПолучитьДанныеНаСервере(ЧислоСтрок,RangeAll);

    КонецПроцедуры
```
---
COMОбъект Не изобретайте велосипед, загрузка эксель-файла в 1С доступна средствами платформы:
На клиенте читаете файл в двоичные данные. Отправляете двоичные данные на сервер и записываете их во временный файл. Используйте метод Прочитать табличного документа, чтобы загрузить данные из временного файла.
---
Только-что отвечал =)) Здесь было или нет не помню

```1c
    ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВременногоХранилища); // ДвоичныеДанные
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.Прочитать(ИмяВременногоФайла);
    ПЗ = Новый ПостроительЗапроса;
    ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДокумент.Область());
    ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    ПЗ.ЗаполнитьНастройки();
    ПЗ.Выполнить();
```
---
COMОбъект Не изобретайте велосипед, загрузка эксель-файла в 1С доступна средствами платформы:
На клиенте читаете файл в двоичные данные. Отправляете двоичные данные на сервер и записываете их во временный файл. Используйте метод Прочитать табличного документа, чтобы загрузить данные из временного файла.
---
Только-что отвечал =)) Здесь было или нет не помню

```1c
    ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВременногоХранилища); // ДвоичныеДанные
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.Прочитать(ИмяВременногоФайла);
    ПЗ = Новый ПостроительЗапроса;
    ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДокумент.Область());
    ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    ПЗ.ЗаполнитьНастройки();
    ПЗ.Выполнить();
```
---
(3) Спасибо , коллеги)
Доброго всем времени суток.
УТ 11.4. Добавил новый вид ограничений по контрагенту. Добавил Профиль группы, группу доступа. В группе настроил ограничение.
При обновлении вспомогательных данных обработкой "ОбновлениеВспомогательныхДанных" выходит такая ошибка:
http://prntscr.com/1xwjx8e

Подскажите, куда копать
---
Так в сообщении об ошибке все написано. В модуле объекта нет экспортной процедуры.
---
Так в сообщении об ошибке все написано. В модуле объекта нет экспортной процедуры.
---
Вы совершенно правы, не хватало процедуры, не понятно только почему в других справочниках такой процедуры нет.

```1c
    Процедура ЗаполнитьНаборыЗначенийДоступа(Таблица) Экспорт

    // Чтение: набор № 1.
    Строка = Таблица.Добавить();
    Строка.НомерНабора = 1;
    Строка.Чтение = Истина;
    Строка.ЗначениеДоступа = Ссылка;

    // Изменение: набор № 2.
    Строка = Таблица.Добавить();
    Строка.НомерНабора = 2;
    Строка.Изменение = Истина;
    Строка.ЗначениеДоступа = Ссылка;

    КонецПроцедуры
```
---
прописали все согласно БСП ? https://its.1c.ru/db/bsp314doc#content:4:1:issogl1_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%­B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC
---
Пропустил процедуру...
Спасибо.
Признаюсь честно, новичок в этом деле, не могу понять почему не работает код.Нужна помощь советом!
Требуется из журнала документов под названием "Складские документы" сделать выборку по контрагенту и складу через внешнюю обработку. В форме внешней обработки добавил два реквизита "Контрагент" и "Склад" В качестве значений указал ссылки на справочники и добавил кнопку "Показать", вот соответственно сам запрос

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |СкладскиеДокументы.Дата КАК Дата,
    |СкладскиеДокументы.Контрагент КАК Контрагент,
    |СкладскиеДокументы.Склад КАК Склад,
    |СкладскиеДокументы.Заказ КАК Заказ
    | ПОМЕСТИТЬ ВыборДокументов
    | ИЗ
    |ЖурналДокументов.СкладскиеДокументы КАК СкладскиеДокументы
    | ГДЕ
    |СкладскиеДокументы.Контрагент = &Контрагент
    |И СкладскиеДокументы.Склад = &Склад";
    Запрос.УстановитьПараметр("Контрагент",Контрагент);
    Запрос.УстановитьПараметр("Склад",Склад);
    Результат = Запрос.Выполнить();
    Сообщить(Результат);
```

Ругается на Запрос.УстановитьПараметр
Просто я не понимаю как связать реквизит во внешней обработки с самим запросом.
---
```1c
    Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
    Запрос.УстановитьПараметр("Склад",Объект.Склад);
```
---
```1c
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
    Сообщить(Строка(Результат.Дата)+" "+Строка(Результат.Заказ));
    КонецЦикла;

    Проще в обработке создать таблицу и заполнить ее результатом выборки:
    Результат = Запрос.Выполнить().Выгрузить();

    Объект.ТабЧасть.Загрузить(Результат);
```
---
Какое именно сообщение об ошибке?
---
Вот Сообщение
---
на форме реквизиты точно называются "Контрагент" и "Склад" и имеют правильные типы значений?
---
Вот как это выглядит
---
```1c
    Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
    Запрос.УстановитьПараметр("Склад",Объект.Склад);
```
---
Благодарю. Заработало.Буду теперь разбираться почему не выводит временную таблицу для отображения результатов
---
потому что результат запроса нужно выводить в таблицу значений, а не методом "сообщить"
---
потому что обычный вывод выведет только количество записей во временной таблице.
Либо используйте ВыполнитьПакетСПромежуточнымиДанными(), либо не формируйте временную таблицу.
---
```1c
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
    Сообщить(Строка(Результат.Дата)+" "+Строка(Результат.Заказ));
    КонецЦикла;

    Проще в обработке создать таблицу и заполнить ее результатом выборки:
    Результат = Запрос.Выполнить().Выгрузить();

    Объект.ТабЧасть.Загрузить(Результат);
```
---
Всё получилось!)
Спасибо Вам большое)
Сделал по второму варианту с табличной частью!
СтруктураОтбор = Новый Структура;
     СтруктураОтбор.Вставить("Номенклатура", ВыборкаДетальныеЗаписи.Ссылка);
     СтруктураОтбор.Вставить("Склад", Справочники.Склады.НайтиПоНаименованию("Основной").Ссылка);
     СтруктураОстатков = РегистрыНакопления.ТоварыНаСкладах.Остатки(ТекущаяДата(), СтруктураОтбор, "Номенклатура, Склад", "ВНаличии");
     Если СтруктураОстатков.Количество() > 0 Тогда
         Возврат СтруктураОстатков[0].ВНаличии;
     Иначе
     Возврат 0;

Цикл по такому запросу занимает очень много времени? Можно ли получить остатки иначе? По регистру накопления свободные остатки, как?
---
запрос к регистру СвободныеОстатки

```1c
    "ВЫБРАТЬ
    | СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
    | СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличии,
    | СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток - СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК Доступно
    |ИЗ
    | РегистрНакопления.СвободныеОстатки.Остатки(&ДатаОстатков) КАК СвободныеОстаткиОстатки";
```
---
Готовьтесь к тому, что всё вами написанное для УТ 11.4 перестанет работать после обновления на 11.5, т.к. все старые товарные регистры переименовали, удалили и объединили
---
Хм, свободные остатки...,
не все так просто!
А резервы кто будет учитывать?
а планируемые поставки?
 и т.д.

смотрите типовой функционал, тот-же отчет свободные остатки на складах
---
резервы и поставки к учету не важны.
---
запрос к регистру СвободныеОстатки

```1c
    "ВЫБРАТЬ
    | СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
    | СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличии,
    | СвободныеОстаткиОстатки.ВНаличииОстаток - СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток - СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК Доступно
    |ИЗ
    | РегистрНакопления.СвободныеОстатки.Остатки(&ДатаОстатков) КАК СвободныеОстаткиОстатки";
```
Обычные формы УТ 10.3. Некая печатная форма документа записывается в ПДФ. Вот таким путем:

```1c
    Пакет = Новый ПакетОтображаемыхДокументов;
    блаблабла
    Пакет.ЗаписатьФайлДляПечати(имяФайла);
```

Все отлично работает, но. Если этот файл существует и открыт (Акробатом как обычно), то 1с пишет ошибку "Невозможно получить доступ к файлу, файл уже открыт" и закрывается (1с) полностью, предлагает варианты "Закрыть" и "Перезапустить". Оставить ее работающей дальше не получается.
Пользователи делают обычно так: записывают ПДФ, открывают, видят, что накосячили, исправляют в 1с и записывают ПДФ. И 1с ломается со всей их текущей деятельностью. Не все этому рады.
Теперь внимание, вопрос. Как узнать, что этот файл открыт другой программой?
---
Ну вообще конечно как выше сказали - Попытка-Исключение должно обрабатывать подобные ситуации.

Если вылетает - попробуй например проконтролировать через файловый поток (с уровнем доступа на запись) в попытке.
Ну что-то вроде

```1c
    Успешно = Истина;
    Поток = Неопределено;
    Попытка
    поток = Новый ФайловыйПоток(имяФайла, РежимОткрытияФайла.Открыть, ДоступКФайлу.ЧтениеИЗапись);
    Если НЕ (Поток.ДоступнаЗапись И Поток.ДоступноЧтение) Тогда
    Успешно = ложь;
    КонецЕсли;
    поток.Закрыть();
    Исключение
    ...файл занят..
    Успешно = ложь;
    КонецПопытки
    Поток = Неопределено;
```
---
Попытка же...
---
```1c
    Попытка
    ....
    Исключение
    Сообщить(...)
    КонецПопытки
```
---
(3) попытка не доходит до исключения, вылетает с той же ошибкой на строке с записью.
Нужен какой-то работающий способ о)
---
Ну... Тогда каждый раз формировать уникальное имя файла. Но тогда встанет вопрос - что делать с ранее сохраненными файлами...
---
Попробуйте файл проверить на существование (объект 1с "Файл"), потом проверить его переименование (метод 1с "ПереместитьФайл()").
Если ещё валится, то на крайняк каким-либо внешним скриптом/программой проверять вышеуказанные действия.
В винде это vbs/cmd/bat с соответствующими командами. в линуксе не знаю
---
Ну вообще конечно как выше сказали - Попытка-Исключение должно обрабатывать подобные ситуации.

Если вылетает - попробуй например проконтролировать через файловый поток (с уровнем доступа на запись) в попытке.
Ну что-то вроде

```1c
    Успешно = Истина;
    Поток = Неопределено;
    Попытка
    поток = Новый ФайловыйПоток(имяФайла, РежимОткрытияФайла.Открыть, ДоступКФайлу.ЧтениеИЗапись);
    Если НЕ (Поток.ДоступнаЗапись И Поток.ДоступноЧтение) Тогда
    Успешно = ложь;
    КонецЕсли;
    поток.Закрыть();
    Исключение
    ...файл занят..
    Успешно = ложь;
    КонецПопытки
    Поток = Неопределено;
```
---
круто, спасибо! Работает )
Здравствуйте, появился такой вопрос.
У меня есть 3 справочника: Товары, единицы измерения и авторы (скриншот реквизитов). Реквизиты: авторы и единицы измерения, в справочники товары, ссылаются на справочники с соответствующими названиями.
Я создала внешнюю обработку с табличной частью, которую поместила в форму, как создать там реквизит в табличной части (столбик) я понимаю, но я не понимаю как создать такой реквизит который будет ссылаться на реквизиты из справочника Товары.
Если простым языком мне нужна таблица в форме у которой есть столбики с наименованием, ценой и т.д. из справочника Товары, чтобы пользователь оттуда выбирал значения цены, товара, количества в упаковки.

Может кто-нибудь подробно объяснить шаги, как и какие свойства реквизитов нужны или какой код нужен. Я учусь работать буквально неделю, пока вообще ничего не понимаю, весь интернет и форум перерыла ничего не нашла.

Заранее большое спасибо!
---
tak?
---
tak?
---
Спасибо, я уже нашла решение, всё равно отмечу ваш ответ!
Здравствуйте, нужно чтобы не печаталось сразу на принтер, а открывалась форма выбора принтеров на который надо напечатать.
Вот код, он печатает сразу на принтер, а как сделать, чтобы я мог выбрать принтер?

```1c
    Процедура ДействияФормыДействиеПечать(Кнопка)
    перем Массив;
    перем обьекты;
    Массив = ЭтаФорма.ЭлементыФормы.Список.ВыделенныеСтроки;
    Если Массив.Количество() = 0 Тогда
    Возврат
    КонецЕсли;
    Для Каждого Элемент Из Массив Цикл
    УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(Элемент.ПолучитьОбъект(),1,Истина);
    КонецЦикла;
    КонецПроцедуры // ДействиеПечать()
```
---
как вариант делать свою форму выбора принтеров и средствами ОС (wsh) заполнять список принтеров - а дальше все просто
копать сюда
---
УниверсальныеМеханизмы Озвучьте версию конфимгурации и платформы...
---
8.3.18.1334
---
ну вот клещами надо тянуть... версия конфигурации?
---
Комплексная автоматизация, редакция 1.1 (1.1.108.4)
---
Подскажи, как это можно сделать, чтобы формочка открывалась перед печатью, а после выбора принтера она печаталась. Это что-то типа CTRL+P.
---
как вариант делать свою форму выбора принтеров и средствами ОС (wsh) заполнять список принтеров - а дальше все просто
копать сюда
---
Слушай, ну она же есть эта форма. У меня всё готово, типа всё в макете расставлено, надо чтобы я просто по ссылке на макет распечатал с выбором принтера. Или открыть эту форму вообще нельзя? Только ручками?
---
из 1с нельзя открыть форму выбора принтера возможностями 1с, может и можно , но нужно программировать как то, вам ссылку показали
а так да, только вручную

программно

```1c
    ВыборПринтеров.Очистить();// список значений

    принтеры = Новый COMОбъект ("WScript.Network");
    prn = принтеры.EnumPrinterConnections();
    i = 0;
    Пока i < prn.Count()-1 Цикл
    ВыборПринтеров.Добавить(prn.Item(i+1));
    i = i + 2;
    КонецЦикла;
    ЭтаФорма.ЭлементыФормы.Принтеры1.СписокВыбора = ВыборПринтеров;// загоняем в комбобокс
```
При создании нового предопределенного элемента в справочнике "ВидыКонтакнойИнформации", он сразу появляется на форме справочника "Организации" (либо любого другого, в зависимости от того в какую группу добавлять предопределенный элемент). Хотелось бы узнать как именно он туда попадает? Есть какая-то процедура или функция которая отвечает за добавление новых элементов?
---
ПриСозданииНаСервере()
---
ПриСозданииНаСервере()
---
Спасибо. В демо версии немного иначе выглядит.
Здравствуйте.

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ИсточникДанных.Склад КАК Склад,
    ИсточникДанных.Характеристика КАК Характеристика,
    ИсточникДанных.Серия КАК Серия,
    ИсточникДанных.ВНаличииНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.ПеремещениеТоваров)
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.ВНаличииПриход
    КОНЕЦ КАК КоличествоПриход,
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.ПеремещениеТоваров)
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.ВНаличииРасход
    КОНЕЦ КАК КоличествоРасход,
    ИсточникДанных.ВНаличииКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.Регистратор КАК Регистратор,
    ИсточникДанных.ПериодСекунда КАК ПериодСекунда
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, Движения, {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад, (Характеристика).* КАК Характеристика, (Серия).* КАК Серия}) КАК ИсточникДанных
```

при таком запросе в расшифровке движений выводит остатки правильно, но в группировках остатки суммируются по всем движениям регистраторов вместо того чтобы вывести начальный и конечный остаток, как эту проблему можно решить?
---
Полю ПериодСекунда добавьте роль "Обязательное", чтобы компоновщик макета не удалял его из запроса.
---
Правильно настроить роли полей: Измерения, Период, Поля остатка. Покажите скрин вкладки НаборыДанных вашей схемы.
Вот здесь более сложный случай описан: https://youtu.be/6QHBQ7nUxFY
---
скрин в приложении
---
Полю ПериодСекунда добавьте роль "Обязательное", чтобы компоновщик макета не удалял его из запроса.
---
Спасибо. Помогло
---
проблема появляется, если в запросе обращаться к Регистратору

если это убрать

```1c
    ВЫБОР
    КОГДА ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.ПеремещениеТоваров)
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.ВНаличииПриход
```

то тогда отчет работает нормально
Здравствуйте, подскажите пожалуйста, у меня выводятся продажи за период, допустим вывелось 100 строк товаров
Можно ли в зависимости от количества строк выводить первые 10 записей?
---
Нашел в настройках отчета выводить количество в %
---
Может в запросе указать
```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
```

Можно ли в зависимости от количества строк выводить первые 10 записей?Это как? Всегда 10, но в зависимости от количества?
---
К примеру вывелось 100 строк, хочу 10% вывести, тобишь первые 10, будет 1000 строк = уже первые 100 записей нужны.
---
Можно примерно так
```1c
    Выборка = Запрос.Выполнить().Выбрать();

    СчетчикЗаписей = 0;
    Пока Выборка.Следующий() Цикл
    СчетчикЗаписей = СчетчикЗаписей + 1;
    Если Выборка.Количество()/СчетчикЗаписей < 10 Тогда
    Прервать;
    КонецЕсли;

    КонецЦикла;
```
---
Или так, если всего до 10 записей, то нужно вывести все сколько есть
```1c
    Выборка = Запрос.Выполнить().Выбрать();

    СчетчикЗаписей = 0;
    Пока Выборка.Следующий() Цикл
    СчетчикЗаписей = СчетчикЗаписей + 1;
    Если Выборка.Количество() >= 10 Тогда
    Если Выборка.Количество()/СчетчикЗаписей < 10 Тогда
    Прервать;
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;
```
---
Нашел в настройках отчета выводить количество в %
---
Это самое правильное решение. Хотите пройти курс по основам СКД? Пишите мне :-)
Если кто-то еще хочет - пишите, всем отвечу.
Здравствуйте, подскажите пожалуйста, можно ли в скд сделать такое:
Есть отчет за период, допустим с 1.10.2021 - 5.10.2021
Получаю данные из регистра продаж
Номенклатура/1.10.2021 / 4.10.2021
Булочка / 500 / 50
Масло / 10 / 1
Суть в то что мне надо чтоб отображались даты и без продаж
2.10.2021/3.10.2021/5.10.2021
Я понимаю что он их не вывел, так как тупо нет записей в регистре, но как быть?
---
Там же в регистре можно задать дополнение по периодам.
А в скд варианты дополнения с границами и без кажется
---
Во-первых - зачем?
Во-вторых. Можно переписать отчет на СКД. Сделать источником данных таблицу и там в любом случае заполнять запись с датой. Вариантов такого заполнения опять же полно на просторах форума. на днях даже что-то было.
---
В качестве дат выбирай записи из регистра курсы валют, например. Тогда в таблице будут все дни месяца.
---
Не актуализируется у нас.)
---
вопрос, ушел, сделал график предприятия и к датами связал
---
Там же в регистре можно задать дополнение по периодам.
А в скд варианты дополнения с границами и без кажется
---
Попробовал, да, идеально)) и не зависит от чего - либо, спасибо.
---
https://its.1c.ru/db/metod8dev/content/1587/hdoc
Вручную запускаю все выгружает, а если по расписанию - то показывает, что задание выполнялось в журнале регистрации(сообщение о успешном завершении выгрузки), но там файл выгрузки без документов. пустой
---
1С-ка она такая, как то в БП3,0 РЗ в упор не хотело отрабатывать,
выяснилось что какое-то другое РЗ взводило флаг, (примерно такой) База находится в режиме обновления
хотя ни какого обновления не было, и БСП-шные Регламенты не срабатывали, пришлось отключать эту проверку

у вас РЗ какое? встроенное в конфу? или это внешняя обработка через БСП оформленная как РЗ?

еще как совет, навставляете в свое РЗ кучу проверок и Сообщений
там где регистр читаете, там где документы получаете, там где их выводите и т.д.
а после срабатывания по расписанию посмотрите в консоли заданий эти сообщения, возможно что-то станет ясно.
---
с таким описанием проблемы можно посоветовать запускать вручную
---
?
---
Жаль, недоработка со стороны Инфостарта - почему в название темы влезает так мало буковок??? Безобразие!!!
---
Рег.Задание запускается от какого-то пользователя (может служебного) необходимо проверить есть ли у этого Пользователя права на эти документы.
или в настройках РегЗадания укажите в пользователе (от имени кого запускать) - себя.
---
так и стоит, со всеми правами
---
тогда в РЗ надобавляйте кучу проверок с выводом их в сообщения
и затем в КонсолиЗаданий смотрите что не так. Именно после срабатывания по расписанию.
---
еще есть такой нюанс, что если сейчас поставлю расписание через час, ну или в течении этого дня он выгрузится с файлами, а вот если на завтра, то он выгружается без файлов
---
проверяйте логику задания!
наверняка выгружаете данные за дату - ТекущаяДата()
как правило РЗ стартует в начале суток и документов на начало дня просто еще нет!
перенесите старт на вечер.

еще возможно ваше задние зависит от работы другого, которое подготавливает эти самые документы,
проверьте очередность.

так, не видя базы, можно гадать до бесконечности...
---
РЗ должно выполняться в 11:00, документы подготавливают к этому времени, есть еще другие базы у них все выгружается с документами.

```1c
    ОбработкаОбмена.ДатаНачала = НачалоДня(ТекущаяДата()-24*3600);
    ОбработкаОбмена.ДатаОкончания = ТекущаяДата();
```
---
недостаточно еще информаций ? )
---
1С-ка она такая, как то в БП3,0 РЗ в упор не хотело отрабатывать,
выяснилось что какое-то другое РЗ взводило флаг, (примерно такой) База находится в режиме обновления
хотя ни какого обновления не было, и БСП-шные Регламенты не срабатывали, пришлось отключать эту проверку

у вас РЗ какое? встроенное в конфу? или это внешняя обработка через БСП оформленная как РЗ?

еще как совет, навставляете в свое РЗ кучу проверок и Сообщений
там где регистр читаете, там где документы получаете, там где их выводите и т.д.
а после срабатывания по расписанию посмотрите в консоли заданий эти сообщения, возможно что-то станет ясно.