arefaste/1C_Forums huggingface dataset:
Добрый день.
Есть типовой отчёт (отчётность для военкоматов, там вообще так-то один отчёт) и много его вариантов
по требованию в нём (в одном из вариантов) изменена шапка (например, поставили логотип предприятия)
соответственно в администрирование - макеты печатных форм стоит "карандашик"
но теперь иногда надо печатать этот же типовой отчёт с типовой шапкой, а не с нашей
можно ли это как-то сделать удобно и просто?
а не так, чтобы сотрудник обращался к админам, те убирали "карандашик", печатался отчёт и опять карандашик ставили на место
?

спасибо
---
Тогда только вариант - через расширение, если пользователь выбирает ваш вариант отчета - тогда макет из расширения.
Если очень просто то в расширение на отчет добавить кнопку "Сформировать 2" - и на нее ваш макет
---
Добрый день, создать внешний отчет со своей формой - полностью скопируйте отчет из типовой конфигурации и поменяйте макет. Или через расширение, добавить свой макет и новый вариант отчета
---
добрый. есть опасность, так как это отчёт про войну, что его изменят (добавят убавят поля), тогда тот, который внешний, не будет соответствовать, а знать про этом мы не сможем. поэтому хочется именно типовой
через расширение - наверно да. можно добавить свой макет который неизменённый, но как он будет его подтягивать пока неясно.
подумаю
---
Тогда только вариант - через расширение, если пользователь выбирает ваш вариант отчета - тогда макет из расширения.
Если очень просто то в расширение на отчет добавить кнопку "Сформировать 2" - и на нее ваш макет
Есть документ "Договоры МОЛ", как можно было бы вывести сотрудников, у которых этот документ не создан?
---
Выбрать всех актуальных сотрудников соединить левым соединением с таблицей Договоры МОЛ по сотрудникам и где сотрудник из Договоры МОЛ есть null, то и будет результатом
---
Выбрать ссылки на всех у кого создан во вложенном запросе или ВТ, вторым запросом выбрать всех кто не В (&)
---
Выбрать всех актуальных сотрудников соединить левым соединением с таблицей Договоры МОЛ по сотрудникам и где сотрудник из Договоры МОЛ есть null, то и будет результатом
---
а откуда можно взять актуальных сотрудников?
---
Вероятнее всего из некого справочника (тип реквизита в договоре МОЛ посмотрите). Но весьма вероятно что в нем будут как нынешние так и бывшие сотрудники. Начинайте проходить этот квест.
---
```1c
    ВЫБРАТЬ
    СЭ_ДоговорМОЛ_Индивидуальный.Сотрудник КАК Сотрудник,
    Сотрудники.Наименование КАК Наименование,
    Сотрудники.Представление КАК Представление,
    СЭ_ДоговорМОЛ_Индивидуальный.Представление КАК Представление1
    ИЗ
    Документ.СЭ_ДоговорМОЛ_Индивидуальный КАК СЭ_ДоговорМОЛ_Индивидуальный
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
    ПО (СЭ_ДоговорМОЛ_Индивидуальный.ФизическоеЛицо = Сотрудники.ФизическоеЛицо)
    ГДЕ
    СЭ_ДоговорМОЛ_Индивидуальный.ФизическоеЛицо = NULL
```

сделал так, но явно сюда нужно передавать не физическое лицо, т.к оно ничего не выводит
---
```1c
    ИЗ Справочник.Сотрудники КАК Сотрудники
```
 спасет отца русской демократии
---
Да, вы правы.
Но всё равно при условии NULL ничего не выводит, а без условия в "СЭ_ДоговорМОЛ_Индивидуальный.Сотрудник КАК Сотрудник" пустые строки. Как тогда нужно выводить?
---
условие должно быть есть null
Уже неоднократно обсуждалось это,что = NULL никогда не выполнится
---
```1c
    ВЫБРАТЬ
    Сотрудники.Наименование КАК Наименование,
    Сотрудники.Представление КАК Представление,
    Сотрудники.Бла Бла Бла
    ИЗ
    Справочник.Сотрудники КАК Сотрудники
    ГДЕ
    Сотрудники.Ссылка Не В (ВЫБРАТЬ Различные
    СЭ_ДоговорМОЛ_Индивидуальный.Сотрудник КАК Сотрудник,
    ИЗ
    Документ.СЭ_ДоговорМОЛ_Индивидуальный КАК СЭ_ДоговорМОЛ_Индивидуальный)
```

Так не пробовали?
Есть документы Событие, у него есть реквизит Номер телефона. Необходимо запросом выбрать документы за период, что бы в рамках одного дня не было документов с одинаковым Номером телефона. выбрать различные не подходит так как нужны ссылки на объекты. Как?)
---
```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(Событие.Дата, ДЕНЬ) КАК Дата,
    Событие.НомерТелефона КАК НомерТелефона,
    МИНИМУМ(Событие.Ссылка) КАК Ссылка
    ИЗ
    Документ.Событие КАК Событие
    ГДЕ
    Событие.Дата МЕЖДУ &НачалоПриода И &КонецПериода

    СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(Событие.Дата, ДЕНЬ),
    Событие.НомерТелефона
```

При таком подходе у вас теряются ссылка на документы, если номер телефона повторяется.
---
Есть вопрос. А что делать с документами у которых телефон одинаковый? Пропускать или выводить один из них?
---
если документы в одном дне, то нужен только один документ
---
Попробуйте за период выбрать различные телефоны в ВТ, затем левое соединение с выборкой из документов "Событие" с группировкой по максимальной дате.
---
```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(Событие.Дата, ДЕНЬ) КАК Дата,
    Событие.НомерТелефона КАК НомерТелефона,
    МИНИМУМ(Событие.Ссылка) КАК Ссылка
    ИЗ
    Документ.Событие КАК Событие
    ГДЕ
    Событие.Дата МЕЖДУ &НачалоПриода И &КонецПериода

    СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(Событие.Дата, ДЕНЬ),
    Событие.НомерТелефона
```

При таком подходе у вас теряются ссылка на документы, если номер телефона повторяется.
---
Спасибо
Доброго времени суток! Я только учусь, в общем вопрос такой. Нужно в управляемой форме в реквизите корректировка дата, при записи, что бы проставлялось автоматически время. Весь интенернет перерыла не нашла схожее, подскажите, что почитать где еще поискать?
Хочу научиться программировать, знаний очень и очень мало
---
Такие вещи надо делать ПередЗаписьюНаСервере()
---
Ну тогда надо после записи перечитывать данные формы...
Либо присваивать значение еще на клиенте.
---
вместо
Объект.РеквизитОбъекта=НовоеЗначение;
тут надо использовать
ТекущийОбъект.РеквизитОбъекта=НовоеЗначение;
---
Нужно в управляемой форме в реквизите корректировка дата, Ужас. Мы точно на русском языке общаемся?
---
А у реквизита свойство "Состав даты" в какое значение установлено?
---
Спасибо, разобралась
---
Это здорово, что смогли разобраться в проблеме, но ещё лучше было бы, если бы описали решение +)
---
(4)в модуле объекта нужно было прописать код,
Процедура ПриЗаписи(Отказ)
  ДатаПоследнейКорректировки = ТекущаяДата();
КонецПроцедуры
---
Сейчас будет следущая тему о том, что ничего не работает.
При записи объекта это уже бесполезно, объект записан.
---
Уже
---
При записи объекта, дата корректировки выводится, работает
А вот как написали ниже ПередЗаписьюНаСервере дата корректировки не выводит
---
ЧО? Тебе надо было записать или вывести? Ты путаешься в показаниях!
---
мне надо при нажатии на кнопку записать, что бы в поле дата корректировки вывелась текущая дата!
---
Красавчег! Так тебе нужно записать или дату вывести?
---
мне и записать и вывести текущую дату
---
Уже лучше. А вот эта дата - это реквизит формы или реквизит объекта?
---
реквизит объекта
---
Ну и чем тебе ответ в (7) не подошел? Может не туда записываешь?
---
модуль объекта запись, и как ни странно, все работает
---
Что странного?
Если ты используешь ПередЗаписью() в модуле объекта - то тебе придется потом перечитывать сам объект на форме, чтобы отобразить новые данные после записи.
А если ты используешь ПередЗаписьюНаСервере() в модуле формы - то форма автоматически перечитается после записи.
---
вот сейчас я сделала, ПередЗаписьюНаСервере() в модуле формы, при нажатии на кнопку запись, в поле корректировки дата, ну не встает текущая дата
---
Не, на сегодня я устал играть в "Угадайку".
Скрины, код... Вот тогда будет что обсудить.
А пока - понедельник.
---
ну вот
---
Ну тогда надо после записи перечитывать данные формы...
Либо присваивать значение еще на клиенте.
---
Если перечитывать данные формы, правильно я понимаю ПередЗаписью?
Или присваивание на клиенте значение то же самое? ДатаКорректировки?
---
вместо
Объект.РеквизитОбъекта=НовоеЗначение;
тут надо использовать
ТекущийОбъект.РеквизитОбъекта=НовоеЗначение;
---
Спасибо)))
как же хочется до вашего уровня дорасти, а то как слепой котенок, капец...
---
Ну так надо значение полю основного реквизита формы присваивать, а не локальной переменной.
---
Такие вещи надо делать ПередЗаписьюНаСервере()
---
Но вот как Вы посоветовали, так точно не работает
---
Откуда такая уверенность?
Как в табличной части документа установить фокус на ячейку с нужной колонкой в нужной строке (по номерам строки и колонки, или по номеру строки и имени колонки) ?
Имеется ввиду "Табличное поле" документа.
Платформа 8.2
Режим обычный (не "управляемые формы").
---
```1c
    ЭлементыФормы.ТабличноеПоле1.ТекущаяКолонка = ЭлементыФормы.ТабличноеПоле1.Колонки.Колонка2;
    ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = ТабличноеПоле1[4]; /// случайная строка таблицы
```
---
```1c
    ЭлементыФормы.ТабличноеПоле1.ТекущаяКолонка = ЭлементыФормы.ТабличноеПоле1.Колонки.Колонка2;
    ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = ТабличноеПоле1[4]; /// случайная строка таблицы
```
Добрый день. Есть отчет СКД, состоит из 10 колонок, на выходе получается 615 строк данных и 20 строк шапка. При попытке сохранить в какой-нибудь файл зависает на Файл-Сохранить как. Подскажите, пожалуйста, как решить проблему? Может кто сталкивался с подобным.
---
Открыть отладку и замер производительности не предлагать?
---
Открыть отладку и замер производительности не предлагать?
---
спасибо!
---
Попробуйте сделать отчет в одну строку - если сохранит значит проблема с объемом данных. Возможно какое-то поле очень "Объемное"
Коллеги, добрый день!
Прошу помощи.

В самописном отчете при отключении отображения регистратора пропадают часть записей.
(Пример на скриншоте)

Подскажите, куда копать?
---
Все прозаичней оказалось. Нужно было в СКД поле "Регистратор" сделать обязательным. )
---
Добрый день , к сожалению очень мало данных - косяк может быть как в запросе, так и в настройках СКД, надо смотреть весь отчет.
---
Может быть это поможет
Данные в запросе показываются корректно, проверил консолью.
Сумма по ним через консоль тоже считается
---
Опытным путем выяснил, что это связано с тем, что в обеих эквайриговых операциях - одна и та же сумма. То есть, если изменить сумму в любой из них - то сумма считается корректно
---
Давайте попробуем, для начала - убрать Общий итог
---
|ПОМЕСТИТЬ ВТ_Эквайринг
|ИЗ
| РегистрНакопления.РасчетыПоЭквайрингу КАК РасчетыПоЭквайрингу
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыПоЭквайрингу.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК РасчетыПоЭквайрингуОбороты
| ПО РасчетыПоЭквайрингу.Регистратор = РасчетыПоЭквайрингуОбороты.Регистратор

Попробовать вместо Авто поставить Регистратор
---
Спасибо, но не помогло. (

Еще поменял Сумма на Количество в ресурсах, проверить, видит ли он вторую запись - не видит похоже.
---
Все прозаичней оказалось. Нужно было в СКД поле "Регистратор" сделать обязательным. )
---
ОК, спасибо, буду знать
Добрый вечер
База УТ 11.1 (УФ, доработанная, без расширений)
Платформа 8.3.19.1467
Периодически сталкивались раньше с ошибкой отображения типов, проблема плавающая, происходит неизвестно когда и неизвестно из-за чего, воспроизвести никогда не удавалось.
Раньше помогала перезагрузка агента 1С с очисткой серверного кэша, и пропадала. Возникала может раз в две недели, иногда раз в месяц, иногда несколько раз на неделе, но за сегодня только возникла около 6-7 раз в течение рабочего дня, работать невозможно
Ошибка иногда возникает иногда у некоторых пользователей, иногда возможно у всех (с разных отделов жаловались) и ничего не позволяет делать, при любом нажатии куда либо, обновлении списков и т.д.
Нет определенного места, может возникнуть в списке документов, в обработке, и даже просто в меню подсистемы. Иногда бывало что сама проходила через несколько минут
Скриншоты разных вариантов ошибки во вложении
Кто-нибудь сталкивался с этим? Что можно сделать, куда копать? Нашёл пару тем, всё без решения, только догадки, которые применяли - не помогло. Сил уже нет, прошу помощи

На старой платформе тоже возникала, после перехода на новую платформу сохранилась. Ошибка только в одной базе, остальные базы на том же сервере работают
---
В общем убрал основной стиль конфигурации, проблема решилась. Не знаю зачем вообще был стиль установлен идентичный базовому
---
Что можно сделать, куда копать?
В отладчике: "Останавливать по ошибке" и посмотреть что он "пытается" передать в Style
---
У нас такое было. Ничего не помогало, кроме перезапуска менеджера кластера. После некоторых работ по оптимизации конфигурации (рефакторинг и так далее) ошибка как-то прошла.
Ни платформу не меняли ни изменения стилей не делали. Но база у нас писанная-переписанная.
---
Стиль поломан основной.
Где-то мусор заместо цвета.
---
Как понять где мусор?
---
у вас же на картинках написано какой стиль имеет не верный цвет. перевыберите там на другой
---
поменял сегодня все стили из стандартных элементов стиля на RGB цвета, не помогло, также вылетает
---
Глобальный поиск. "ИзмененноеЗначениеРеквизитаЦвет".
---
Очистил основной стиль конфигурации, пока сутки полёт нормальный
---
В общем убрал основной стиль конфигурации, проблема решилась. Не знаю зачем вообще был стиль установлен идентичный базовому
---
возьми его с типовой конфы
---
была такая идея, пока вообще не буду трогать, необходимости в каком-то особом стиле нет вообще, не знаю зачем он вообще был установлен
использую внешнюю обработку для формирования печатной формы документа. Есть необходимость выводить сразу 2 ПФ. Первая выводится, следом должна выводится вторая, данные для нее есть. Если я перезаписываю коллекцию первой печатной формы с данными для второй ПФ, то выводится уже только вторая, а нужно чтобы сразу две было. Как реализовать?
---
Тогда сделайте 2 кнопки под каждый макет
---
У вас все таки механизм ВПФ или обработка, которая формирует печатные формы?
Во втором случае примерно такой вариант работает на конфигурациях с БСП.

P.S. для ВПФ аналогичным способом пополняем коллекцию КоллекцияПечатныхФорм в процедуре Печать() модуля объекта, тоже должно работать

Посмотрите в демо БСП ВПФ Печать счетов на оплату (прикрепил), там как раз печать комплекта из ВПФ. Если вкратце - в идентификаторе через запятую указываете идентификаторы нужных форм.
---
в общем случае:

```1c
    Макет1 = ПолучитьМакет.....
    Макет2 = ПолучитьМакет.....

    ОбластьМакета1 = макет1.ПолучитьОбласть....
    ОбластьМакета2 = Макет2.ПолучитьОбласть.....

    ТабДок.Вывести(ОбластьМакета1);
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    ТабДок.Вывести(ОбластьМакета2);

    Возврат ТабДок;
```
---
в моем случае есть два разных табличных документа и их соответственно нужно выводить отдельно в 2 окна форм
---
Тогда сделайте 2 кнопки под каждый макет
---
в моем случае есть два разных табличных доку
У вас один ТабДок с разделителем страниц. Если вы хотите, чтобы выводилось в два отдельных окошка, то нужно их формировать отдельно.
---
они формируются отдельно, просто данные берутся из первой ПФ, скорее всего как предложили реализовать через 2 команды
---
Типовой механизм умеет формировать "пакет" печатных форм.
Ваша задача добавить несколько команд у внешней печатной формы, что будет означать формирование пакета.

Следовательно, будет несколько сформированных табдоков одной обработкой.
---
```1c
    табДок1.Показать();
    табДок2.Показать();
```
---
У вас все таки механизм ВПФ или обработка, которая формирует печатные формы?
Во втором случае примерно такой вариант работает на конфигурациях с БСП.

P.S. для ВПФ аналогичным способом пополняем коллекцию КоллекцияПечатныхФорм в процедуре Печать() модуля объекта, тоже должно работать

Посмотрите в демо БСП ВПФ Печать счетов на оплату (прикрепил), там как раз печать комплекта из ВПФ. Если вкратце - в идентификаторе через запятую указываете идентификаторы нужных форм.
---
реализовал вашим способом, только для указанного второго идентификатора пишется не сформирован документ, если указать только любой один, то таким способом выводится 1 ПФ
---
Так надо для обоих идентификаторов сформировать табличный документ в процедуре печати
---
по идее так и делаю, в зависимости от печатной формы, как у вас условие, и формируется документ. Ну я наверно решу просто, добавил 2 команды + ваш способ вывода на печать
Всем привет, УПП. Вопрос следующий:

Есть табличная часть на управляемой форме, при нажатии на кнопку Добавить нужно добавлять пустую строку в форму(ее будут заполнять руками). Как сделать?

Не могу же я пустые значения прописывать?

&НаКлиенте
Процедура Перенести()
    ПеренестиНаСервере() ;
КонецПроцедуры

&НаСервере
Процедура ПеренестиНаСервере()

    ОбъектДок = Документы.ВводНачальныхОстатков.ПолучитьСсылку();
    НоваяСтрока = Объектдок.Запасы.Добавить();
    НоваяСтрока.Номенклатура = "";
    НоваяСтрока.Количество = "";
    ОбъектДок.Записать();

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

```1c
    МассивСсылки = новый массив;
    МассивСсылки.Добавить(СсылкаДокумента);

    МассивСвязанныхСсылок = НайтиПоСсылкам(МассивСсылки);
    Для каждого Док из МассивСвязанныхСсылок Цикл
    пометитьНаУдаления(Док);
    КонецЦикла;
```

Пометка на удаление связанных с ним ссылок...
---
Решил ребят проблему кто может столкентся с такой проблемой прикреплю код

С перва в модуле в процедуре при записи пишем

```1c
    Процедура ПриЗаписи(Отказ)
    Для Каждого Стр из ЭтотОбъект.ДокументыТН Цикл
    Если ЗначениеЗаполнено(Стр.Документ) Тогда
    Документ = Стр.Документ.ПолучитьОбъект();

    Если ЭтотОбъект.ПометкаУдаления = Истина Тогда
    Документ.УстановитьПометкуУдаления(Истина);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```

потом думаю разберетесь)
---
задача либо не решается вообще, либо в ТребованиеНакладной должен быть реквизит ДокументОснование или какой схожий по смыслу.
---
Ну, блин. Я думал ты дашь автору время самостоятельно додуматься до такого открытия...
---
посыпаю голову пеплом :)
---
Можно еще так:

```1c
    МассивСсылки = новый массив;
    МассивСсылки.Добавить(СсылкаДокумента);

    МассивСвязанныхСсылок = НайтиПоСсылкам(МассивСсылки);
    Для каждого Док из МассивСвязанныхСсылок Цикл
    пометитьНаУдаления(Док);
    КонецЦикла;
```

Пометка на удаление связанных с ним ссылок...
---
А проблема в чем? Что вызывает затруднения?
---
Не знаю как решить(ps jun dev)
---
Получить ссылку на другой документ и установить ему пометку удаления.
Что из этих слов непонятно?
---
если с кодом можете помочь
---
Помочь - это делать вместЕ, а не вместО.
Рассказывай свои догадки и показывай свое решение.
---
ПолучитьОбьект()
И щепотка фантазии)
---
Решил ребят проблему кто может столкентся с такой проблемой прикреплю код

С перва в модуле в процедуре при записи пишем

```1c
    Процедура ПриЗаписи(Отказ)
    Для Каждого Стр из ЭтотОбъект.ДокументыТН Цикл
    Если ЗначениеЗаполнено(Стр.Документ) Тогда
    Документ = Стр.Документ.ПолучитьОбъект();

    Если ЭтотОбъект.ПометкаУдаления = Истина Тогда
    Документ.УстановитьПометкуУдаления(Истина);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```

потом думаю разберетесь)
Добрый день, подскажите, как программно открыть закрытый период? Пытаюсь поменять реквизит. Заранее спасибо.
"Редактирование данных этого периода запрещено. Изменения не могут быть записаны."
---
```1c
    ЗаказОбъект = СсылкаНаЗаказПокупателя.ПолучитьОбъект();
    Соответствие = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
    ОбщаяДатаЗапрета = Соответствие["ОбщаяДатаЗапретаРедактирования"];
    ДатаЗаказа = ЗаказОбъект.Дата;
    Если ОбщаяДатаЗапрета >= ДатаЗаказа Тогда
    ОбщаяДатаЗапретаВрем = ДатаЗаказа - 60*60*24;
    Соответствие["ОбщаяДатаЗапретаРедактирования"] = ОбщаяДатаЗапретаВрем;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Соответствие);
    КонецЕсли;
    Попытка
    ЗаказОбъект.Записать(РежимЗаписиДокумента.Проведение);
    Исключение
    Сообщить("Не удалось записать документ " + ОписаниеОшибки());
    КонецПопытки;
    Если ОбщаяДатаЗапрета >= ДатаЗаказа Тогда
    Соответствие["ОбщаяДатаЗапретаРедактирования"] = ОбщаяДатаЗапрета;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Соответствие);
    КонецЕсли;
```
---
В типовых решениях это регистр сведений.
---
Наверное, имеет смысл посмотреть в конфигураторе - какие программные действия происходят при установке закрытия периода...
---
```1c
    ЗаказОбъект = СсылкаНаЗаказПокупателя.ПолучитьОбъект();
    Соответствие = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
    ОбщаяДатаЗапрета = Соответствие["ОбщаяДатаЗапретаРедактирования"];
    ДатаЗаказа = ЗаказОбъект.Дата;
    Если ОбщаяДатаЗапрета >= ДатаЗаказа Тогда
    ОбщаяДатаЗапретаВрем = ДатаЗаказа - 60*60*24;
    Соответствие["ОбщаяДатаЗапретаРедактирования"] = ОбщаяДатаЗапретаВрем;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Соответствие);
    КонецЕсли;
    Попытка
    ЗаказОбъект.Записать(РежимЗаписиДокумента.Проведение);
    Исключение
    Сообщить("Не удалось записать документ " + ОписаниеОшибки());
    КонецПопытки;
    Если ОбщаяДатаЗапрета >= ДатаЗаказа Тогда
    Соответствие["ОбщаяДатаЗапретаРедактирования"] = ОбщаяДатаЗапрета;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Соответствие);
    КонецЕсли;
```
---
Спасибо
---
Че, никто не понял? Этот кулхацкер не ищет возможности "программно открыть период".
Этот кулхацкер ищет программную возможность записать документ в закрытом периоде, "патамушта надо поменять реквизит"...
---
самый душный бек из всех беков
---
Я тоже по тебе скучал.
Загрузка данных из БП 3.0 в УТ 11.5 Счет-фактура выданный на аванс
Счет-фактура выданный (аванс) *** от 27.10.2022 14:00:57 невозможно загрузить в запрещенный период.
Запрещено загружать данные с датой ранее 31.12.2019 (включительно).

Подробнее:
Для информационной базы "****" запрещена загрузка данных,
поскольку дата входит в запрещенный период по 31.12.2019 (установлена общая дата запрета)

Непонятно почему это происходит, подскажите пожалуйста
---
При загрузке СФ на аванс проверятся реквизит "ДатаПоступленияАванса", но она не передается из БП (может быть ей даже нет в БП). Добавил в заполнение этого реквизита при обмене и все заработатло.
---
Эта сч.ф. уже есть и дата ее раньше 31.12.19, при загрузке она пытается изменить свою дату на новую, но запрет не дает.
---
это новая
---
Как уж новая если еще 29 марта ее отдавали покупателю серых шкур.
---
У пользователя, под которым производится обмен - у него все доступно? никаких нет ограничений по датам?
---
Ограничений нет
---
А почему СФ от октября, а передана контрагенту ранее чем выписана - в марте?
---
При загрузке СФ на аванс проверятся реквизит "ДатаПоступленияАванса", но она не передается из БП (может быть ей даже нет в БП). Добавил в заполнение этого реквизита при обмене и все заработатло.