Средствами 1С, через табличный документ формируется файл эксель.
Проблема в том, что при обработке данного файла у клиента (не 1С) у значений ИНН обрезается лидирующий ноль.
Т.е. вместо 071111111111, значение читается как 71111111111.

Добавление апострофа не помогает, значение читается как '071111111111, т.е. вместе с апострофом.
В макете значение текста ориентировано - прижать влево, данное решение было найдено здесь, но не помогло.

Есть мысли, как победить эту проблему?
---
Задайте имя ячейке, заполняйте значение в ячейке по имени.
Примерно так:

```1c
    лОбластьМакета = лМакетСоответствия.ПолучитьОбласть("СтрокаДанных");
    ОбластьСтр = лОбластьМакета.Область("ОбластьСтроковогоЗначения");
    Если ОбластьСтр .СодержитЗначение Тогда
    ОбластьСтр .Значение = "012131";
    Иначе
    ОбластьСтр.Текст = "0123";
    КонецЕсли;
```

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

код используется такой (вырезка)

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

    лРасширениеФайла = ".xlsx";
    лТипФайла = ТипФайлаТабличногоДокумента.XLSX;

    лМакетСоответствия.Записать(пДокумент + лРасширениеФайла, лТипФайла);
```

знаю только как с использованием приложения excel изменить формат ячейки
а как это сделать нативно через 1С - не смог найти

причем, что самое смешное
на релизе 8.3.14 добавление апострофа решает проблему и ячейка приобретает текстовый формат, а на 8.3.21 уже не работает
откатиться не вариант
---
Попробуй у ячейки установить флаг СодержитЗначение и тип Строка.
---
добавление пробела не помогает
добавление неразрывного пробела помогает, но частично - только для строк длиной 10 символов, выше опять не помогает
---
строка макета представляет собой параметры
установка флага СодержитЗначение отменяет заполнение ячейки по параметру
соответственно не подходит
---
Задайте имя ячейке, заполняйте значение в ячейке по имени.
Примерно так:

```1c
    лОбластьМакета = лМакетСоответствия.ПолучитьОбласть("СтрокаДанных");
    ОбластьСтр = лОбластьМакета.Область("ОбластьСтроковогоЗначения");
    Если ОбластьСтр .СодержитЗначение Тогда
    ОбластьСтр .Значение = "012131";
    Иначе
    ОбластьСтр.Текст = "0123";
    КонецЕсли;
```

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

как-то так

```1c
    Если лИмяПараметра = "INN" Тогда
    лОбластьДанныхИНН = пМакетСоответствия.ПолучитьОбласть("СтрокаДанных|ПрисоединяемыеДанныеИНН");
    Если лОбластьДанныхИНН.ТекущаяОбласть.СодержитЗначение Тогда
    лОбластьДанныхИНН.ТекущаяОбласть.Параметр = лЗначениеРеквизита;
    КонецЕсли;
    КонецЕсли;
```

после чего область присоединяется к выводимой строке
---
вполне естественно, что эксель данные преобразует в число и удаляет лидирующие нули по умолчанию.
чтобы этого не было - надо задать тип значения строка.
как это сделать через 1с? - используйте Com объект. создавайте книгу и задавайте формат ячеек.
---
понятно, что через СОМ все решается
но хотелось бы обойтись без установки эксель или прочих драйверов на сервере 1С
ранее проблема решалась путем добавления апострофа, но это было на 8.3.14 и сейчас не помогает
видимо что-то 1С-ники опять *исправили в платформе
---
добавить пробел в конце или символ неразрывного пробела тоже в конце
---
формат ячеек
---
Выровнять влево, как строки попробуй еще
---
не помогает