Здравствуйте.
Предварительно информация о конфигурации:
1C:V7 starter program (multi-user) 7.70.0.27 (сетевая)
Бухгалтерия 7.7 ПРОФ для Украины ред.2.5 7.70.286
Конфигуратор - Документы - ПриходнаяНакладная - Форма -
кнопка на форме (самодельная) "ПечатьНН" привязана к ТаблицаНН этой формы (от 08.10.98 №
469)
В модуле ПН - это Процедура ПечатьНН () имеет код:
Процедура ПечатьНН()
Перем ПечЦенаБезНДС, ПечСуммаБезСкидки, ПечСуммаБезТранс, ПечСуммаТранс,
ПечВозвТара,
ПечСуммаНадбавки, ПечСуммаСкидки, ПечИтогСуммаБезНДС, ПечИтогНДС,
ПечИтогСуммаСНДС, ПечВсего, НФ;
СуммаВозвратнойТары = 0;
НомерДокумента = глНомерБезПрефикса(НомерДок);
ФирмаНалогНомер = Контрагент.ИНН;
ФирмаНомСвид = Фирма.НомерСвидетельства;
КонтрагентНалогНомер = ?(ПустоеЗначение(Фирма.ИНН)=1, "XXXXXXXXXXXX",
Фирма.ИНН);
КонтрагентНомСвид = ?(ПустоеЗначение(Контрагент.НомерСвидетельства)=1,
"XXXXXXXXXXXX", Контрагент.НомерСвидетельства);
Приложение1 = "";
Таб = СоздатьОбъект( "Таблица" );
Если Валюта = Гривня Тогда
//Если Сокрлп(ВидНДС.Код) = "БезНДС" Тогда
// ИмяФайлаПечатнойФормы =
КаталогИБ()+"ExtForms\PrnForms\NNBez.mxl";
// Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
// Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
// Иначе
// Таб.ИсходнаяТаблица("БезНДС");
// КонецЕсли;
//ИначеЕсли Сокрлп(ВидНДС.Код) = "НДС0" Тогда
// ИмяФайлаПечатнойФормы =
КаталогИБ()+"ExtForms\PrnForms\NN0.mxl";
// Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
// Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
// Иначе
// Таб.ИсходнаяТаблица("НДС0");
// КонецЕсли;
//Иначе
//Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
// Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
//Иначе
Таб.ИсходнаяТаблица("ТаблицаНН");
//КонецЕсли;
//КонецЕсли;
//Иначе
// // экспорт
// ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\NNExp.mxl";
// Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
// Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
// Иначе
// Таб.ИсходнаяТаблица("НДСЭкспорт");
// КонецЕсли;
КонецЕсли;
ТаблТМЦ = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТаблТМЦ);
Если Константа.СворачиватьПоПартиямПриПечати = Да Тогда
//Если Итоговая=1 Тогда
//
ТаблТМЦ.Свернуть("ТМЦ,ЦенаБезНДС,Ед,Коэффициент,ОперДата","Кво,СуммаБезСкидки,Сум
маБезНДС,НДС,СуммаСНДС");
//Иначе
ТаблТМЦ.Свернуть("ТМЦ,ЦенаБезНДС,Ед,Коэффициент","Кво,СуммаБезНДС,НДС,СуммаСНДС
");
//КонецЕсли;
КонецЕсли;
СуммаНадбавки = 0; //?(Итог("Скидка") < 0, -Итог("Скидка"), 0);
СуммаСкидки = 0; //?(Итог("Скидка") >= 0, Итог("Скидка"), 0);
Для Страница = 1 По 1 Цикл
Таб.ВывестиСекцию( "Пробел" );
Если Страница = 1 Тогда
Таб.ВывестиСекцию( "Оригинал" );
ИначеЕсли Страница = 2 Тогда
Таб.ВывестиСекцию( "ПерваяКопия" );
Иначе
Таб.ВывестиСекцию( "ВтораяКопия" );
КонецЕсли;
Таб.ВывестиСекцию( "Шапка" );
ПерваяСтрока = 1;
//Таб.ВывестиСекцию( "РазделI1" );
ТрансСуммаБезНДС = 0;
ТрансСуммаСНДС = 0;
ТрансНДС = 0;
ИтогПоЛьготам = "";
ТаблТМЦ.ВыбратьСтроки();
Пока ТаблТМЦ.ПолучитьСтроку() > 0 Цикл
//Если (Сокрлп(ВидНДС.Код) = "БезНДС") Тогда
// СтатьяЛьготы = ПолучитьЛьготу(ТаблТМЦ.ТМЦ);
//
// Если ИтогПоЛьготам = "" Тогда
// ИтогПоЛьготам = СтатьяЛьготы;
// ИначеЕсли Найти(ИтогПоЛьготам, СтатьяЛьготы) = 0
Тогда
// ИтогПоЛьготам = СокрЛП(ИтогПоЛьготам) + ", "
+ СтатьяЛьготы;
// КонецЕсли;
//КонецЕсли;
//Если Итоговая=1 Тогда
// Дата2 = ?(ПустоеЗначение(ТаблТМЦ.ОперДата)=0,
ТаблТМЦ.ОперДата, ДатаДок);
//Иначе
Дата2 = ДатаДок;
//КонецЕсли;
Если ТаблТМЦ.ТМЦ.Вид() = "ТМЦ" Тогда
Если ТаблТМЦ.ТМЦ.Транспорт = 0 Тогда
ЕдИзм = ТаблТМЦ.Ед;
Если Валюта <> Гривня Тогда
ПечЦенаБезНДС =
Формат(глПересчет(ТаблТМЦ.ЦенаБезНДС*ТаблТМЦ.Коэффициент,Валюта,Гривня,Курс,ДатаДо
к),"Ч12.2");
ПечСуммаБезСкидки =
Формат(глПересчет(ТаблТМЦ.СуммаБезСкидки,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
Иначе
ТрансСуммаБезНДС = ТрансСуммаБезНДС +
ТаблТМЦ.СуммаБезНДС;
ТрансСуммаСНДС = ТрансСуммаСНДС +
ТаблТМЦ.СуммаСНДС;
ТрансНДС = ТрансНДС + ТаблТМЦ.НДС;
КонецЕсли;
Иначе
ЕдИзм = ТаблТМЦ.ТМЦ.БазЕдиница;
Если Валюта <> Гривня Тогда
ПечЦенаБезНДС =
Формат(глПересчет(ТаблТМЦ.ЦенаБезНДС*ТаблТМЦ.Коэффициент,Валюта,Гривня,Курс,ДатаДо
к),"Ч12.2");
ПечСуммаБезСкидки =
Формат(глПересчет(ТаблТМЦ.СуммаБезСкидки,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
КонецЕсли;
ПерваяСтрока = 0;
КонецЦикла;
Если Валюта <> Гривня Тогда
ПечСуммаБезТранс =
Формат(глПересчет(Итог("СуммаБезСкидки")-ТрансСуммаБезНДС,Валюта,Гривня,Курс,ДатаДок)
,"Ч12.2");
ПечСуммаТранс =
Формат(глПересчет(ТрансСуммаБезНДС,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечВозвТара =
Формат(глПересчет(0,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечСуммаНадбавки =
Формат(глПересчет(СуммаНадбавки,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечСуммаСкидки =
Формат(глПересчет(СуммаСкидки,Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечИтогСуммаБезНДС =
Формат(глПересчет(Итог("СуммаБезНДС"),Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечИтогНДС =
Формат(глПересчет(Итог("НДС"),Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечИтогСуммаСНДС =
Формат(глПересчет(Итог("СуммаСНДС"),Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
ПечВсего =
Формат(глПересчет(Итог("СуммаСНДС"),Валюта,Гривня,Курс,ДатаДок),"Ч12.2");
КонецЕсли;
Таб.ВывестиСекцию( "РазделIВсего" );
Таб.ВывестиСекцию( "ТовТранс" );
Таб.ВывестиСекцию( "ВозврТара" );
Таб.ВывестиСекцию( "Надбавка" );
Таб.ВывестиСекцию( "ВсегоПоI_II_IV" );
Таб.ВывестиСекцию( "НДС" );
Таб.ВывестиСекцию( "ОбщаяСумма" );
Таб.ВывестиСекцию( "Подвал" );
Если Страница <> 2 Тогда
Таб.НоваяСтраница();
КонецЕсли;
КонецЦикла;
Таб.Опции(0, 0, 0, 0);
Таб.ПараметрыСтраницы(1,,,,,,,,);
Таб.Защита(Константа.ФлагЗащитыТаблиц);
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать налоговой накладной","");
КонецПроцедуры
Все нормально работает. Но, вот, надо теперь в Приходной Накладной
изменить таблицу на НДС_2011. Сделал (скопировал таблицу из Документы НН
в Документы ПН. Код модуля ПН не менял. Начались проблемы. Это понятно.
Тогда взял код из НН (печать)
Процедура Печать2011()
Перем ПечЦенаБезНДС, ПечСуммаБезСкидки, ПечСуммаБезТранс, ПечВозвТара,
ПечИтогСуммаБезНДС, ПечИтогНДС,ПечВсего, Ст[4], Ск[4];
НомерДокумента = глНомерБезПрефикса(НомерДок);
НомерДокумента = Прав(" "+НомерДокумента,7);
ТипПричиныПеч = ""; ТипПричиныИнд = 0;
Если Оставляем = 1 Тогда
ТипПричиныИнд = спТипПричины.НайтиЗначение(СокрЛП(ТипПричины));
Если ТипПричиныИнд <> 0 Тогда
ТипПричиныПеч = Прав("0" + Строка(ТипПричиныИнд+1),2);
КонецЕсли;
КонецЕсли;
ФирмаПолнНаименование = Фирма.ПолнНаименованиеНал;
ФирмаАдрес = Фирма.Адрес;
Если Найти(Фирма.Телефоны,",") <> 0 Тогда
ФирмаТел = Лев(Фирма.Телефоны,Найти(Фирма.Телефоны,",")-1);
ИначеЕсли Найти(Фирма.Телефоны,";") <> 0 Тогда
ФирмаТел = Лев(Фирма.Телефоны,Найти(Фирма.Телефоны,";")-1);
Иначе
ФирмаТел = Фирма.Телефоны;
КонецЕсли;
ФирмаТел = СтрЗаменить(ФирмаТел,"-","");
ФирмаТел = СтрЗаменить(ФирмаТел," ","");
ФирмаТел = СтрЗаменить(ФирмаТел,")","");
ФирмаТел = СтрЗаменить(ФирмаТел,"(","");
ФирмаТелефоны = Прав(" " + СокрЛП(ФирмаТел),10);
ФирмаНалогНомер = Прав(" " + СокрЛП(Фирма.ИНН),12);
ФирмаНомСвид = Прав(" " + СокрЛП(Фирма.НомерСвидетельства),10);
КонтрагентПолнНаименование = Контрагент.ПолнНаименованиеНал;
Если Контрагент.ВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо
Тогда
КонтрагентАдрес = Контрагент.ФизАдрес;
Иначе
КонтрагентАдрес = Контрагент.Адрес;
КонецЕсли;
Если Найти(Контрагент.Телефоны,",") <> 0 Тогда
КонтрТел = Лев(Контрагент.Телефоны,Найти(Контрагент.Телефоны,",")-1);
ИначеЕсли Найти(Контрагент.Телефоны,";") <> 0 Тогда
КонтрТел = Лев(Контрагент.Телефоны,Найти(Контрагент.Телефоны,";")-1);
Иначе
КонтрТел = Контрагент.Телефоны;
КонецЕсли;
КонтрТел = СтрЗаменить(КонтрТел,"-","");
КонтрТел = СтрЗаменить(КонтрТел," ","");
КонтрТел = СтрЗаменить(КонтрТел,")","");
КонтрТел = СтрЗаменить(КонтрТел,"(","");
КонтрагентТелефоны = Прав(" " + СокрЛП(КонтрТел),10);
Если (ВидОперации =
Перечисление.ВидыОперацийНалоговойНакладной.РаботыОтНерезидента) или
(ТипПричиныИнд = 1) или (ТипПричиныИнд = 2) или (ТипПричиныИнд = 6)
или (ТипПричиныИнд = 3) Тогда
//тип причины: 02, 03, 07, 04
КонтрагентНалогНомер = " 0";
КонтрагентНомСвид = " 0";
Иначе
КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,
" 0", Прав(" " + СокрЛП(Контрагент.ИНН),12));
КонтрагентНомСвид = ?(ПустоеЗначение(Контрагент.НомерСвидетельства)=1,
" 0", Прав(" " + СокрЛП(Контрагент.НомерСвидетельства),10));
КонецЕсли;
Суффикс = "_2011";
ПустаяЯчейка = Константа.ПустаяЯчейкаНалДок + Симв(160);
ВидНомДогов = Константа.ВидНомДоговНН;
ТекстДополненияГр3 = "";
Таб = СоздатьОбъект( "Таблица" );
ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\NN"+Суффикс+".mxl";
Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
Иначе
Таб.ИсходнаяТаблица("НДС"+Суффикс);
КонецЕсли;
Если Сокрлп(ВидНДС.Код) = "БезНДС" Тогда
ТекущийСтолбец = 4
ИначеЕсли Сокрлп(ВидНДС.Код) = "НДС0" Тогда
Если ВидОперации =
Перечисление.ВидыОперацийНалоговойНакладной.Экспорт Тогда
ТекущийСтолбец = 3
Иначе
ТекущийСтолбец = 2
КонецЕсли;
Иначе
ТекущийСтолбец = 1;
Если ВидОперации =
Перечисление.ВидыОперацийНалоговойНакладной.Экспорт Тогда
НулевойСтолбец = 3
Иначе
НулевойСтолбец = 2
КонецЕсли;
КонецЕсли;
ДопКолонка = ?(ЕстьНулевыеСтавкиНДС = 1, "НулеваяСтавкаНДС,","");
ТаблТМЦ = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТаблТМЦ);
Если Константа.СворачиватьПоПартиямПриПечати = Да Тогда
Если Итоговая=1 Тогда
ТаблТМЦ.Свернуть(ДопКолонка +
"ТМЦ,ЦенаБезНДС,Ед,Коэффициент,ОперДата","Кво,СуммаБезСкидки,Скидка,СуммаБезНДС,Н
ДС,СуммаСНДС");
Иначе
ТаблТМЦ.Свернуть(ДопКолонка +
"ТМЦ,ЦенаБезНДС,Ед,Коэффициент","Кво,СуммаБезСкидки,Скидка,СуммаБезНДС,НДС,Сумма
СНДС");
КонецЕсли;
КонецЕсли;
Для Страница = 1 По 2 Цикл
Таб.ВывестиСекцию( "Пробел" );
Если Страница = 1 Тогда
Оригинал = ?(Оставляем = 1, "","Х");;
Копия = "";
ЕРПН = ?(ЕРНН = 1, "Х","");
ОстаетсяПеч = ?(Оставляем = 1, "Х","");
ИначеЕсли Страница = 2 Тогда
Копия = "Х";
Оригинал = "";
ТипПричиныПеч = "";
ЕРПН = "";
ОстаетсяПеч = "";
КонецЕсли;
Таб.ВывестиСекцию( "Оригинал" );
Таб.ВывестиСекцию( "Шапка" );
Если ВидНомДогов = 2 Тогда
Таб.ВывестиСекцию( "Договор2" );
Иначе
Таб.ВывестиСекцию( "Договор1" );
КонецЕсли;
Таб.ВывестиСекцию( "Шапка2" );
ПерваяСтрока = 1;
СуммаБезСкидки0 = 0;
ИтогПоЛьготам = "";
Для Н = 1 По 4 Цикл
Если Н = ТекущийСтолбец Тогда
Ст[Н] = 0;
Иначе
Ст[Н] = ПустаяЯчейка;
КонецЕсли;
КонецЦикла;
ТаблТМЦ.ВыбратьСтроки();
Пока ТаблТМЦ.ПолучитьСтроку() > 0 Цикл
Если (Сокрлп(ВидНДС.Код) = "БезНДС") Тогда
СтатьяЛьготы = ПолучитьЛьготу(ТаблТМЦ.ТМЦ);
Если ИтогПоЛьготам = "" Тогда
ИтогПоЛьготам = СтатьяЛьготы;
ИначеЕсли Найти(ИтогПоЛьготам, СтатьяЛьготы) = 0
Тогда
ИтогПоЛьготам = СокрЛП(ИтогПоЛьготам) + ", "
+ СтатьяЛьготы;
КонецЕсли;
КонецЕсли;
Если Итоговая=1 Тогда
Дата2 = ?(ПустоеЗначение(ТаблТМЦ.ОперДата)=0,
ТаблТМЦ.ОперДата, ДатаДок);
Иначе
Дата2 = ДатаДок;
КонецЕсли;
Если (ТаблТМЦ.Кво <> 0) и (ТаблТМЦ.Скидка <> 0) Тогда
//будем пересчитывать цену только при наличии скидки
ПечЦенаБезНДС =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС / (ТаблТМЦ.Кво));
Иначе
ПечЦенаБезНДС =
СуммаДляПечати(ТаблТМЦ.ЦенаБезНДС * ТаблТМЦ.Коэффициент);
КонецЕсли;
Если ТаблТМЦ.ТМЦ.Вид() = "ТМЦ" Тогда
ЕдИзм = ТаблТМЦ.Ед;
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Если ТаблТМЦ.НулеваяСтавкаНДС = Да Тогда
Ст[ТекущийСтолбец] = ПустаяЯчейка;
Ст[НулевойСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС);
СуммаБезСкидки0 = СуммаБезСкидки0
+ ТаблТМЦ.СуммаБезНДС;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС);
Ст[НулевойСтолбец] = ПустаяЯчейка;
КонецЕсли;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС)
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
Иначе
ЕдИзм = ТаблТМЦ.ТМЦ.БазЕдиница;
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Если ТаблТМЦ.НулеваяСтавкаНДС = Да Тогда
Ст[ТекущийСтолбец] = ПустаяЯчейка;
Ст[НулевойСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС);
СуммаБезСкидки0 = СуммаБезСкидки0
+ ТаблТМЦ.СуммаБезНДС;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС);
Ст[НулевойСтолбец] = ПустаяЯчейка;
КонецЕсли;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаБезНДС)
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
КонецЕсли;
ПерваяСтрока = 0;
КонецЦикла;
СуммаБезТранс = Итог("СуммаБезНДС");
ПечСуммаБезТранс = СуммаДляПечати(СуммаБезТранс);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = СуммаДляПечати(СуммаБезТранс -
СуммаБезСкидки0);
Ст[НулевойСтолбец] = СуммаДляПечати(СуммаБезСкидки0);
Иначе
Ст[ТекущийСтолбец] = ПечСуммаБезТранс;
КонецЕсли;
Таб.ВывестиСекцию( "РазделIВсего" );
ПечВозвТара = СуммаДляПечати(СуммаВозвратнойТары);
Таб.ВывестиСекцию( "ВозврТара" );
Для Н = 1 По 4 Цикл
Ст[Н] = "";
Ск[Н] = "";
КонецЦикла;
ИтогСуммаБезНДС = Итог("СуммаБезНДС");
ПечИтогСуммаБезНДС = СуммаДляПечати(ИтогСуммаБезНДС);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
ИтогСуммаБезНДС0 = СуммаБезСкидки0;
КонецЕсли;
ПечИтогНДС = СуммаДляПечати(Итог("НДС"));
Если Сокрлп(ВидНДС.Код) = "НДС0" Тогда
//по п.11 порядка заполнения НН
Ст[2] = "0";
Ст[3] = "0";
ИначеЕсли ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = ПечИтогНДС;
Ст[НулевойСтолбец] = "0";
ИначеЕсли Найти("2,3", ТекущийСтолбец) > 0 Тогда
Ст[ТекущийСтолбец] = "0";
ИначеЕсли ТекущийСтолбец = 4 Тогда
Ст[ТекущийСтолбец] = "Без ПДВ ";
Иначе
Ст[ТекущийСтолбец] = ПечИтогНДС;
КонецЕсли;
Таб.ВывестиСекцию( "НДС" );
//теперь очистим
Ст[2] = "";
Ст[3] = "";
ИтогСуммаСНДС = Итог("СуммаСНДС");
ПечВсего = СуммаДляПечати(ИтогСуммаСНДС + СуммаВозвратнойТары);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = СуммаДляПечати(ИтогСуммаСНДС -
ИтогСуммаБезНДС0);
Ст[НулевойСтолбец] = СуммаДляПечати(ИтогСуммаБезНДС0);
Иначе
Ст[ТекущийСтолбец] = СуммаДляПечати(ИтогСуммаСНДС);
КонецЕсли;
Таб.ВывестиСекцию( "ОбщаяСумма" );
Таб.ВывестиСекцию( "Подвал" );
Если Страница <> 2 Тогда
Таб.НоваяСтраница();
КонецЕсли;
КонецЦикла;
Если (ПродажаНижеОЦ=1) И (Сокрлп(ВидНДС.Код) = "НДС20") Тогда
Таб.НоваяСтраница();
ТаблТМЦ = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТаблТМЦ);
Если Константа.СворачиватьПоПартиямПриПечати = Да Тогда
Если Итоговая=1 Тогда
ТаблТМЦ.Свернуть(ДопКолонка +
"ТМЦ,ОбычнаяЦена,ЦенаБезНДС,Ед,Коэффициент,ОперДата","Кво,СуммаПревышения,НДСПре
вышения");
Иначе
ТаблТМЦ.Свернуть(ДопКолонка +
"ТМЦ,ОбычнаяЦена,ЦенаБезНДС,Ед,Коэффициент","Кво,СуммаПревышения,НДСПревышения"
);
КонецЕсли;
КонецЕсли;
ИтогПоЛьготам = "";
ТекстДополненияГр3 = " (перевищення звичайної ціни над фактичною за
товарами, послугами, указаними в податковій накладній №"+ Строка(НомерДокумента) +
?(СпецРежимНалогообложения=0,"","/"+ СпецРежимНалогообложения);
ТекстДополненияГр3 = ТекстДополненияГр3 + ?(ОЦВключаетПроценты=1,",
сума процентів нарахованих або таких, що мають бути нараховані на суму номіналу процентного
векселя)",")");
НомерДокумента = Строка(НомерДокумента);
Для Страница = 1 По 2 Цикл
Таб.ВывестиСекцию( "Пробел" );
Если Страница = 1 Тогда
Оригинал = "";
Копия = "";
ЕРПН = ?(ЕРНН = 1, "Х","");
ОстаетсяПеч = "Х";
ТипПричиныПеч = "01";
ИначеЕсли Страница = 2 Тогда
Копия = "Х";
Оригинал = "";
ТипПричиныПеч = "";
ЕРПН = "";
ОстаетсяПеч = "";
КонецЕсли;
Таб.ВывестиСекцию( "Оригинал" );
Таб.ВывестиСекцию( "Шапка" );
Если ВидНомДогов = 2 Тогда
Таб.ВывестиСекцию( "Договор2" );
Иначе
Таб.ВывестиСекцию( "Договор1" );
КонецЕсли;
Таб.ВывестиСекцию( "Шапка2" );
ПерваяСтрока = 1;
СуммаПревышения0 = 0;
Для Н = 1 По 4 Цикл
Если Н = ТекущийСтолбец Тогда
Ст[Н] = 0;
Иначе
Ст[Н] = ПустаяЯчейка;
КонецЕсли;
КонецЦикла;
ТаблТМЦ.ВыбратьСтроки();
Пока ТаблТМЦ.ПолучитьСтроку() > 0 Цикл
Если Итоговая=1 Тогда
Дата2 =
?(ПустоеЗначение(ТаблТМЦ.ОперДата)=0, ТаблТМЦ.ОперДата, ДатаДок);
Иначе
Дата2 = ДатаДок;
КонецЕсли;
Если ТаблТМЦ.СуммаПревышения > 0 Тогда
Если ТаблТМЦ.ТМЦ.Вид() = "ТМЦ" Тогда
ЕдИзм = ТаблТМЦ.Ед;
ПечЦенаБезНДС = "";
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Если
ТаблТМЦ.НулеваяСтавкаНДС = Да Тогда
Ст[ТекущийСтолбец] = ПустаяЯчейка;
Ст[НулевойСтолбец]
= СуммаДляПечати(ТаблТМЦ.СуммаПревышения);
СуммаПревышения0
= СуммаПревышения0 + ТаблТМЦ.СуммаПревышения;
Иначе
Ст[ТекущийСтолбец] = СуммаДляПечати(ТаблТМЦ.СуммаПревышения);
Ст[НулевойСтолбец]
= ПустаяЯчейка;
КонецЕсли;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаПревышения)
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
Иначе
ЕдИзм = ТаблТМЦ.ТМЦ.БазЕдиница;
ПечЦенаБезНДС = "";
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Если
ТаблТМЦ.НулеваяСтавкаНДС = Да Тогда
Ст[ТекущийСтолбец] = ПустаяЯчейка;
Ст[НулевойСтолбец]
= СуммаДляПечати(ТаблТМЦ.СуммаПревышения);
СуммаПревышения0
= СуммаПревышения0 + ТаблТМЦ.СуммаПревышения;
Иначе
Ст[ТекущийСтолбец] = СуммаДляПечати(ТаблТМЦ.СуммаПревышения);
Ст[НулевойСтолбец]
= ПустаяЯчейка;
КонецЕсли;
Иначе
Ст[ТекущийСтолбец] =
СуммаДляПечати(ТаблТМЦ.СуммаПревышения)
КонецЕсли;
Таб.ВывестиСекцию("РазделI2");
КонецЕсли;
ПерваяСтрока = 0;
КонецЕсли;
КонецЦикла;
СуммаБезТранс = Итог("СуммаПревышения");
ПечСуммаБезТранс = СуммаДляПечати(СуммаБезТранс);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = СуммаДляПечати(СуммаБезТранс -
СуммаПревышения0);
Ст[НулевойСтолбец] =
СуммаДляПечати(СуммаПревышения0);
Иначе
Ст[ТекущийСтолбец] = ПечСуммаБезТранс;
КонецЕсли;
Таб.ВывестиСекцию( "РазделIВсего" );
ПечВозвТара = 0;
Таб.ВывестиСекцию( "ВозврТара" );
Для Н = 1 По 4 Цикл
Ст[Н] = "";
Ск[Н] = "";
КонецЦикла;
ИтогСуммаБезНДС = Итог("СуммаПревышения");
ПечИтогСуммаБезНДС = СуммаДляПечати(ИтогСуммаБезНДС);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
ИтогСуммаБезНДС0 = СуммаПревышения0;
Иначе
КонецЕсли;
ИтогНДС = Итог("НДСПревышения");
ПечИтогНДС = СуммаДляПечати(ИтогНДС);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = ПечИтогНДС;
Ст[НулевойСтолбец] = "0";
Иначе
Ст[ТекущийСтолбец] = ПечИтогНДС;
КонецЕсли;
Таб.ВывестиСекцию( "НДС" );
ИтогСуммаСНДС = ИтогСуммаБезНДС + ИтогНДС;
ПечВсего = СуммаДляПечати(ИтогСуммаСНДС);
Если ЕстьНулевыеСтавкиНДС = 1 Тогда
Ст[ТекущийСтолбец] = СуммаДляПечати(ИтогСуммаСНДС
- ИтогСуммаБезНДС0);
Ст[НулевойСтолбец] =
СуммаДляПечати(ИтогСуммаБезНДС0);
Иначе
Ст[ТекущийСтолбец] = ПечВсего;
КонецЕсли;
Таб.ВывестиСекцию( "ОбщаяСумма" );
Таб.ВывестиСекцию( "Подвал" );
Если Страница <> 2 Тогда
Таб.НоваяСтраница();
КонецЕсли;
КонецЦикла;
КонецЕсли;
Таб.ПараметрыСтраницы(1,,,,,,,,);
Таб.Опции(0, 0, 0, 0, "НН");
Таб.Защита(Константа.ФлагЗащитыТаблиц);
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать налоговой накладной","");
КонецПроцедуры
и скопировал этот код вместо предыдущего. Ну и ничего не получилось.
В ошибках много необъявленных переменнных + необнаруженных агрегатных объектов.
Ну а смысл был таков:
Открываем Журнал - ПриходныеНакладные - открываем любую ПриходнуюНакладную,
затем вкладка Дополнительно и там жмем на кнопку ПечатьНН.
Печатается Налоговая Накладная (просто печатается и все, без Рееста НН и т.п., чисто просто
печать)
Не пулучилось у меня перевести на шаблон НН_2011.
Что сделал, что смог.
Сейчас более-менее делается это через не знаю что (в общем - не в 1С).
Перед печатью, после формирования НН на основе старого шаблона это сохраняется в файл
Exel - Печать.xls (например). Имеется шаблон Excel новой НН-2011 чистый.
Запускается скрипт (я писал), берет данные из старой НН *.xls и заносит в шаблон новой НН-2011
все данные соответственно ячеек.
Пожалусйта, помогите сделать это в 1С.