Колеги, вітаю.
Конфігурація: Бухгалтерія для України, редакція 1.2. (1.2.43.1)
Намагаюсь програмно створити документ "Надходження товарів і послуг".
Заповнюю всі необхідні реквізити, проводжу документ.
Заходжу в документ через графічний інтерфейс користувача.
В табличній частині "Товари" не бачу ряд реквізитів, які я програмно заповнював. Відповідно немає необхідних проводок.
А саме, немає суми ПДВ і проводки по ПДВ.
Хоча при створенні даного документа через графічний інтерфейс користувача всі поля присутні, їх можна заповнити і при проведенні документа проводка по ПДВ формується.
Прошу Вашої допомоги.
При программном создании документа используйте те же процедуры которые выполняются при интерактивном создании (напр.: ЗаполнениеДокументов.ЗаполнитьОбязательныеРеквизитыШапкиНовогоДокумента и т.д.), т.е. всё что описано в форме ПриОткрытии и условии ЭтоНовый()
Додав. Не допомогло.
Але звернув увагу, що в проводці з ПДВ Зміст - Оприходование ТМЦ
А в мене - Зачет аванса поставщику
Когда программно добавляете номенклатуру в ТЧ так же выполняйте то что происходит интерактивно, в ТоварыНоменклатураПриИзменени, ТоварыКоличествоПриИзменении и т.п.
SPBatyus @ Сегодня, 16:32
,
Щоб знайти помилку у коді, потрібно бачити код.
Код скорочено, але смисл має бути зрозумілим:
Для Каждого СтрТЗСпискаПриходныхНакладных из ТЗСписокПриходныхНакладных Цикл
НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
НовыйДокумент.Дата = СтрТЗСпискаПриходныхНакладных.Дата;
НовыйДокумент.Организация = выбОрганизация;
НовыйДокумент.Контрагент = КонтрагентОбъектСсылка.Ссылка;
НовыйДокумент.Склад = СкладОбъектСсылка.ПолучитьОбъект().Ссылка;
НовыйДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
НовыйДокумент.ВалютаДокумента = Справочники.Валюты.НайтиПоНаименованию("грн");
НовыйДокумент.УчитыватьНДС = Истина;
НовыйДокумент.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НайтиПоКоду("6442");
НовыйДокумент.СчетУчетаНДСПодтвержденный = ПланыСчетов.Хозрасчетный.НайтиПоКоду("6441");
НовыйДокумент.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.НайтиПоКоду("3711");
НовыйДокумент.НомерВходящегоДокумента = СтрТЗСпискаПриходныхНакладных.НомерВход;
НовыйДокумент.ДатаВходящегоДокумента = СтрТЗСпискаПриходныхНакладных.ДатаВход;
НовыйДокумент.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("631");
НовыйДокумент.ДоговорКонтрагента = ДоговорОбъектСсылка;
НоваяСтрокаТЧТОвары = НовыйДокумент.Товары.Добавить();
НоваяСтрокаТЧТОвары.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00000000083");
НоваяСтрокаТЧТОвары.Количество = 1;
НоваяСтрокаТЧТОвары.Коэффициент = 1;
НоваяСтрокаТЧТОвары.Цена = СтрТЗСпискаПриходныхНакладных.СуммаБезНДС;
НоваяСтрокаТЧТОвары.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
НоваяСтрокаТЧТОвары.Сумма = СтрТЗСпискаПриходныхНакладных.СуммаБезНДС;
НоваяСтрокаТЧТОвары.СуммаНДС = СтрТЗСпискаПриходныхНакладных.СуммаНДС;
НоваяСтрокаТЧТОвары.СтавкаНДС = Перечисления.СтавкиНДС.НДС7;
НоваяСтрокаТЧТОвары.СчетУчетаБУ = ПланыСчетов.Хозрасчетный.НайтиПоКоду("2821");
НоваяСтрокаТЧТОвары.НалоговоеНазначение = Справочники.НалоговыеНазначенияАктивовИЗатрат.НДС_Облагаемая;
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
ТЗСписокПриходныхНакладных.Очистить();
КонецЦикла;
SPBatyus @ Сегодня, 9:45
,
Щоб зрозуміти що не так, порівняйте дані документу (використовуючи консоль запиту) щойно створеного та ще не відкритого із самим собою після відкриття та перепроведення.
Ну а так за кодом не побачив присвоєння "КратностьВзаиморасчетов", "КурсВзаиморасчетов"...
Petre @ Сегодня, 10:21
,
Дякую.
Добавив:
НовыйДокумент.КурсВзаиморасчетов = 1;
НовыйДокумент.КратностьВзаиморасчетов = 1;
і питання вирішилося.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua