Тестировал на двух разных базах при чем довольно сильно переработанных.
Отличительной особенностью здесь является реакция на счет-фактуры где не указана страна - ошибка не выдается а берется по-умолчанию Россия, так же идет проверка ИП это или нет по анализу того что вписано в реквизиты Главбуха - если там цифры - значит это свидетельство и выводим как ИП берем от туда свидетельство.
сам бланк был подредактирован в плане того, что когда фио предпринимателя длинные они не помещаются на строке - было отменено объединение ячеек - чтоб помещалось (это может не треоваться). свиду - все как в оригинале.
ниже вывод комманды diff в сравнении с текстом оригинала 1С - думаю тут все должно быть понятно:
80,87c80
<
< Если Докум.ДатаДок >= глДатаПостановления451 Тогда
< Рекв.ДобавитьЗначение(Шаблон("Продавец [Докум.Фирма.ЮрЛицо.ПолнНаименование]"), "Поставщик");
<
< Иначе
< Рекв.ДобавитьЗначение(Шаблон("Продавец [Докум.Фирма.ЮрЛицо.ПолнНаименование]"), "Поставщик");
<
< КонецЕсли;
---
> Рекв.ДобавитьЗначение(Шаблон("Продавец [Докум.Фирма.ЮрЛицо.ПолнНаименование]"), "Поставщик");
109,112c102,108
<
< // Индивидуальный предприниматель
< Если Докум.Фирма.ЮрЛицо.ИндивидуальныйПредприниматель = 1 Тогда
< Рекв.ДобавитьЗначение("", "РуководительРасшифровка");
---
>
> ИП=0; //Если в главбухе нет цифр - значит это не перекривленная под ИП старая база
> Для iИП=0 По 9 Цикл
> ИП=ИП+Найти(Докум.Фирма.ЮрЛицо.ГлБухгалтер.Получить(Докум.ДатаДок),Формат(iИП,"N"));
> КонецЦикла;
> Если (ИП > 0) Тогда
> Рекв.ДобавитьЗначение("", "РуководительРасшифровка");
114,115c110,111
< Рекв.ДобавитьЗначение(Шаблон("№ [Докум.Фирма.ЮрЛицо.СвидетельствоСерияНомер] от [Докум.Фирма.ЮрЛицо.СвидетельствоДатаВыдачи] г."), "ПредпринимательРеквизитыСвидетельства");
< Рекв.ДобавитьЗначение(Шаблон("/[Докум.Фирма.ЮрЛицо.Руководитель.Получить(Докум.ДатаДок)]/"),"ПредпринимательРасшифровка");
---
> Рекв.ДобавитьЗначение(Шаблон("/[Докум.Фирма.ЮрЛицо.Руководитель.Получить(Докум.ДатаДок)]/"),"ПредпринимательРасшифровка");
> Рекв.ДобавитьЗначение(Шаблон("/[Докум.Фирма.ЮрЛицо.ГлБухгалтер.Получить(Докум.ДатаДок)]/"), "ПредпринимательРеквизитыСвидетельства");
335,343c331,339
< Если глЕстьРеквизитШапки("КодОперации", ВидОсн) = 1 Тогда
< БратьСуммыИзУчета = глБратьСуммыИзУчета(Докум.ДатаДок, Докум.ДокОснование.КодОперации);
< Иначе
< БратьСуммыИзУчета = глБратьСуммыИзУчета(Докум.ДатаДок);
< КонецЕсли;
<
< Если БратьСуммыИзУчета = 1 Тогда
< СкорректироватьТаблицуОснования(Докум, ТаблицаОснования, ВидОсн);
< КонецЕсли;
---
> // Если глЕстьРеквизитШапки("КодОперации", ВидОсн) = 1 Тогда
> // БратьСуммыИзУчета = глБратьСуммыИзУчета(Докум.ДатаДок, Докум.ДокОснование.КодОперации);
> // Иначе
> // БратьСуммыИзУчета = глБратьСуммыИзУчета(Докум.ДатаДок);
> // КонецЕсли;
>
> // Если БратьСуммыИзУчета = 1 Тогда
> // СкорректироватьТаблицуОснования(Докум, ТаблицаОснования, ВидОсн);
> // КонецЕсли;
486c482,492
<
---
>
>
> //Добавим реакцию на отсутсвие страны - если нет - Россия (643)
> Попытка
> СтранаН = РаспредГТД.Страна;
> СтранаК = РаспредГТД.Страна.Код;
> Исключение
> СтранаН = "Россия";
> СтранаК = "643";
> КонецПопытки;
>
497a504,508
>
> Если (МнЧ.СтранаН = "") И (МнЧ.СтранаК = "") Тогда
> МнЧ.СтранаН = СтранаН;
> МнЧ.СтранаК = СтранаК;
> КонецЕсли;
503,504c514,515
< МнЧ.СтранаН = РаспредГТД.Страна;
< МнЧ.СтранаК = РаспредГТД.Страна.Код;
---
> МнЧ.СтранаН = СтранаН;
> МнЧ.СтранаК = СтранаК;
524,525c535,536
< МнЧ.СтранаН = РаспредГТД.Страна;
< МнЧ.СтранаК = РаспредГТД.Страна.Код;
---
> МнЧ.СтранаН = СтранаН;
> МнЧ.СтранаК = СтранаК;
Кстати, порадую людей знакомых с Linux вышеуказанным текстом можно пропатчить оригинальный 1совый текст и получить подправленный.