Можно ли программно из правил конвертации заполнить счет фактуру после загруженного документа?

1. user973528 13.09.18 16:46 Сейчас в теме
Загружаю документ Реализация Товаров через правила обмена. Нужно чтобы при загрузке создавались счета фактуры на эти документы. Возможно ли вообще так сделать? И как можно реализовать?
Прикрепленные файлы:
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 13.09.18 16:49 Сейчас в теме
(1) так счета фактуры в источнике - то есть ? Если есть, то и проблем не должно быть, правило конвертации на саму счет фактуру, и она приедет.
+
3. user973528 13.09.18 16:51 Сейчас в теме
(2) Да есть, только не у всех.
+
4. user973528 13.09.18 16:51 Сейчас в теме
(2) Но почему то счета фактуры не сбрасываются вместе с реализациями, только реализации идут.
+
5. Boneman 298 13.09.18 16:56 Сейчас в теме
(4) ну так они регистрироваться должны к отправке.
Т.к. это не реализация на СФ ссылается, а наоборот в СФ - ссылка на реализацию.
+
7. user973528 13.09.18 16:57 Сейчас в теме
(5) Не подскажете как можно их завязать чтобы в реализации была ссылка на них?
+
9. Boneman 298 13.09.18 17:04 Сейчас в теме
(7) да никак,
документ основание у подчиненных документов делается, а не у документа источника.
Сам подумай, сначала ввели реализацию..записали, провели...в момент создания документа, еще нет никакой счет фактуры.
потом на основании, ввели счет фактуру...вот в ней как раз есть ссылка на имеющийся документ основание.

Поэтому регистрироваться к отправке, эти документы должны самостоятельно, независимо друг от друга.
Смотри правила регистрации, - это штатная хрень, они должны региться к отправке.


З.Ы. Не, ну можно конечно, перед загрузкой реализации, воткнуть запрос, выбрать подчиненную СФ, и вызвать на нее правила КД, но это не правильный вариант.
+
11. user973528 13.09.18 17:08 Сейчас в теме
(9) Счет фактуры я перегрузил, они подтянулись к реализациям, но только реализация не видит свою сф
+
6. bmk74 234 13.09.18 16:57 Сейчас в теме
А правила для них есть для СФ ?
Там можно много чего делать, я из регистров записей в свое время документы создавал...
+
8. user973528 13.09.18 17:00 Сейчас в теме
(6) Неа, для СФ пока ничего не писал. Не могу пока понять как их можно завязать вообще
+
10. Boneman 298 13.09.18 17:05 Сейчас в теме
(8) так пиши правила. Чтобы что-то завязывать, должен быть предмет завязывания.
+
12. user973528 13.09.18 17:10 Сейчас в теме
(10) То есть я как понял, без проводок прикрутить вообще никак?
+
13. user973528 13.09.18 17:11 Сейчас в теме
(10) Есть реквизит "Документ основание"
+
14. bmk74 234 13.09.18 17:17 Сейчас в теме
Все там можно СФ как раз и привязываться будет по документу основания, главное правило для них напишите, документОснование по ссылке должен выгружаться будет а то лишний раз объект выгружать смысла нет
+
15. user973528 13.09.18 17:21 Сейчас в теме
(14) Знать бы как ещё
+
16. user973528 13.09.18 17:29 Сейчас в теме
(14) Можно тогда как-нибудь сделать чтобы при выгрузке реализации, вписать код чтобы на основании этих реализаций создались новые?
+
17. bmk74 234 13.09.18 17:31 Сейчас в теме
Можно, но вот как вы номера потом их будете синхронизировать ? так как при выгрузке номера у СФ будут не такие как в изначальной базе
+
18. user973528 13.09.18 17:35 Сейчас в теме
(17) Мне как раз при выгрузке ПоступленийТоваровИУслуг надо создать сф
+
19. bmk74 234 13.09.18 17:44 Сейчас в теме
Ну если совсем в лоб
То ПослеЗагрузкиОбъекта
Попытка
   Объект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
     Объект.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки
 Документы.СчетФактураВыданный.СоздатьДокументНаОсновании(Объект.Ссылка);;
+
20. user973528 13.09.18 17:46 Сейчас в теме
(19) Это в ПКО документа Поступления?
+
21. bmk74 234 13.09.18 17:48 Сейчас в теме
Нет это для реализации для поступления должна быть счет фактура не выданный а полученный...
Да В ПКО ПослеЗагрузки документа для которого нужна СФ
Для СФ полученного инфы надо поболее
Документы.СчетФактураПолученный.СоздатьДокументНаОсновании(Основание, НомерСчетаФактурыПолученного, ДатаСчетаФактурыПолученного, Продавец, ОбновлятьСтатусСчетаФактурыПоДокументу)

По крайней мере нужна номер и дата входящего документа
user973528; +1
22. user973528 13.09.18 17:49 Сейчас в теме
(21) Спасибо, буду знать
+
23. Airlord 14.09.18 12:01 Сейчас в теме
Добрый день! Было одно из моментов в практике - не все бухи филиалов так и головной организации добросовестно вели учет и не все делали СФ. В конвертации делал "Параметры.ЗагружаемаяРеализацияДокументы" - туда закидывал доки реализаций, затем в разделе "После загрузки данных" писал специально алгоритм на исследование реализации - есть ли СФ. И потом тут же писал создание СФ на основании Реализации. Номер присваивал по порядку с учетом префикса организации или филиала. Сложного ничего нет.
+
24. maks_20 164 14.09.18 12:45 Сейчас в теме
Для поступлений делал так (после загрузки ПКО):

Объект.Записать();
Отбор= Неопределено;
ВидСчетаФактуры = "СчетФактураПолученный";     
СчетФактура = УчетНДСПереопределяемый.НайтиПодчиненныйСчетФактуруПолученный(Объект.Ссылка);
ОбъектСчетаФактуры = Неопределено;
Если (НЕ ЗначениеЗаполнено(СчетФактура)) Тогда
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].СоздатьДокумент();
    ОбъектСчетаФактуры.ДокументыОснования.Очистить();
    Если ТипЗнч(Отбор) = Тип("Структура") И Отбор.Свойство("ВидСчетаФактуры") Тогда
            Если ТипЗнч(Отбор.ВидСчетаФактуры) = Тип("Массив") 
               И Отбор.ВидСчетаФактуры.Количество() > 0 Тогда
               ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры[0];
           ИначеЕсли ТипЗнч(Отбор.ВидСчетаФактуры) = Тип("СписокЗначений") 
               И Отбор.ВидСчетаФактуры.Количество() > 0 Тогда
               ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры[0].Значение;
           Иначе
               ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры;
           КонецЕсли;
       КонецЕсли;
       ОбъектСчетаФактуры.Заполнить(Объект.Ссылка); 
       // Откроем форму для редактирования счета-фактуры
	   ОбъектСчетаФактуры.ОбменДанными.Загрузка = Истина;
       ОбъектСчетаФактуры.Записать(); 
       Сообщить(ОбъектСчетаФактуры.Ссылка);
 КонецЕсли;
Показать


Кусок брал из типового заполнения, лишнее можно убрать.
+
25. bmk74 234 14.09.18 12:58 Сейчас в теме
(24)
Если ТипЗнч(Отбор) = Тип("Структура") И Отбор.Свойство("ВидСчетаФактуры") Тогда Если ТипЗнч(Отбор.ВидСчетаФактуры) = Тип("Массив") И Отбор.ВидСчетаФактуры.Количество() > 0 Тогда ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры[0]; ИначеЕсли ТипЗнч(Отбор.ВидСчетаФактуры) = Тип("СписокЗначений") И Отбор.ВидСчетаФактуры.Количество() > 0 Тогда ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры[0].Значение; Иначе ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры; КонецЕсли; КонецЕсли;

Тут Лишнего Больше чем нужного :)
+
26. maks_20 164 14.09.18 13:24 Сейчас в теме
(25)скинул полный кусок, мало ли пригодится) у меня лишнее убрано. оставил только поиск имеющейся и создание (либо перезаполнение)
+
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот