arefaste/1C_Forums huggingface dataset:
С нового года бухия 2.0 была сконвертирована в 3.0, успешно, потом главбух решила, по случаю ) исправить остатки, сделали свертку стандартной встроенной обработкой, остатки по счетам исправили, остатки по регистрам тоже (в ручных операциях, созданных сверткой), документы, помеченные сверткой на удаление пока на месте.
Вопрос в том, что если смотреть регистры накопления , например Прочие расчеты или Расходы по УСН, в период до ввода остатков, в режиме остатки и обороты, то присутствуют какие-то записи, которые формируют остаток, причем расчетный документ есть, а регистратора нет, а этого не должно быть - там нет проведенных документов.
Да еще , если выбирать разные периоды до 31.12.2016, то и остаток этот разный, при этом оборотов просто нет.
Базу тестировал.
Короче, почему в периоде, где нет проведенных документов, могут быть движения по регистру накопления?
Точнее даже, не сами движения, а остатки.
---
Извеняюсь, тупанул со скринами, вот в такой последовательности, прежде чем сделать пересчет выберете регистр (тоесть выделить строки с регистром)
---
сделайте пересчет итогов по регистрам
---
пересчет итогов по регистрам
что-то не нашел такого в бухии
Если речь о ТиИ, то это было проделано сразу.
---
Выгрузил\загрузил базу через dt и остатки исчезли. Странно это конечно.
---
при обновлении информационной базы происходит пересчет итогов, по сути вы сделали что я сказал только немного иначе))
---
при обновлении информационной базы происходит пересчет итогов
чем загрузка из dt отличается с точки зрения расчета итогов от "тестирования и исправления", где установлен пересчет итогов?
---
пересчет итогов есть во всех функциях, стандартная обработка
---
пересчет итогов есть во всех функциях, стандартная обработка
ткните пальцем, где пункт меню\ссылка интерфейса или обработка в списке в бухии 3.0, не могу найти
---
Если всех функций не будет, зайдите в сервис, параметры, "Галочка отображать все функции"
---
Извеняюсь, тупанул со скринами, вот в такой последовательности, прежде чем сделать пересчет выберете регистр (тоесть выделить строки с регистром)
---
Вот же ж блин, обработку такую открывал в том же списке, а вот до самого низа не докрутил.)))

Спасибо - пересчитал регистры за 2016 год, так остатки тоже исчезли.
Возникает логичный вопрос - а почему при ТиИ при пересчете они не исчезали?
Нужно забиндить на форме внешней обработке кнопки которые в 1с уже используются. К примеру по F5 должна вызываться нужная процедура.
Гугл дал ответ:

```1c
    Элементы.МояКНопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F5, Ложь, Ложь, Ложь);
```

Вот только где вызывается эта процедура гугл рассказывать не хочет.
Если вызываю ПриСоздании на форме то ничего не происходит.
Как правильно использовать сочетание клавиш чтобы кнопка заработала?
---
может код а обработчике команды с ошибкой?
вот обработка с кнопкой ф2,проверено на тонком и толстом клиенте
---
например в процедуре ПриСозданииНаСервере
---
вот пример из ут,может поможет.а тоя неправильно прочитал сабж)

```1c
    НоваяКоманда = ЭтаФорма.Команды.Добавить("КомандаВставитьТег_НижнийИндекс");
    НоваяКоманда.Действие = "КомандаВставитьТеги";
    НоваяКоманда.Заголовок = "Нижний индекс (<sub></sub>)";
    НоваяКоманда.ИзменяетСохраняемыеДанные = Истина;
    НоваяКоманда.Отображение = ОтображениеКнопки.КартинкаИТекст;
    НоваяКоманда.Подсказка = НоваяКоманда.Заголовок;
    НоваяКоманда.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.NumSubtract, , Истина); // Ctrl+Num-
```
---
Элементы.МояКНопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F5, Ложь, Ложь, Ложь); Вот это можно использовать при програмном создании элемента формы
---
Ну вот если я делаю вот так:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.МояКНопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F2, Ложь, Ложь, Ложь);
    КОнецПроцедуры
```

Но кнопка не работает. мне нужно чтобы кнопка visa на скрине работала по нажатию f2, как это сделать? В сочетании клавиш прописано F2. Вообще все эти клавиши должны срабатывать.
---
seva1405, почему не назначить сочетание клавиш команде кнопки в редакторе формы? Или ты хочешь определить сочетания клавиш именно при открытии формы?
---
Если переопределить. У старой кнопки убрать вызов по F2. Своей новой кнопке добавить F2, все в редакторе формы.
---
может код а обработчике команды с ошибкой?
вот обработка с кнопкой ф2,проверено на тонком и толстом клиенте
---
марксист,
Элементы.КомандаХотКэй.СочетаниеКлавиш =новый СочетаниеКлавиш(Клавиша.F2,Ложь,Ложь,Ложь);
Работает, использовал такой метод в УТ
---
Зря я пытался на F2 назначить кнопки программно, сочетание клавиш можно присвоить только с шифтом или альтом. Почему может не работать сочетание клавиш в свойствах команды? Все команды перерыл которые есть на форме, нигде нет назначеной кнопки f2.
---
seva1405, в той обработке,что я прикрепил прекрасно отрабатывает кнопка f2
---
Да в простой обработке работает.
---
решилась задача?и как , и в чем была проблема,если не секрет,или все таки использовали сочетание клавиш?попробовал на некоторых своих рабочих обработках,ф2 отрабатывает
---
Нет задача не решилась, я переделывал обработку рмк встроенную в 1с розница, что только не делал не работают клавиши.
---
пробуйте запускать в толстом клиенте. второе я так понял у вас Управляемое приложение, клавишу задавать нужно команде. Можно как вариант еще рыть в сторону " Новый COMОбъект("Wscript.Shell") "
Не могу понять, без добавления ХТМЛ поля нельзя никак отобразить данные типа как с текстовым документом:

```1c
    &НаСервереБезКонтекста
    Процедура ПоказатьНаСервере(ФайлХМЛ,пТекст)
    // Вставить содержимое обработчика.

    лВременныйФайл = ПолучитьИмяВременногоФайла("xml");

    ДД = ФайлХМЛ.ФайлХранилище.Получить(); // тут файл XML записан, через двоичные данные.

    Дд.Записать(лВременныйФайл);

    пТекст.Прочитать(лВременныйФайл,"UTF-8");
    УдалитьФайлы(лВременныйФайл);
    КонецПроцедуры

    &НаКлиенте
    Процедура Показать(Команда)
    лТекст = Новый ТекстовыйДокумент;
    ПоказатьНаСервере(ФайлХМЛ,лТекст);
    лТекст.Показать();
    КонецПроцедуры
```

Хочу XML смотреть как он показывается в браузере.
---
так, с полем я погорячился)

Почитай тут.
---
так в чем проблема то?
все работает...

```1c
    Запись = Новый ЗаписьXML;
    ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Истина, Истина, Символы.Таб);
    Запись.УстановитьСтроку(ПараметрыЗаписиXML);
    Запись.ЗаписатьОбъявлениеXML();
    Запись.ЗаписатьНачалоЭлемента("ААА");
    Запись.ЗаписатьКонецЭлемента();
    Текст = Запись.Закрыть();

    лТекст = Новый ТекстовыйДокумент;
    лТекст.УстановитьТекст(Текст);
    лТекст.Показать();
```
---
Проблема в функциональности метода "Показать". Хочется смотреть как в браузере с разукрашками и возможностью сворачивания иерархий.
---
Форма с полем HTML подходит? А сохранение во временный файл .html и запуск браузера?
---
Запуск браузера тоже не подходит.
Хотя я вот что-то даже с полем ХТМЛ не могу пока сладить. Как это делать?
---
Создаешь текстовый реквизит формы, вытаскиваешь на форму, выбираешь тип "Поле HTML-документа", присваиваешь этому реквизиту текст XML.
---
Каким образом?

```1c
    &НаКлиенте
    Процедура Показать(Команда)
    //Элементы.ДокументХМЛ.
    ДокументХМЛ = " тра ля - ля";
    КонецПроцедуры
```
---
так, с полем я погорячился)

Почитай тут.
---
Вах! Темка! Спасибо друг!
---
Смотри в браузере... или в любой другой внешней программе вроде нотепад++.

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

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

```1c
    // Скрываем доступ к остальным менеджерам...
    Форма.ЭлементыФормы.табЖурнал.НастройкаОтбора.Менеджер.Доступность = Ложь;
```

Включил нужную настройку для пользователя - теперь все ок.
Спасибо, за участие, помощь!
---
кроме ... у него возможность установить отбор по тек. значению не активна... - есть еще какие-то ограничения у данного пользователя ?

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

```1c
    // Скрываем доступ к остальным менеджерам...
    Форма.ЭлементыФормы.табЖурнал.НастройкаОтбора.Менеджер.Доступность = Ложь;
```

Включил нужную настройку для пользователя - теперь все ок.
Спасибо, за участие, помощь!
В готовом табличном документе объединяю несколько разных областей (например товары и услуги). Состав колонок одинаковый.

После создания формата строк "убиваются" группировки колонок. Новый формат строк нужен для того что бы при изменении размера колонок товаров изменялся размер колонок услуг.

Объединяю вот таким образом:

```1c
    ОтчетТабличныйДокумент.Область(1,, ОтчетТабличныйДокумент.ВысотаТаблицы).СоздатьФорматСтрок();
```

Как можно вернуть группировку колонок?
---
так и должно быть. Именно для этого оно и нужно.
Сделай в 2 макетах одинаковые колонки тогда все ляжет!
---
так и должно быть. Именно для этого оно и нужно.
Сделай в 2 макетах одинаковые колонки тогда все ляжет!
---
Спасибо.

Мне это же и документация рассказала.

Но это в виде отчета. И пользователям нужно изменять ширину колонок :( А там есть группировки колонок...
---
так пусть меняют руками, в чем тогда проблема?
---
А как же удобство пользования? :)
Добрый день, имеется такая заготовка отчета:
1. необходимо убрать пустые поля не потеряв числа
2. необходимо чтобы ответственный если их несколько в группировке выводился через запятую

идея реализации в голову пока, что не пришла , есть идеи ?
---
2 задача решена, СоединитьСтроки (JoinStrings)
---
2 задача решена, СоединитьСтроки (JoinStrings)
Здравствуйте.
надо, чтобы писало: Главному врачу
Код:

```1c
    СклонениеПредставленийОбъектов.ПросклонятьПредставление(Строка(ДолжностьРуководителя), 3, ДолжностьРуководителя));
```

И с 3 и с 4 всегда выдает "Главный врач", что никак не просклонять правильно?
---
Значит в регистре сведений уже сохранено неправильное склонение. Просто зайди в объект, нажмите гиперссылку склонения, там будет список падежей. И в ручную поправьте или сразу в регистре "Склонения представлений объектов" запись найдите.

И все будет нормально
---
Значит в регистре сведений уже сохранено неправильное склонение. Просто зайди в объект, нажмите гиперссылку склонения, там будет список падежей. И в ручную поправьте или сразу в регистре "Склонения представлений объектов" запись найдите.

И все будет нормально
Всем привет. Столкнулся с вот такой проблемой. Есть простенький отчет и хочется вывести его в таком виде:
http://shot.qip.ru/00SM8s-6PXOGX2iY

а он, подлец, выводится в таком:
http://shot.qip.ru/00SM8s-5PXOGX2iZ
как его заставить выводиться в правильном виде?
настройки сейчас такие:
http://shot.qip.ru/00SM8s-4PXOGX2j0
---
В колонках добавь группу "Дата". А у тебя что будет показана в ячейках (у тебя нет не одного ресурса) ?
---
все, ребята, спасибо. затупил под вечер. я как-то привык в таблицы выводить через ресурсы числовые поля, типа сумм и количеств, а вот дату аналогично вывести затупил. пробовал построить отчет без добавления этого поля в ресурсы.
---
Детальные записи должны быть на уровне Вида стажа, т.е. их надо поднять выше на уровень.
---
В колонках добавь группу "Дата". А у тебя что будет показана в ячейках (у тебя нет не одного ресурса) ?
---
ИМХО, детальные записи вообще надо под физлицо.
---
все, ребята, спасибо. затупил под вечер. я как-то привык в таблицы выводить через ресурсы числовые поля, типа сумм и количеств, а вот дату аналогично вывести затупил. пробовал построить отчет без добавления этого поля в ресурсы.
Доброго времени суток всем.
Есть документ, у него есть табличная часть. В табличную часть добавили реквизит, пусть будет БОНУС.
Делаю так:

```1c
    НоваяКолонка = ЭлементыФормы.Товары.Колонки.Вставить(14,"Бонус",ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15,2));
    НоваяКолонка.Имя = "Бонус";
    НоваяКолонка.ГоризонтальноеПоложениеВКолонке = ГоризонтальноеПоложение.Право;
    НоваяКолонка.Данные = ?????
```

Как теперь привязать эту колонку к данным табличной части???
---
```1c
    НоваяКолонка = ЭлементыФормы.Товары.Колонки.Вставить(14,"Бонус");
    НоваяКолонка.Имя = "КолнкаБонус";
    НоваяКолонка.ГоризонтальноеПоложениеВКолонке = ГоризонтальноеПоложение.Право;
    НоваяКолонка.Данные = "Бонус";
```
---
```1c
    НоваяКолонка = ЭлементыФормы.Товары.Колонки.Вставить(14,"Бонус");
    НоваяКолонка.Имя = "КолнкаБонус";
    НоваяКолонка.ГоризонтальноеПоложениеВКолонке = ГоризонтальноеПоложение.Право;
    НоваяКолонка.Данные = "Бонус";
```
---
Блин. как просто. Да работает.
Все варианты перебрал. Спасибо.
```1c
    ДвоичныеДанные = СсылкаНаВПФ.ХранилищеОбработки.Получить();
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
```

Внешняя обработка на управляемых формах платформа 8.3.
Все работает если вызываю ее методом файл - открыть. Но если я включаю ее во внешние обработки и затем вызываю ис заданного места, выдает ошибку Ошибка записи временного файла. Причем это происходит и если каталог временных файлов и если указываю любую другую папку или просто корень диска D/ Никто не сталкивался с таким?
---
Не связано ли это с тем, что существует "безопасный" режим запуска внешних отчетов.
---
Отвечаю сам Рот регистрации обработки указан безопасный режим истина - заменил на ложь и все в порядке.
---
метод "Записать" в обоих случаях выполняется в одном контексте(клиент/сервер)? Может во втором случае метод работает на сервере, а "ИмяВременногоФайла" для него задано на клиенте?(клиентском компьютере)
---
Не связано ли это с тем, что существует "безопасный" режим запуска внешних отчетов.
---
Отвечаю сам Рот регистрации обработки указан безопасный режим истина - заменил на ложь и все в порядке.
---
Сначала написал, потом прочел ответ - да, Игорь, Вы абсолютно правы!
Я может ошибаюсь , но когда то кажется видел вот такое двойное условие

```1c
    ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад в (ВЫБРАТЬ
    ВТ_СоответствиеГрузов.Номенклатура,
    ВТ_СоответствиеГрузов.Склад
    ИЗ
    ВТ_СоответствиеГрузов КАК ВТ_СоответствиеГрузов)
```

Можно ли так сделать и если да то как правильно?
---
что значит как правильно?)
Это пишется для того чтобы запросом получить список складов. Не переменной же их задавать! А тем более когда список может быть динамически.
---
скобочки забыли:

```1c
    (ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад) в (ВЫБРАТЬ
    ВТ_СоответствиеГрузов.Номенклатура,
    ВТ_СоответствиеГрузов.Склад
    ИЗ
    ВТ_СоответствиеГрузов КАК ВТ_СоответствиеГрузов)
```
---
(<Выражение 1>, ..., <Выражение N>) В (<Вложенный запрос>)
Вложенный запрос должен определять выборку из N колонок.

Групповой оператор вхождения принимает значение "Истина", если запись (<Выражение 1>, ..., <Выражение N>) совпадает с одной из записей выборки, определяемой вложенным запросом. Например, пусть левым операндом является список:

(1, 2, 3)
Если результатом вложенного запроса является выборка:

1, 1, 1
2, 2, 2
2, 2, 3
то результатом группового оператора вхождения будет "Ложь", а если результатом вложенного запроса является выборка:

1, 1, 1
1, 2, 3
2, 2, 3
то результатом группового оператора вхождения будет "Истина".
---
что значит как правильно?)
Это пишется для того чтобы запросом получить список складов. Не переменной же их задавать! А тем более когда список может быть динамически.
---
скобочки забыли:

```1c
    (ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Склад) в (ВЫБРАТЬ
    ВТ_СоответствиеГрузов.Номенклатура,
    ВТ_СоответствиеГрузов.Склад
    ИЗ
    ВТ_СоответствиеГрузов КАК ВТ_СоответствиеГрузов)
```
---
(<Выражение 1>, ..., <Выражение N>) В (<Вложенный запрос>)
Вложенный запрос должен определять выборку из N колонок.

Групповой оператор вхождения принимает значение "Истина", если запись (<Выражение 1>, ..., <Выражение N>) совпадает с одной из записей выборки, определяемой вложенным запросом. Например, пусть левым операндом является список:

(1, 2, 3)
Если результатом вложенного запроса является выборка:

1, 1, 1
2, 2, 2
2, 2, 3
то результатом группового оператора вхождения будет "Ложь", а если результатом вложенного запроса является выборка:

1, 1, 1
1, 2, 3
2, 2, 3
то результатом группового оператора вхождения будет "Истина".
---
Если запрос, вложенный в групповой оператор вхождения, сложный, содержит агрегатные функции, использует таблицы с большим количеством записей, то вероятно, что исполнение группового оператора вхождения будет крайне не эффективным. В этом случае целесообразно:

исполнить вложенный запрос отдельно и сложить его результат во временную таблицу;
определить во временной таблице индекс либо по всем полям, либо по наиболее селективному подмножеству полей;
использовать полученную временную таблицу в запросе, вложенном в групповой оператор вхождения.
Всем привет! Есть отбор в динамическом списке. В определенном случае надо сделать так, чтобы ничего не выводилось. Как это можно сделать? Спасибо!
---
в условиях пишите:

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

```1c
    ВЫБОР
    КОГДА &ОпределенныйСлучай ТОГДА
    ЛОЖЬ
    ИНАЧЕ
    (Какое то свое условие)
    КОНЕЦ
```
---
спасибо, попробую.
---
Добавить в запрос поле, типа так: ..., 4 КАК ДваждыДва. И иногда не соглашаться, что ДваждыДва=4:)
Всем доброго дня! Столкнулся со следующим: Есть 2 табличные части в документе (Товары, Работы), печатная форму вида:
Наименование Работы|Сумма|Наименование товара|Кол-во|Сумма| (макет пф на скрине)
В документе в табличных частях всегда разное кол-во строк (например 2 работы, 5 товаров)
Можно ли получить данные из 2-х таб. частей и вывести их в такой макет?
---
конечно можно. Я для таких обычно делаю сначала дерево значений со всеми данными
Это не очень рационально с т.з. ресурсов, но очень удобно и сильно упрощает и вывод и редактирование отчета при изменениях в желаниях заказчика.
Схематично:

```1c
    Дерево.Колонки.Добавить("Документ");
    Дерево.Колонки.Добавить("Работа");
    Дерево.Колонки.Добавить("ЗЧ");

    Для Каждого Стр Из ТЧ1 Цикл
    СтрокаДокумента.Строки.Добавить().Работа = Стр.Работа;
    КонецЦикла;

    Сч = 0;
    Для Каждого Стр Из ТЧ2 Цикл
    Cч = Сч + 1;
    // если строк не хватает, делаем новую, а иначе пишем в существующую
    Если Сч > Строкадокумента.Строки.Количество() Тогда
    СтрокаДокумента.Строки.Добавить().Работа = Стр.ЗЧ;
    Иначе
    СтрокаДокумента.Строки[Cч].ЗЧ = Стр.ЗЧ;
    КонецЕсли;
    КонецЦикла;
```
---
Можно использовать например такой код:

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

```1c
    Дерево.Колонки.Добавить("Документ");
    Дерево.Колонки.Добавить("Работа");
    Дерево.Колонки.Добавить("ЗЧ");

    Для Каждого Стр Из ТЧ1 Цикл
    СтрокаДокумента.Строки.Добавить().Работа = Стр.Работа;
    КонецЦикла;

    Сч = 0;
    Для Каждого Стр Из ТЧ2 Цикл
    Cч = Сч + 1;
    // если строк не хватает, делаем новую, а иначе пишем в существующую
    Если Сч > Строкадокумента.Строки.Количество() Тогда
    СтрокаДокумента.Строки.Добавить().Работа = Стр.ЗЧ;
    Иначе
    СтрокаДокумента.Строки[Cч].ЗЧ = Стр.ЗЧ;
    КонецЕсли;
    КонецЦикла;
```
---
Чтобы результат выводился так-?
---
Можно использовать например такой код:

```1c
    Для лНомерСтроки=1 по Макс(ТЗ1.Количество(), ТЗ2.Количество()) Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    Если ТЗ1.Количество()>=лНомерСтроки Тогда
    ОбластьСтрока.Параметры.Заполнить(ТЗ1.Получить(лНомерСтроки-1));
    КонецЕсли;
    Если ТЗ2.Количество()>=лНомерСтроки Тогда
    ОбластьСтрока.Параметры.Заполнить(ТЗ2.Получить(лНомерСтроки-1));
    КонецЕсли;
    ТД.Вывести(ОбластьСтрока);
    КонецЦикла;
```
---
Спасибо! Воспользовался алгоритмом (4) !