Ранее со старым вариантом счета фактуры все было отлично и замечательно. Сменилась форма и перестали отображатся поля в ед. измирения Код и Условное обозначение а так же Количество и цена за единицу. Может кто знает что в старом варианте было такого чего нет в новом? Вот код создания акта и счета фактуры.
процедура СоздатьДокументы(сп, счет, усл, СтавкаНДС, сумма, номерСчетаНДС, ДатаДокВходящий, НомерДокВходящий)
грОтп = создатьОбъект("Справочник.Контрагенты");
грОтп.найтиПоКоду(кодГрузоотправителя);
счФ = создатьОбъект("Документ.СчетФактура");
акт = создатьОбъект("Документ.ОказаниеУслуг");
акт.Новый();
акт.Контрагент = сп.Контрагент;
акт.Договор = сп.Договор;
акт.ДатаДок = сп.ДатаДок;
акт.НоваяСтрока();
акт.Услуга = усл.ТекущийЭлемент();
акт.УслугаСтр = "Услуги связи с " + строка(сп.ДатаНачалаПериода) + " по " + строка(сп.ДатаДок) + " по договору " + сокрЛП(акт.Договор.Наименование);
акт.Количество = 1;
акт.Цена = Окр(сумма * 100 / (100 + СтавкаНДС.Ставка), 2);
акт.Сумма = акт.Цена;
акт.НДС = Окр(сумма * СтавкаНДС.Ставка / (100 + СтавкаНДС.Ставка), 2);
акт.Всего = акт.Сумма + акт.НДС;
// акт.ВариантРасчетаНалогов = Константа.ПолучитьАтрибут("ОсновнойВариантРасчетаНалогов");
// акт.УчитыватьНП = 0;
// акт.ТипУслуги = 1;
акт.ВерсияОбъекта = "7.70.465";
если (ДатаГод(акт.датаДок) <> ДатаГод(ТекущаяДата())) тогда
акт.УстановитьНовыйНомер("");
конецЕсли;
акт.Записать();
акт.Провести();
сп.Акт = акт.ТекущийДокумент();
счФ.Новый();
счф.ДокументОснование = акт.ТекущийДокумент();
счФ.Контрагент = акт.Контрагент;
счф.Грузополучатель = счФ.Контрагент;
счФ.Договор = акт.Договор;
счФ.ДатаДок = акт.ДатаДок;
счФ.НоваяСтрока();
счф.НазначитьТип("Товар", "Строка");
счф.Товар = "Усл. связи";
счф.УслугаСтр = акт.УслугаСтр;
счф.Цена = акт.Цена;
счф.Сумма = акт.Сумма;
счф.СтавкаНДС = СтавкаНДС;
счф.НДС = акт.НДС;
счф.СчетНДС = номерСчетаНДС;
счф.НазначитьТип("Субконто2", "Справочник.СтавкиНДС");
счф.Субконто2 = СтавкаНДС;
счф.Всего = акт.Всего;
счф.Счет = счет.ТекущийСчет();
счф.НомерПлатРасчДок = НомерДокВходящий;
счф.ДатаПлатРасчДок = ДатаДокВходящий;
счф.ДатаОплаты = строка(ДатаДокВходящий);
счф.Грузоотправитель = грОтп.текущийЭлемент();
если (ДатаГод(счф.датаДок) <> ДатаГод(ТекущаяДата())) тогда
счф.УстановитьНовыйНомер("");
конецЕсли;
счф.Записать();
счф.Провести();
сп.СчетФактура = счф.ТекущийДокумент();
сп.Записать();
конецПроцедуры
процедура СоздатьДокументы(сп, счет, усл, СтавкаНДС, сумма, номерСчетаНДС, ДатаДокВходящий, НомерДокВходящий)
грОтп = создатьОбъект("Справочник.Контрагенты");
грОтп.найтиПоКоду(кодГрузоотправителя);
счФ = создатьОбъект("Документ.СчетФактура");
акт = создатьОбъект("Документ.ОказаниеУслуг");
акт.Новый();
акт.Контрагент = сп.Контрагент;
акт.Договор = сп.Договор;
акт.ДатаДок = сп.ДатаДок;
акт.НоваяСтрока();
акт.Услуга = усл.ТекущийЭлемент();
акт.УслугаСтр = "Услуги связи с " + строка(сп.ДатаНачалаПериода) + " по " + строка(сп.ДатаДок) + " по договору " + сокрЛП(акт.Договор.Наименование);
акт.Количество = 1;
акт.Цена = Окр(сумма * 100 / (100 + СтавкаНДС.Ставка), 2);
акт.Сумма = акт.Цена;
акт.НДС = Окр(сумма * СтавкаНДС.Ставка / (100 + СтавкаНДС.Ставка), 2);
акт.Всего = акт.Сумма + акт.НДС;
// акт.ВариантРасчетаНалогов = Константа.ПолучитьАтрибут("ОсновнойВариантРасчетаНалогов");
// акт.УчитыватьНП = 0;
// акт.ТипУслуги = 1;
акт.ВерсияОбъекта = "7.70.465";
если (ДатаГод(акт.датаДок) <> ДатаГод(ТекущаяДата())) тогда
акт.УстановитьНовыйНомер("");
конецЕсли;
акт.Записать();
акт.Провести();
сп.Акт = акт.ТекущийДокумент();
счФ.Новый();
счф.ДокументОснование = акт.ТекущийДокумент();
счФ.Контрагент = акт.Контрагент;
счф.Грузополучатель = счФ.Контрагент;
счФ.Договор = акт.Договор;
счФ.ДатаДок = акт.ДатаДок;
счФ.НоваяСтрока();
счф.НазначитьТип("Товар", "Строка");
счф.Товар = "Усл. связи";
счф.УслугаСтр = акт.УслугаСтр;
счф.Цена = акт.Цена;
счф.Сумма = акт.Сумма;
счф.СтавкаНДС = СтавкаНДС;
счф.НДС = акт.НДС;
счф.СчетНДС = номерСчетаНДС;
счф.НазначитьТип("Субконто2", "Справочник.СтавкиНДС");
счф.Субконто2 = СтавкаНДС;
счф.Всего = акт.Всего;
счф.Счет = счет.ТекущийСчет();
счф.НомерПлатРасчДок = НомерДокВходящий;
счф.ДатаПлатРасчДок = ДатаДокВходящий;
счф.ДатаОплаты = строка(ДатаДокВходящий);
счф.Грузоотправитель = грОтп.текущийЭлемент();
если (ДатаГод(счф.датаДок) <> ДатаГод(ТекущаяДата())) тогда
счф.УстановитьНовыйНомер("");
конецЕсли;
счф.Записать();
счф.Провести();
сп.СчетФактура = счф.ТекущийДокумент();
сп.Записать();
конецПроцедуры
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) GerCerber, Есть универсальный отчет - печать документов. Выводит на печать список документов со всеми реквизитами шапки и табличной части. Выведите список и сравните те документы что вы создаёте "ручками" и те что создаёте обработкой. Сразу будет видно чего не хватает.
Трудно ответить на ваш вопрос, не зная о какой конфигурации идет речь.
Основное отличие в табличной части новой печатной формы - это необходимость обозначения единиц измерения согласно классификатора. Теперь в поле где раньше указывалось только наименование единицы измерения должен выводится и код по классификатору. Исходя из участка программного кода представленного вами, единица измерения у вас не присваиваться вовсе. Значит не может идти речь и о классификаторе. А вот количество мест, очевидно оно в новой форме рассчитывается исходя из коэффициентов единицы измерения, которой у вас нет. Соответственно и речь о корректном отображении количества тоже не идет.
И все же уточните пожалуйста о какой конфигурации идет речь.
Основное отличие в табличной части новой печатной формы - это необходимость обозначения единиц измерения согласно классификатора. Теперь в поле где раньше указывалось только наименование единицы измерения должен выводится и код по классификатору. Исходя из участка программного кода представленного вами, единица измерения у вас не присваиваться вовсе. Значит не может идти речь и о классификаторе. А вот количество мест, очевидно оно в новой форме рассчитывается исходя из коэффициентов единицы измерения, которой у вас нет. Соответственно и речь о корректном отображении количества тоже не идет.
И все же уточните пожалуйста о какой конфигурации идет речь.
(7) Только не надо ничего добавлять :) Бухгалтерия действительно не использует единицу измерения в табличной части документа, а берет ее из карточки товара. Именно поэтому я и спрашивал вас о какой конфигурации идет речь. Учет в бухгалтерии ведется исключительно в базовых единицах измерения. Вопрос следующий, заполнены ли у вас базовые единицы измерения в справочнике товаров и где вы брали новую печатную форму для счета фактуры, предназначена ли эта форма для вашей конфигурации ? Если не сложно, уточните пожалуйста релиз конфигурации, которую вы используете.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот