Вроде ничего сложного :
Док = Обработки.ФормированиеНалоговыхНакладных.СоздатьДокумент();
Док.Заполнить(РеализацияСсылка);
Док = Обработки.ФормированиеНалоговыхНакладных.СоздатьДокумент();
Док.Заполнить(РеализацияСсылка);
Извеняюсь, не то скопировал, потом часть вручную дописал
Док = Документы.НалоговаяНакладная.СоздатьДокумент();
Док.Заполнить(РеализацияСсылка);
Док.Заполнить(Реализация.Ссылка);
РеализацияСсылка = Реализация.Ссылка;
Док.Заполнить(РеализацияСсылка);
Док = Документы.НалоговаяНакладная.СоздатьДокумент();
Док.Заполнить(РеализацияСсылка)
А формы налоговых не открываются? когда выполняется код "Док.Заполнить(РеализацияСсылка)"?
А да, открываются. Похоже, прийдётся самому писать заполнение НН (наверное, через обработку формирования НН), т.к. в самой НН везде указано ОткрыватьДокументы = Истина, который передается в обработку формирования НН и определяет будет ли открыта форма созданного документа.
Да, я тоже смотрел по коду. Что ж, буду разбиратся в этой обработке. Если кто сталкивался и может подать еще идеи, буду признателен
Я вот думаю, а может в налоговую добавить какой реквизит, а в обработке заполнения попрописывать если этот реквизит ИСТИНА, тогда не открывать... Щас попробуем
Не, ну если вариант править конфу допустим - то тогда вариантов реализации может быть много
По моему проще после обновления повосстанавливать условия в конфе, чем полностю переписывать код заполнения во внешней обработке. И даже если то что я направлю затрется, ничего страшного уж не произойдет
Кстате, можно реализовать подписку на событие на "ОбработкаЗаполнения" в налоговой... Но подписка будет выполнятся после вызова процедуры "ОбработкаЗаполнения"? Тогда так не пойдет.
Или просто скопировать обработку заполнения как новую процедуру, сделать экспортной, подправить и дело в шляпе. И тогда так придется потом меньше восстанавливать после обновления...
А открываются налоговые потому что ошибка в коде (релиз УТП 1.2.5.2)
Вот Код:
// сюда мы попадаем только, если по всем договорам можно сформировать налоговые накладные
Если МожноФормироватьНалоговыеНакладные Тогда
ОбработкаФормированияНН.ОткрыватьДокументы = Истина;
// сформированные документы не будут записаны в базу
ОбработкаФормированияНН.мНеЗаписыватьДокументы = Истина;
ОбработкаФормированияНН.СформироватьНалоговыеДокументы();
Возврат;
КонецЕсли;
// сюда мы попадаем только, если по всем договорам можно сформировать налоговые накладные
Если МожноФормироватьНалоговыеНакладные Тогда
ОбработкаФормированияНН.ОткрыватьДокументы = НЕ мНеОткрыватьФормуДокумента;
// сформированные документы не будут записаны в базу
ОбработкаФормированияНН.мНеЗаписыватьДокументы = НЕ мНеОткрыватьФормуДокумента;
ОбработкаФормированияНН.СформироватьНалоговыеДокументы();
Возврат;
КонецЕсли;
Вот так получилось создать налоговую:
НовНакладная = Документы.НалоговаяНакладная.СоздатьДокумент();
НовНакладная.Заполнить(Док.Реализации);
// Найдем созданную налоговую
з = Новый Запрос;
з.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| НалоговаяНакладная.Ссылка
|ИЗ
| Документ.НалоговаяНакладная КАК НалоговаяНакладная
|ГДЕ
| НалоговаяНакладная.ДокументВводаНаОсновании = &ДокументВводаНаОсновании";
з.УстановитьПараметр("ДокументВводаНаОсновании",Док.Реализации);
Выборка = з.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
НалоговаяНакладная = Выборка.Ссылка; // Нашли :)
КонецЕсли;
НалоговаяОб.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный);
Т.е. надо было просто УТП обновить и всё пучком стало?
Не знаю, я в 1.2.6.1 не смотрел еще исправлено ли
Так правили конфу сейчас или нет?
Правил, на 1.2.6.1 пока не обновлял
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua