Программное создангие документа отгрузки
Коллеги, день добрый!
БП 3.0
Делаю импорт отгрузки из сторонней базы и программно создаю документ РеализацияТоваровУслуг (услуги)
Код примерно такой:
ДокументАкт = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
//Создадим документ отгрузки. Значени переменных задаются выше... они не важны
ДокументАкт.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокументАкт.Номер = ДокНом;
ДокументАкт.Дата= КонецДня(ДокДата);
ДокументАкт.Организация = НашаОрганизация;
ДокументАкт.БанковскийСчетОрганизации = БанковскийСчет;
ДокументАкт.Контрагент = Контрагент;
ДокументАкт.ДоговорКонтрагента = Договор;
ДокументАкт.СуммаВключаетНДС = Истина;
ДокументАкт.ЭтоУниверсальныйДокумент=УПД;
ДокументАкт.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
ДокументАкт.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02");
ДокументАкт.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
ДокументАкт.Комментарий = "Ипортировано из базы";
ДокументАкт.Ответственный = Ответственный;
// заполним табличную часть по услугам
СтрокаУслуги = ДокументАкт.Услуги.Добавить(); //добавляем услугу
СтрокаУслуги.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000002");
СтрокаУслуги.Содержание = "бла бла бла...";
СтрокаУслуги.Количество = 1;
СтрокаУслуги.Цена = 120;
СтрокаУслуги.Сумма= 120;
СтрокаУслуги.СчетДоходов=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
СтрокаУслуги.СчетРасходов=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1");
СтрокаУслуги.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Услуги транспортные");
СтрокаУслуги.СтавкаНДС=Перечисления.СтавкиНДС.НДС20;
СтрокаУслуги.СуммаНДС = 20;
СтрокаУслуги.СчетУчетаНДСПоРеализации=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03");
ДокументАкт.Записать(РежимЗаписиДокумента.Проведение);
Есть несколько вопросов:
1. Можно ли как-то по грамотному, скажем "автоматически", исходя из параметров учета установить счета учета в шапке документа и в табличной части? Сейчас проставляю прямо в коде нужные счета. Мне кажется - это не кошерно...
2. В БП 2.0 в общих модулях были процедуры позволявшие не заполнять полностью табличную часть документа. Например заполнить цену, сумму и ставку НДС. Потом запускалась процедура типа "ОбработатьТабличнуюЧасть" и НДС расчитывалось само. Как это сделать в БП 3.0 и есть ли аналог?
3. После проведения документа в проводках не отображается сумма проводки и отсутствуют проводки по НДС. Что-то подсказывает, что нужно перед записью заполнить какие-то еще атрибуты. Подскажите пожалуйста... какие? Или может запустить процедуру, по автоматическому заполнению оставшихся реквизитов, если такая имеется.
Спасибо!
БП 3.0
Делаю импорт отгрузки из сторонней базы и программно создаю документ РеализацияТоваровУслуг (услуги)
Код примерно такой:
ДокументАкт = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
//Создадим документ отгрузки. Значени переменных задаются выше... они не важны
ДокументАкт.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги;
ДокументАкт.Номер = ДокНом;
ДокументАкт.Дата= КонецДня(ДокДата);
ДокументАкт.Организация = НашаОрганизация;
ДокументАкт.БанковскийСчетОрганизации = БанковскийСчет;
ДокументАкт.Контрагент = Контрагент;
ДокументАкт.ДоговорКонтрагента = Договор;
ДокументАкт.СуммаВключаетНДС = Истина;
ДокументАкт.ЭтоУниверсальныйДокумент=УПД;
ДокументАкт.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
ДокументАкт.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02");
ДокументАкт.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
ДокументАкт.Комментарий = "Ипортировано из базы";
ДокументАкт.Ответственный = Ответственный;
// заполним табличную часть по услугам
СтрокаУслуги = ДокументАкт.Услуги.Добавить(); //добавляем услугу
СтрокаУслуги.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000002");
СтрокаУслуги.Содержание = "бла бла бла...";
СтрокаУслуги.Количество = 1;
СтрокаУслуги.Цена = 120;
СтрокаУслуги.Сумма= 120;
СтрокаУслуги.СчетДоходов=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
СтрокаУслуги.СчетРасходов=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1");
СтрокаУслуги.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Услуги транспортные");
СтрокаУслуги.СтавкаНДС=Перечисления.СтавкиНДС.НДС20;
СтрокаУслуги.СуммаНДС = 20;
СтрокаУслуги.СчетУчетаНДСПоРеализации=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03");
ДокументАкт.Записать(РежимЗаписиДокумента.Проведение);
Есть несколько вопросов:
1. Можно ли как-то по грамотному, скажем "автоматически", исходя из параметров учета установить счета учета в шапке документа и в табличной части? Сейчас проставляю прямо в коде нужные счета. Мне кажется - это не кошерно...
2. В БП 2.0 в общих модулях были процедуры позволявшие не заполнять полностью табличную часть документа. Например заполнить цену, сумму и ставку НДС. Потом запускалась процедура типа "ОбработатьТабличнуюЧасть" и НДС расчитывалось само. Как это сделать в БП 3.0 и есть ли аналог?
3. После проведения документа в проводках не отображается сумма проводки и отсутствуют проводки по НДС. Что-то подсказывает, что нужно перед записью заполнить какие-то еще атрибуты. Подскажите пожалуйста... какие? Или может запустить процедуру, по автоматическому заполнению оставшихся реквизитов, если такая имеется.
Спасибо!
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. Не подскажу, т.к. сам делал обмен через HTTP и тоже заполнял в коде.
2. НДС-ы получаю обычно отдельной функцией, из строк получаю значение перечисления и возвращаю в нужное место. Ну либо прямо в процедуре создания через "Если" либо "?(,,)" делаю.
3. А вот с этим я тоже помучился. Попробуй заполнить ВалютаДокумента, должно помочь.
1. Не подскажу, т.к. сам делал обмен через HTTP и тоже заполнял в коде.
2. НДС-ы получаю обычно отдельной функцией, из строк получаю значение перечисления и возвращаю в нужное место. Ну либо прямо в процедуре создания через "Если" либо "?(,,)" делаю.
3. А вот с этим я тоже помучился. Попробуй заполнить ВалютаДокумента, должно помочь.
для счетов табличной части
СтрокиДляЗаполненияСчетов = новый массив;
СтрокиДляЗаполненияСчетов.добавить(СтрокаТабличнойЧасти);
СчетаУчетаВДокументах.ЗаполнитьСтроки(
СтрокиДляЗаполненияСчетов, "Материалы", Объект, Документы.ОтчетПроизводстваЗаСмену);
СтрокиДляЗаполненияСчетов = новый массив;
СтрокиДляЗаполненияСчетов.добавить(СтрокаТабличнойЧасти);
СчетаУчетаВДокументах.ЗаполнитьСтроки(
СтрокиДляЗаполненияСчетов, "Материалы", Объект, Документы.ОтчетПроизводстваЗаСмену);
1) Автоматически заполнять счета можно, но устроит ли это. Так как надо настраивать порядок заполнения счетов. Как это делается, можно посмотреть в процедуре при изменение номенклатуры, придется правда покапаться. Для шапки, надо смотреть при изменение организации, контрагента.
3) Легко проверить, сверив документ с ручным заполнением. Некоторые реквизиты заполняются при изменение других и при этом не выведены на форму.
3) Легко проверить, сверив документ с ручным заполнением. Некоторые реквизиты заполняются при изменение других и при этом не выведены на форму.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот