arefaste/1C_Forums huggingface dataset:
Добрый день.

К справочнику серии добавляю доп. реквизит. А как сделать, что он только просматривался другими пользователями. Чтобы они не могли его редактировать. Заранее спасибо.
---
Вдруг кому-то пригодится:
Решил проблему так: создал расширение. Добавил справочник серию. При открытии основной формы добавил обработчик. Проверку на полные права и конкретный вид номенклатуры,если нет то ЭтаФорма.ТолькоПросмотр = Истина; . По мне так то что нужно. Никто потому что кроме администратора не может редактировать дополнительные реквизиты и вообще серию.
---
Скорее всего, нужно установить режим "Только просмотр" в соответствующих полях формы. Например, в форме обработки ПодборСерийВДокументы.РегистрацияИПодборСерийПоОднойСтрокеТоваров в процедуре ПриСозданииНаСервере в вызове метода УправлениеСвойствамиУТ.ДобавитьКолонкиДополнительныхРеквизитов указать 6-й параметр ТолькоПросмотр=Истина. При этом все колонки доп. реквизитов будут добавлены на форму с режимом "Только просмотр".

Возможно, нужно доработать аналогичным еще какие-то формы, где может быть отредактирована серия.

Также можно посмотреть в эту сторону:
В конфигураторе есть возможность задавать доступ к отдельным реквизитам объектов. Ни разу этим не пользовался, но можно попробовать. Но в ERP доступ к табличной части ДополнительныеРеквизиты справочника Серии указан для всех ролей. То есть, нужно будет снимать с поддержки все роли и убирать у них доступ к редактированию ТЧ. Обновление после такого действия превратится в Адъ.
---
Вдруг кому-то пригодится:
Решил проблему так: создал расширение. Добавил справочник серию. При открытии основной формы добавил обработчик. Проверку на полные права и конкретный вид номенклатуры,если нет то ЭтаФорма.ТолькоПросмотр = Истина; . По мне так то что нужно. Никто потому что кроме администратора не может редактировать дополнительные реквизиты и вообще серию.
День добрый.
Такой вопрос:

Есть ли где собранная в кучку выжимка по синтаксическим изменениям платформ 8.3.7 и 8.3.8.?
А то увидеть нужное читая весь V8Update очень затруднительно.
---
А что там сложного? Заходите в V8Update и щелкаете Средства разработки, далее смотрите по версиям
---
А что там сложного? Заходите в V8Update и щелкаете Средства разработки, далее смотрите по версиям
---
Всякое полезное, касаемо новшеств, периодически тут выкладывают https://wonderland.v8.1c.ru/
Можно попробовать там поискать.
Добрый день, коллеги! Подскажите, где искать?
Очень измененная Бухгалтерия предприятия, редакция 3.0 (3.0.51.12) .
Документ ЗаявлениеОВвозеТоваров. Кнопка заполнения.
Три кнопки заполнения - две прописаны в явном виде в коде формы, а третья отсутствует и в коде формы и в дополнительных обработках.
Если поставить точку остановки в событии ПриСозданииНаСервере, то можно увидеть, что кнопка уже имеется в форме на момент создания документа на сервере.

Подскажите где искать? Чувствую, что ответ элементарен, но при этом нигде не вижу этой обработки заполнения...
---
В конфигураторе открой в меню Конфигурация --> Расширения конфигурации. Есть что-нибудь в списке?
---
Может расширение конфигурации?
Версия платформы какая?
---
Платформа 1С:Предприятие 8.3 (8.3.9.1818).
Где можно расширения конфигурации?
---
В конфигураторе открой в меню Конфигурация --> Расширения конфигурации. Есть что-нибудь в списке?
---
Да, вы абсолютно правы! Там Расширение1 и все нужное для исправления там же...

Большое спасибо! Массу времени сэкономили.
Здравствуйте! конфигурация упп релиз 1.3.91.1...стоит эмулятор пока тестирую функционал. Суть такая...я добавил в пко реквизит и мне нужно чтобы он выводился в чеке....в процессе отладки нашел модуль.

```1c
    Функция ПечататьСтроку(Объект, Наименование, Количество, Цена, Скидка, Отдел, НДС) Экспорт

    Результат = мНетОшибки;

    Если Не мЧекОткрыт Тогда
    Объект.ОписаниеОшибки = "Чек не был открыт";
    Результат = мОшибкаНеизвестно;
    Иначе
    // Печать строки чека
    Сообщить("..............................");
    Сообщить(Наименование);
    Сообщить(Строка(Количество) + " * " + Строка(Цена) + " = " + Формат(Количество*Цена, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"));
    Если Скидка > 0 Тогда
    Сообщить("Скидка: " + Формат(Скидка, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0") + "%");
    КонецЕсли;
    Сообщить("Отдел: №" + Отдел);
    Если НДС > 0 Тогда
    Сообщить("НДС: " + НДС + "%");
    КонецЕсли;
    Сообщить("..............................");
    мИтогЧека = мИтогЧека + Окр(Количество*Цена - Количество*Цена*Скидка*0.01, 2, РежимОкругления.Окр15как20);
    КонецЕсли;

    Возврат Результат;

    КонецФункции // ПечататьСтроку()
```

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

```1c
    Если ВидФУ = Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор Тогда
```

вот от этого отталкиваться собирался я, если условие выполняется то идем в обработку СерверТО. и там функция в модуле объекта ПЕЧАТЬПКО(...) (в которой и вызывается вами указанная функция).
если нет, то надо будет разбираться.
---
вот и я там же копал) но обратной реакции нет) он мне элементарно поле Сообщить ("не выводит").
---
я там же копал) но обратной реакции нет) он мне элементарно поле Сообщить ("не выводит").
Значит условие не отрабатывает
---
Функция ПечатьЧека....вот еще в нее обращается...сейчас там попробую посмотреть.
---
(3)
Коллеги, а вы для ФРа это хотите сделать или для ККТ?
---
ну печать должна идти с онлайн-кассы, пока тестирую на эмуляторе фр.
---
а нет...просто в функию ПечатьЧека он не попадает это я не туда посомтрел
---
вопрос снят, добавил ревизит на форму и при фискализации чека присвоил значение этого реквизита.
Добрый день, коллеги.

Требуется вывести остаток товаров на каждый день за период. Я попробовал сделать так: создал таблицу значений с датами (каждый день за период).

```1c
    ТЗДат = Новый ТаблицаЗначений;
    ТЗДат.Колонки.Добавить("Дата",Новый ОписаниеТипов("Дата"));
    ДатаНач = Объект.Период.ДатаНачала;
    Пока КонецДня(ДатаНач) <> (Объект.Период.ДатаОкончания + 60*60*24) Цикл
    Стр = ТЗДат.Добавить();
    Стр.Дата = НачалоДня(ДатаНач);
    ДатаНач = ДатаНач + 60*60*24;
    КонецЦикла;
```

И по этим датам регистр узнавать остаток. Но вот в запросе что-то не получается.

```1c
    ВЫБРАТЬ
    Даты.Дата
    ПОМЕСТИТЬ Даты
    ИЗ
    &Даты КАК Даты
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Период,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
    ПОМЕСТИТЬ ВТ_Регитср
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_Регитср.Период КАК Период,
    ВТ_Регитср.Номенклатура,
    ВТ_Регитср.ВНаличииНачальныйОстаток
    ИЗ
    ВТ_Регитср КАК ВТ_Регитср
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Даты КАК Даты
    ПО ВТ_Регитср.Период = Даты.Дата
```

Помогите как корректно построить запрос.
---
Смотреть тут
http://infostart.ru/public/306536/

Пункт 6. Остатки на каждый день
---
Хм ну то что ТЗ я делаю криво я понял. Бывает :)
Нашел регистр (ДанныеПроизводственногоКалендаря) с датами.
---
Запрос у тебя выведет только те даты, в которых были обороты. Если в дне, оборота не было, а остаток все равно нужен, то таким способом ты не получишь.
Тогда тебе нужно перебирать твою ТЗ, и на каждую итерацию ставить запрос - вытаскивая из виртуальной таблицы остатки.
Ну еще в СКД можно легко и непринужденно сделать
---
Смотреть тут
http://infostart.ru/public/306536/

Пункт 6. Остатки на каждый день
---
Спасибо огромное, получилось :)
Доброго времени суток.Прохожу задания в тренажёре запросов 1с. Типы оборудования: принтеры, ноутбуки, компьютеры. Нужно вытащить из регистра сведений все типы оборудования, кроме ноутбуков. Делаю двумя способами - не работает . Объясните, пожалуйста, кому не лень.
---
```1c
    ВЫБРАТЬ
    Оборудование.Модель,
    Оборудование.Производитель,
    Оборудование.ТипОборудования
    ИЗ
    Оборудование КАК Оборудование
    ГДЕ
    Оборудование.Модель В
    (ВЫБРАТЬ
    Компьютеры.Модель
    ИЗ
    Компьютеры КАК Компьютеры

    ОБЪЕДИНИТЬ ВСЕ

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

    ОБЪЕДИНИТЬ ВСЕ

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

(обычные формы)
---
если в справочнике Номенклатура для колонки Номенклатура заполняется колонка ЕдИзм
то в форме дока "Приказа на покупку", в ТЧ для Номенклатура использовать НоменклатураПриИзменении получать функцией ЕдИзм.
---
У поля "Номенклатура" табличной части в событии ПриИзменении.
Обратиться к ТекущимДанным элемента формы - если номенклатура заполнена - тогда запросом получить данные из неё и заполнить. Если не заполнена номенклатура, тогда очищать ед. изм в ТЧ и никакого запроса не делать.
---
если в справочнике Номенклатура для колонки Номенклатура заполняется колонка ЕдИзм
то в форме дока "Приказа на покупку", в ТЧ для Номенклатура использовать НоменклатураПриИзменении получать функцией ЕдИзм.
---
ну ты и выразился.. вроде и правильно, но фиг поймешь
---
Смотрим процедуру ПриИзменении() вашей ТабличнаяЧасть1, в ней пишем

```1c
    Объект.ТабличнаяЧасть1.ТекущиеДанные.ЕдИзм=Объект.ТабличнаяЧасть1.ТекущиеДанные.Номенклатура.ЕдиницаИзмерения
```
Подскажите пожалуйста где можно найти полную статью от А до Я про последовательности документов.. а то мало статей он ней..
---
Добрый день. А что конкретно интересует?
Механизм достаточно хорошо описан на ITS

http://v8.1c.ru/overview/Term_000000450.htm
https://its.1c.ru/db/metod8dev/content/2736/hdoc

есть статейка на инфостарт
http://infostart.ru/public/19146/

еще вот тут посмотрите
http://programmist1s.ru/posledovatelnosti-v-1s/
http://www.klerk.ru/soft/articles/108748/
---
по конкретнее вопрос можно озвучить последовательность документов можно представить по разному.
---
Добрый день. А что конкретно интересует?
Механизм достаточно хорошо описан на ITS

http://v8.1c.ru/overview/Term_000000450.htm
https://its.1c.ru/db/metod8dev/content/2736/hdoc

есть статейка на инфостарт
http://infostart.ru/public/19146/

еще вот тут посмотрите
http://programmist1s.ru/posledovatelnosti-v-1s/
http://www.klerk.ru/soft/articles/108748/
---
Спасибо большое буду раскуривать) достаточно интересный механизм
Для документов есть общий реквизит Создатель. При открытии/записи документа Операция, реквизит виден только через ТекущийДокумент().Создатель.
Как при записи документа изменять общие реквизиты?
---
Попробуйте так:
Процедура ПриЗаписи()
    Документ.Создатель = глПользователь;
КонецПроцедуры
---
Попробуйте так:
Процедура ПриЗаписи()
    Документ.Создатель = глПользователь;
КонецПроцедуры
---
Спасибо!
Пропала шапка в акте сверки. Т.е. на печать выводит надпись акт сверки, пустое место и ниже таблица с заполненными значениями. Всё это в конфигурации 3.0, последний релиз.
---
Проверьте в макете Акта сверки сами поля есть? Сравните со стандартом, может что-то поправить ...
---
вернуть стандартный макет
---
Уже стоит стандартный, он не менялся.
---
Последний релиз - это ... какой? Выплыло после чего? Обновление? На предыдущем релизе все в норме? На архивной копии базы?
Для чего задавать эти вопросы ...
---
3.0.51.21, на прошлом проблем не наблюдалось, резервную копию естественно ни кто не делал....
---
Проверьте в макете Акта сверки сами поля есть? Сравните со стандартом, может что-то поправить ...
---
Посмотрел в таком же релизе - все в норме.
Здравствуйте!
Есть документ накладная на выдачу/возврат с реквизитом ВыдачаВозврат, на его форме есть ПолеВыбораВыдачаВозврат.
Создаю регистр накопления с измерениями наименование, выдачаВозврат.
Надо, чтобы при выборе в документе Выдачи в регистре записывалось в вид движения как расход, а при выборе Возврат -- соответственно Приход.
я 1 раз в этой теме(вообще с регистрами сталкиваюсь).
Подскажите, это можно реализовать? и где? где писать код?
---
1. регистр наколпления должен быть остаточным (в отличие от оборотных только в остаточных фиксируется приход/расход).
2. В процедуре обработки проведения при задании движений регистра пропишите что-то типа "Запись.ВидДвижения= ВидДвиженияНакопления.Приход"
---
В обработке проведения, для начала можно и конструктором движений создать - двойным кликом по документу, переходите на закладку движения, выбираете нужный регистр с помощью галочки и дальше уже на кнопку конструктором (или посмотреть пару видео роликов на эту тему).
А по вопросу будет:

```1c
    Проводка.ВидДвижения = ?(ВыдачаВозврат = Перечисление.КакоеТоПеречисление.Возврат ,ВидДвиженияНакопления.Приход, ВидДвиженияНакопления.Расход);
```
---
В обработке проведения, для начала можно и конструктором движений создать - двойным кликом по документу, переходите на закладку движения, выбираете нужный регистр с помощью галочки и дальше уже на кнопку конструктором (или посмотреть пару видео роликов на эту тему).
А по вопросу будет:

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

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

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

```1c
    РегистрыБухгалтерии.Хозрасчетный.УстановитьИспользованиеИтогов(Ложь);
    РегистрыБухгалтерии.Хозрасчетный.УстановитьИспользованиеТекущихИтогов(Ложь);
```
---
Отключи использование итогов, удали операцию, потом опять включи.
---
Можно программно:

```1c
    РегистрыБухгалтерии.Хозрасчетный.УстановитьИспользованиеИтогов(Ложь);
    РегистрыБухгалтерии.Хозрасчетный.УстановитьИспользованиеТекущихИтогов(Ложь);
```
---
Спасибо огромное ! Получилось !
Доброго времени. Создал дополнительный документ. Как можно в нем сделать возможность сортировки? Чтобы можно было сортировать по колонкам.

Смотрел в типовой, но там тип основного документа формы "Динамический список", а у меня тип ссылка на документ.
---
Через отлавливание событий многое можно. Но поясните мне три вещи:
1. Вот я, юзер, добавляю новую строку. Соответственно, ключевое поле у меня пустое. Где окажется новая строка? В начале списка? В середине? В конце?
2. Вот я меняю ключевую ссылку. Строка же должна "перепрыгнуть", чтобы всё оставалось сортировано?
3. Как мне, юзеру, не запутаться и не потерять текущую строку, если она "прыгает" по всей таблице?

Вам лучше бы пересмотреть задачу и переделать так, чтобы табличная часть документа не требовала автосортировки.
---
В пользовательском режиме - Все действия, Сортировать по убыванию/возрастанию.
---
Это я видел. А можно сделать как в форме списка, то есть по заголовку колонки нажимать?
---
Вроде нет. Без особого упорства как-то хотел сделать такое. И не нашел события щелчка по заголовку. Поэтому забил.
---
Через отлавливание событий многое можно. Но поясните мне три вещи:
1. Вот я, юзер, добавляю новую строку. Соответственно, ключевое поле у меня пустое. Где окажется новая строка? В начале списка? В середине? В конце?
2. Вот я меняю ключевую ссылку. Строка же должна "перепрыгнуть", чтобы всё оставалось сортировано?
3. Как мне, юзеру, не запутаться и не потерять текущую строку, если она "прыгает" по всей таблице?

Вам лучше бы пересмотреть задачу и переделать так, чтобы табличная часть документа не требовала автосортировки.
Здравствуйте! Есть печатная форма, в табличном документе выводится таблица (заполняется в цикле) и подвал с подписями, необходимо следующее: если на страницу не входит таблица + подвал, то последнюю строку таблицы вместе с подвалом переносить на новую страницу. Если вывод входит в две страницы, то работает, если три и более - то рвутся подписи

```1c
    // Шапка
    Область = Макет.ПолучитьОбласть("Шапка");

    // Шапка списка товаров
    Область1 = Макет.ПолучитьОбласть("ТоварыШапка");
    ТабДок.Вывести(Область1);

    // Товары
    ОбластьТовары = Макет.ПолучитьОбласть("Строка");
    ВсегоСтрокПоИндексу = Товары.Количество()-1;

    // Подписи (формируем)
    Подвал = Макет.ПолучитьОбласть("Подвал");

    // Вывод товаров
    Для ИНД = 0 ПО ВсегоСтрокПоИндексу Цикл
    ТекСтрокаТовары = Товары[ИНД];
    ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары);
    ОбластьТовары.Параметры.ТоварКод = ТекСтрокаТовары.Товар.Код;
    ОбластьТовары.Параметры.КодЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения.Код;

    // Проверим последнюю строку перед выводом
    Если ИНД = ВсегоСтрокПоИндексу Тогда
    МВО.Очистить();
    МВО.Добавить(Область);
    МВО.Добавить(Область1);
    МВО.Добавить(ОбластьТовары);
    МВО.Добавить(Подвал);
    Если НЕ ТабДок.ПроверитьВывод(МВО) Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    КонецЕсли;
    ТабДок.Вывести(ОбластьТовары);
    КонецЦикла;

    Подвал.Параметры.ИтогоЦенаПродажиСН = Товары.Итог("ЦенаПродажиСН");
    Подвал.Параметры.ИтогоКоличествоЗ = Товары.Итог("Количество");
    Подвал.Параметры.ИтогоКоличествоО = Товары.Итог("Количество");
    Подвал.Параметры.ИтогоСуммаПродажиСН = Товары.Итог("СуммаПродажиСН");
    //Подвал.Параметры.Руководитель = ДанныеФирма.Руководитель;

    ТабДок.Вывести(Подвал);

    ТабДок.Показать();
```
---
, вы проверяете только для последней строки ТЗ, поэтому работает только для двух страниц.
И убрать из МВО добавление Область и Область1, т.к. они уже сидят в ТабДок.

```1c
    ОбластьТовары.Параметры.КодЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения.Код;

    МВО.Очистить();
    МВО.Добавить(ОбластьТовары);
    МВО.Добавить(Подвал);
    Если НЕ ТабДок.ПроверитьВывод(МВО) Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
```
---
, вы проверяете только для последней строки ТЗ, поэтому работает только для двух страниц.
И убрать из МВО добавление Область и Область1, т.к. они уже сидят в ТабДок.

```1c
    ОбластьТовары.Параметры.КодЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения.Код;

    МВО.Очистить();
    МВО.Добавить(ОбластьТовары);
    МВО.Добавить(Подвал);
    Если НЕ ТабДок.ПроверитьВывод(МВО) Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
```
---
Вообще-то вам нужно проверять только последнюю строку, а не на каждой странице, поэтому эту проверку оставить:

```1c
    Если ИНД = ВсегоСтрокПоИндексу Тогда
```
---
Сообщение было скрыто модератором.