arefaste/1C_Forums huggingface dataset:
Есть вордовый макет. (Во вложении). Он лежит в обработке как макет AD. Все красиво работает, если при печати нужно вывести данные для одного слушателя. Но в документе, к которму прикреплена обработка, может быть несколько слушателей. Как все это вывести не знаю. Временно решил задачу созданием нескольких файлов. В каждом файле отдельная печатная форма для одного слушателя. Хотелось бы всё в один документ. Но как продублировать макет с первой страницы не знаю. Макет для одного слушателя заполняю по принципу указанному в статье: Работа с MS Word из 1С "для самых маленьких"
---
Я делал так:

```1c
    Документ = Word.ActiveDocument;

    Документ.Content.Copy(); // копируем документ в буфер обмена
    ЭтоПервыйЛист = Истина;

    Для Сч = 1 По 10 Цикл

    Если ЭтоПервыйЛист = Ложь Тогда
    ОбластьДокумента = Документ.Content;
    ОбластьДокумента.Collapse(0); // превращаем область в курсор, который встаёт в конец документа
    ОбластьДокумента.InsertBreak(7); // вставляем разрыв страницы
    ОбластьДокумента.Paste(); // вставляем то, что в буфере обмена
    Иначе
    ЭтоПервыйЛист = Ложь;
    КонецЕсли;

    // заполнение

    КонецЦикла;
```
---
В который раз, спасибо! Все почти заработало.
Правда, при копировании откуда-то появляется пустой верхний колонтитул. Из-за него все форматирование "едет". Если открыть документ и удалить его руками, то форматирование возвращается к нормальному. Не знаете, как к колонтитулу обратиться, чтобы его грохнуть? А то я пробовал

```1c
    ДокВорд.Sections(1).Headers.Item(1).Delete()
```
, но не работает.
---
Странно. Видимо, в самом шаблоне есть этот абзац в колонтитуле. И колонтитулы существуют всегда, их невозможно удалить.
Попробовал вывести в цикле ваш шаблон. Лишний абзац в колонтитуле не обнаружил, но абзац появляется в начале страницы, да. Как удалить не понятно.
---
Записал макрос,

```1c
    Sub Макрос1()
    '
    ' Макрос1 Макрос
    '
    '
    Selection.WholeStory
    Selection.Copy
    Selection.InsertNewPage
    Selection.PasteAndFormat (wdFormatOriginalFormatting)
    End Sub
```

повторяющий следующие действия: выделить все --> Скопировать --> вставить пустую страницу --> Вставить Скопированное. Попробовал его наугад вставить в свой 1С код, но не могу получить доступ к соответствующим свойствам com-объекта. Первое же свойство selection недоступно.

```1c
    ДокВорд.Selection.WholeStory();
    ДокВорд.Selection.Copy();
    ДокВорд.Selection.InsertNewPage();
    ДокВорд.Selection.PasteAndFormat(ДокВорд.wdFormatOriginalFormatting);
```
---
Я делал так:

```1c
    Документ = Word.ActiveDocument;

    Документ.Content.Copy(); // копируем документ в буфер обмена
    ЭтоПервыйЛист = Истина;

    Для Сч = 1 По 10 Цикл

    Если ЭтоПервыйЛист = Ложь Тогда
    ОбластьДокумента = Документ.Content;
    ОбластьДокумента.Collapse(0); // превращаем область в курсор, который встаёт в конец документа
    ОбластьДокумента.InsertBreak(7); // вставляем разрыв страницы
    ОбластьДокумента.Paste(); // вставляем то, что в буфере обмена
    Иначе
    ЭтоПервыйЛист = Ложь;
    КонецЕсли;

    // заполнение

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

просто так ничего не бывает, если вы не на квантовом уровне.
---
Да я согласен, что под лежачий камень вода не течет. Просто, если кто-то что-то и сделал, сейчас уже не сознается. А как то можно отловить этот момент?
---
исследуйте звериные тропы, а на будущее ставьте капканы - так делают уже сотни тысяч лет и все ок.
---
Нашел. Включили штрихкодирование печатных форм. То есть формы начали обращаться к внешней компоненте печати.
Здравствуйте!

создал обработку по заполнению документа Операция, введенная вручную

 ДокументОперации = Объект.СсылкаНаДокумент.ПолучитьОбъект();
 ДокументОперацииСсылка = ДокументОперации.Ссылка;
 РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
 РегХозрасчетный.Отбор.Регистратор.Значение = ДокументОперацииСсылка;
 СчетДт = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;
 СчетКт = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;

 Для Каждого СТР Из Объект.ТабличнаяЧасть1 Цикл
  РегЗапись = РегХозрасчетный.Добавить();
  РегЗапись.Период = ДокументОперации.Дата;
  РегЗапись.Регистратор = ДокументОперацииСсылка;
  РегЗапись.Организация = ДокументОперации.Организация;
  РегЗапись.СчетДт = СчетДт;
  РегЗапись.СчетКт = СчетКт;
  РегЗапись.ПодразделениеДт = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию("СТРОИТЕЛЬНЫЙ УЧАСТОК");
  РегЗапись.ПодразделениеКт = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию("СТРОИТЕЛЬНЫЙ УЧАСТОК"); БухгалтерскийУчет.УстановитьСубконто(СчетДт,РегЗапись.СубконтоДт,"НоменклатурныеГруппы",СТР.НомГруппа); БухгалтерскийУчет.УстановитьСубконто(СчетКт,РегЗапись.СубконтоКт,"НоменклатурныеГруппы",Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Основная номенклатурная группа")); БухгалтерскийУчет.УстановитьСубконто(СчетДт,РегЗапись.СубконтоДт,"СтатьиЗатрат",СТР.СтатьяЗатрат); БухгалтерскийУчет.УстановитьСубконто(СчетКт,РегЗапись.СубконтоКт,"СтатьиЗатрат",Объект.СтатьяЗатратКРаспределению);
  ДоляВВыручке = СТР.Выручка / Объект.ТабличнаяЧасть1.Итог("Выручка");
  СуммаВРаспределении = ДоляВВыручке * Объект.СуммаКРаспределению;
  РегЗапись.Сумма = СуммаВРаспределении;
  РегХозрасчетный.Записать();
 КонецЦикла;

 //ДокументОперации.СуммаОперации = Сумма;
 ДокументОперации.Записать();
 Сообщить("Документ заполнен!");

Подскажите, пожалуйста, как можно к существующему документу Операция добавлять записи? Сейчас обработка очищает и записывает новые.

Спасибо!
---
```1c
    ДокументОперации = Объект.СсылкаНаДокумент.ПолучитьОбъект();
    Проводки = ДокументОперации.Движения.Хозрасчетный;
    Проводки.Прочитать();
    Проводки.Записывать = Истина;
    Для Каждого СТР Из Объект.ТабличнаяЧасть1 Цикл
    РегЗапись = Проводки.Добавить();
    // ........ заполнение записи
    КонецЦикла;

    ДокументОперации.Записать();
```

Внутри цикла набор записывать не надо. Набор вообще записывать не надо, он запишется вместе с документом.
---
После

```1c
    РегХозрасчетный.Отбор.Регистратор.Значение = ДокументОперацииСсылка;
```

Нужно

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

    ДокументОперации.Записать();
```

Внутри цикла набор записывать не надо. Набор вообще записывать не надо, он запишется вместе с документом.
Здравствуйте! Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.70.39) 1С:Предприятие 8.3 (8.3.13.1644)

Не могу войти в бухгалтерскую отчетность, остальные открываются отчеты, выходит ошибка : Выполнение запроса было прервано по причине Сеанс работы завершен администратором по причине :Соединение с сервером баз данных разорвано администратором
Microsoft SQL Server Native Client 10.0: Unspechied error
HRESULT=80004005.
Выполняется ожидание возможности повторной отправки запроса
---
Кэш чистили? Тестирование и исправление делали? Если нет, почистить кэш, сделать резервную копию, сделать ТиС.
---
Прикольно. А своих спецов не пытали с пристрастием, что вашу базу обслуживают. Иногда такое бывает. Перегружают службу сервера 1С например
---
А dt файл формируется?

https://infostart.ru/public/18771/
---
Кэш чистили? Тестирование и исправление делали? Если нет, почистить кэш, сделать резервную копию, сделать ТиС.
---
Может, обновление было, да некорректно сделано?
---
почистили кэш, перезагрузили сервер и ошибка ушла
Решил подключить внешнюю таблицу к 1С. В пользовательском режиме она отказалась открываться, запросы через консоль запросов тоже возвращаются с исключением на некорректный синтаксис. Выяснилось, что дело в имени поля: "file". Для MSSQL это имя зарезервировано как ключевое, но никто не запрещает его использовать, если используются квадратные скобки, например:

```1c
    SEL ECT table.[file] FR OM table;
```

Попытка указать имя поля в конфигураторе в форматах: [file], 'file' ни к чему не привели. Как бороться?
---
ясно. Просто указать имя для поля во внешнем источнике данных свойство "Имя в источнике" в двойных кавычках. Для данного случая: "file"
---
SEL ECT table.[file] FR OM table;
как бы не верный синтаксис. Должно быть так:

```1c
    SEL ECT file FROM table;
```

или так:

```1c
    SELECT t.file FR OM table AS t;
```
---
Я про синтаксис MSSQL, а не 1С. Если ему попытаться скормить так как предлагаете Вы, то он будет ругаться на то, что reserved keyword "file" не может быть употреблен. Чтобы эту проблему решить надо все имена таблиц и полей заключать в квадратные скобки. В 1С нет такой возможности. А вот почему она сама этого не делает обращаясь к внешнему источнику данных через ODBC - вопрос.
---
ясно. Просто указать имя для поля во внешнем источнике данных свойство "Имя в источнике" в двойных кавычках. Для данного случая: "file"
---
На ИТС непрозрачно написано об этом, но только там речь про одинарные кавычки. С двойными заработало.
Здравствуйте!

На форму программно добавляю реквизиты и элементы формы (каждый раз разное количество)
Реквизиты и элементы создаются с именами "НомГруппа" + Строка(Счетчик), получаю имена
НомГруппа1, НомГруппа2 и т.д.

Подскажите, пожалуйста, как потом перебрать все эти реквизиты? Нужны их значения для дальнейшей обработки.

Спасибо!
---
а не проще тупо таблицу сделать с колонками НГ и выручка?
---
При добавлении заполняйте Массив структур, в котором будут храниться реквизит и элемент. Если добавление в модуле формы происходит, достаточно клиентской переменной модуля, иначе можно создать реквизит формы произвольного типа, в который писать массив структур.
---
В общем ситуация такая:
1 - по нажатию на кнопку на форме добавляются два реквизита и элемента НомГруппа и Выручка
2 - далее пользователь их заполняет, если нужно, то добавляет еще и снова заполняет.
---
проще уж реквизит формы типа ТЗ
как, например, сделано описание реквизитов в БСПшном блоке дополнительных свойств
---
как в этом случае заполнять массив структур? программа же будет перезаписывать этот массив после каждого добавления новых реквизитов
---
а не проще тупо таблицу сделать с колонками НГ и выручка?
---
как оказалось очень проще и быстрее, Спасибо!
по остальным предложениям просто знаний не хватило реализовать.
---
а зачем переписывать? Нужно добавлять к массиву или к ТЗ.
Для универсального отчета по номенклатуре надо добавить 4 колонки: остатки на сегодня, заказы за последние 30, 60, 90 дней. Каким образом написать запрос? В программировании я не очень силен, только учусь этому.

Не представляю как можно Запрос написать на количество заказов. В заказе же разная номенклатура присутствует.
---
Что то подобие такого примерно.Набросок
---
это задача для опытного программиста и использовать такой отчет в качестве обучающего не целесообразно.

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

где ваш вариант запроса, ваши попытки решения?
---
хочу своими силами справиться.

Ну немного посмотрел код. Просто не будет. В планах сделать примерно так:

Запрос = Новый Запрос
(...)
Запрос.УстановитьПараметр (90, "что-то,что было в запросе")

Для Каждого (...) Цикл
      ДобавитьПоле (90дней,"...")
      ДобавитьПоле ("...")
      ДобавитьПоле ("...")
      ДобавитьПоле ("...")
КонецЦикла.
---
за такие планы в былые времена отправляли на галеры
---
Хмм. Тогда что в плане этом плохо?
---
```1c
    ВЫБРАТЬ
    ЗаказыКлиентов.Номенклатура КАК Номенклатуры,
    КОЛИЧЕСТВО(ЗаказыКлиентов.Регистратор) КАК КоличествоЗаказов
    ИЗ
    РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
    СГРУППИРОВАТЬ ПО
    Номенклатура
```
---
ого. Спасибо большое.
Не могли бы подсказать, моё (4) соо вообще похоже на правду?
---
Я бы не стал делать подобный отчет путем написания длинного кода с манипуляцией выборками, не стоит оно того. Проще собрать такой отчет целиком на СКД. Нужно объединить результаты запроса по остаткам номенклатуры с результатами запросов по количеству заказов за определенный период. Дальше СКД сама займется формированием результирующей таблицы.
---
видимо придется учить СКД, с ним я вообще не работал. Спасибо большое.
---
В принципе этот запрос готовый, осталось вывести период(им вы и будете за 30,60, 90 дней смотреть), отбор по конкретной номенклатуре и т.д. ну и плюс остатки привязать на сегодняшний день
---
Я вот смотрю в код данного отчета и вообще не понимаю как он формируется)
---
Код очень большой для данного отчета и сложный в понимании. Учитывая, что здесь все идет через СКД. Но делать надо
---
какая у вас конфигурация ?
---
УТ 11.4.7.114
---
подождите не много
---
я и не спешу никуда)
---
Что то подобие такого примерно.Набросок
---
Воу, я удивлен. Рабочий код. ОГромное спасибо! Думаю будет легче сюда впихнуть остальные столбцы которые нужны, чем тот отчет менять
---
Попробуй посмотри, что из этого получиться
---
Разбираюсь как поля добавить типа Артикул и пр.
---
насколько я понимаю в отчет включены только те товары, по которым когда либо был заказ? По которым не было их не будет, верно?
---
да выходит, что так получаеться
---
буду как то переписывать, чтоб полностью номенклатуру брало
Здравствуйте!
Конфигурация на УФ.
Есть некий документ с реквизитами дата и ответственный.
Подскажите, пожалуйста, как осуществить заполнение(перезаполнение) реквизита дата при проведении документа пользователем, который является ответственным?
Пробовал операторы ПередЗаписью и ПриЗаписи в модуле объекта, но результата нет, поле не заполняется.
---
скорее всего должно быть так:
```1c
    Если Ответственный.Код = Пользователь Тогда
```

Или так:
```1c
    Если Ответственный.Наименование = Пользователь Тогда
```
---
```1c
    Процедура ПередЗаписью(Отказ, РежимПроведения)

    Если РежимПроведения = РежимЗаписиДокумента.Проведение Тогда

    ДатаОтправки = ТекущаяДата();

    КонецЕсли;

    КонецПроцедуры
```

Так заполняет, но перезаполняет при любых проведениях документа, а нужно, что бы поле заполнялось, если текущий пользователь = ответственному этого документа.
---
а как пробовали?
---
```1c
    Процедура ПередЗаписью(Отказ, РежимПроведения)

    Если РежимПроведения = РежимЗаписиДокумента.Проведение Тогда

    ДатаОтправки = ТекущаяДата();

    КонецЕсли;

    КонецПроцедуры
```

Так заполняет, но перезаполняет при любых проведениях документа, а нужно, что бы поле заполнялось, если текущий пользователь = ответственному этого документа.
---
Пробовал условие вставить:

```1c
    Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя;
    Если Ответственный = Пользователь Тогда
```

Так не работает.
---
Ну так, поди, ответственный - это справочник Пользователи, а ПолноеИмя - это строка, да?
---
В отладчике посмотрите значения. Скорее всего до условия доходит, а внутрь не попадает из-за разных типов значений.
---
скорее всего должно быть так:
```1c
    Если Ответственный.Код = Пользователь Тогда
```

Или так:
```1c
    Если Ответственный.Наименование = Пользователь Тогда
```
---
Вот так получилось. Спасибо.
---
лучше всего будет добавить настройку пользователю настройку например "Ответственный за дату" значение булево и при записи или проведении былаэта проверка, а так у вас сегодня один ответственный завтра другой, потом новый пользователь появится или несколько их станет.
Доброго времени суток всем читающим! Друзья у меня имеет конфигурация Рарус CRM 2.0 управление торговлей и взаиморасчетами с клиентами, мое руководство попросило, что бы в списках документов и журналах дата отображалась в формате "дд.ММ.гггг чч:мм:сс" что в текущем дне, что в прошлых периода. Нашел функцию в глобальном модуле которая отвечает за условное оформление УстановитьУсловноеОформлениеПоляДата, установил там этот формат, все стало отображаться, НО время отображается в разрезе AM РМ, по 12 часов, подскажите, куда копать что бы формат был 24 часа, настройки сервера проверил, компа тоже, изменение формата в списке документов, в журналах документов и обработках по этим спискам никакого результата не дали.
---
"ЧЧ" должно быть в верхнем регистре.
---
"ЧЧ" должно быть в верхнем регистре.
---
точно, что-то я этот момент упустил из виду. Большое спасибо)
доброе утро ребят!у меня вопрос вот такого характера,собираю отчет СКД!подгоняю его под вид что показан на скрине!верхняя строчка это склады,под ним в вертикальном положение находятся качества!вот не пойму,как мне сделать их в таком положение!а то они у меня идут в горизонтальном написании!подскажите пожалуйста
---
Доброе утро! В основной схеме компоновки данных есть вкладка "Наборы данных". Там для каждого поля можно настроить оформление(справа). Поищи ориентацию текста. Также можно через условное оформление, это если нужно настроить ориентацию только для заголовка полей.
---
Доброе утро! В основной схеме компоновки данных есть вкладка "Наборы данных". Там для каждого поля можно настроить оформление(справа). Поищи ориентацию текста. Также можно через условное оформление, это если нужно настроить ориентацию только для заголовка полей.
---
спасибо!
Добрый вечер, Как можно разместить заголовок в макете отчета по Центру всей длины отчета? А также по самую правую часть
---
Наверное все таки ширины?
Увы банальное УО не работает, Но Если Что то Не устраивает. бежим в ПриКомпоновкеРезультата в модуле объекта

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    //Здесь объединяем и устанавливаем положение
    ОбластьЗаголовка = ДокументРезультат.Область(2,1,2,ДокументРезультат.ШиринаТаблицы);
    ОбластьЗаголовка.Объединить();
    ОбластьЗаголовка.ГоризонтальноеПоложение=ГоризонтальноеПоложение.Право;
    КонецПроцедуры
```
---
Наверное все таки ширины?
Увы банальное УО не работает, Но Если Что то Не устраивает. бежим в ПриКомпоновкеРезультата в модуле объекта

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    //Здесь объединяем и устанавливаем положение
    ОбластьЗаголовка = ДокументРезультат.Область(2,1,2,ДокументРезультат.ШиринаТаблицы);
    ОбластьЗаголовка.Объединить();
    ОбластьЗаголовка.ГоризонтальноеПоложение=ГоризонтальноеПоложение.Право;
    КонецПроцедуры
```
---
А если использовать вкладку "макет" СКД и создать какой нужно макет, с размещением полей как угодно?
---
А если использовать вкладку "макет" СКД и создать какой нужно макет, с размещением полей как угодно?

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

```1c
    Пока ТабДокумент.ПроверитьВывод(ОбластьМакета) Цикл
    ТабДокумент.Вывести (ОбластьМакета);
    КонецЦикла;
```

вроде должно быть все просто. но какая-то фигня получется
---
Массив = Новый Массив;
Пока ТабДокумент.ПроверитьВывод(Массив) Цикл
Массив.Добавить(ОбластьМакета);
КонецЦикла;

Для обл из массив цикл
ТабДокумент.Вывести (обл );

в общем сделал в области 3 строки и стало хорошо))
---
учитывайте: "Следует учитывать, если для табличного документа установлены поля, размер которых меньше размера полей, установленных для принтера, на котором документ будет напечатан, то при печати содержимое некоторых строк может не уместиться на странице, даже если метод возвращает значение Истина. "
---
Можно попробовать проверять массив областей

```1c
    Массив = Новый Массив;
    Пока ТабДокумент.ПроверитьВывод(Массив) Цикл
    Массив.Добавить(ОбластьМакета);
    КонецЦикла;
```

Для обл из массив цикл

```1c
    ТабДокумент.Вывести (обл );
```
---
Массив = Новый Массив;
Пока ТабДокумент.ПроверитьВывод(Массив) Цикл
Массив.Добавить(ОбластьМакета);
КонецЦикла;

Для обл из массив цикл
ТабДокумент.Вывести (обл );

в общем сделал в области 3 строки и стало хорошо))