P
Қаң. 25, 2023, 3:01 Т.Қ.

Ввод бухгалтерского документа в одной форме

Добрый день! Вот такая задача - ввод бухгалтерского документа. Например, счет фактура. Есть таблица реквизитов документа (номер, дата, поставщик и т.д) и связанная с ней таблица позиций, т.е. табличная часть документа. Не подскажете, где в документации поискать что то подобное? Суть в том, как организовать ввод и сохранение связанных данных. Т.е. в одной форме длоны быть поля для заполнения реквизитов (шапки документа) и там же возможность добавления строк в табличную часть. Ну и сохранить полностью новый документ. Спасибо
p.s. Ну а за пример кода буду особо благодарен!:)

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

4
NSProject
  • Қаң. 25, 2023, 8:30 Т.Қ.

Я вот думаю что это можно реализовать примерно таким образом:

  1. class Proguct(models.Model):
  2. name = models.CharField(max_lenght=100)
  3. # и тд
  4.  
  5. class Order(models.Model):
  6. numder = models.BigIntegerField()
  7. #provider = models.ForeignKey(User, on_delete=models.CASCADE) Один из двух вариантов.
  8. #provider = models.CharField(max_lenght=50)
  9. date = DateTimeField()
  10. product = models.ManyToManyField(Product)
  11.  
  12.  

В общем как то так. И как бы должно всё работать с множественным выбором продуктов.

    P
    • Қаң. 25, 2023, 8:43 Т.Қ.

    да,с моделями понятно, тем более они у меня есть. интересует, как реализовать форму ввода с шапкой и табличной частью...

      NSProject
      • Қаң. 25, 2023, 9:47 Т.Қ.

      А что подразумевается под табличной частью?
      По выводу в шаблоне всё делается очень просто. Форма может быть типа такой

      1. class OrderForm(forms.ModelForm):
      2. class Meta:
      3. model = Order
      4. fields = "__all__" # Либо те поля что нужны через запятую ["","",]
      5. widjets = {} # можно указать виджеты для поля
      6.  

      Далее уже выводите форму на странице создания или в модальном окне и как бы всё. Ну и отправку и сохранение уже реализуете как вам удобно.

        P
        • Қаң. 25, 2023, 10:01 Т.Қ.

        вопрос снят. спасибо за ответы. сообразил, как сделать:)

          Пікірлер

          Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
          Кіріңіз немесе Тіркеліңіз