Собственная программа в бланке документа.
Начиная с версии 4.2.26 в конструкторе бланков можно добавить логику, написать программу.
Например:
1. Чтобы в накладной печатался текст о задолженности покупателя.
2. Чтобы была ссылка на связанный документ ("По счету №...").
3. Чтобы при связи с оплатой был текст о сумме аванса.
Общие действия:
- В бланке добавить пустую рамку для текста, присвоить ей имя "Note".
- Нажать "Программа" и вставить текст, выбранный ниже.
- Закрыть (сохранив изменения) и снова нажать "Печать".
Варианты:
1. Долг покупателя:
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim Pokup As Predpr.Person = Op.DocPerson
If Pokup Is Nothing Then Exit Sub
Dim Sum as Decimal
Sum = Pokup.GetDebt("Db", Op)
If Sum>0 Then Note.Text = "Ваш долг без учета этой накладной: " & Sum.ToString("0.00")
2. Ссылка "По счету №...":
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim LinkOp as Predpr.Doc = Op.GetLinkDoc(3)
If LinkOp is nothing Then Exit Sub
Note.Text="За рахунком № " & LinkOp.DocNum & " вiд " & LinkOp.DocDate
'Note.Text="По счету № " & LinkOp.DocNum & " от " & LinkOp.DocDate
3. Про аванс или полную оплату:
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim LinkOp as Predpr.Doc
LinkOp = Op.GetLinkDoc(6)'Касса
'LinkOp = Op.GetLinkDoc(4)'Банк
If LinkOp is nothing Then Exit Sub
If LinkOp.DocSum < Op.DocSum Then
Note.Text = "Получен аванс " & LinkOp.DocSum.ToString("0.00")
end if
If LinkOp.DocSum >= Op.DocSum Then
Note.Text = "Оплачено " & LinkOp.DocSum.ToString("0.00")
end if
P.S. Если в тексте будет ошибка, то при нажатии "Печать" появится ее описание, и строка, вызвавшая сбой, будет отмечена красным. Можно ее просто закомментировать (апостроф в начале строки), сохранить и снова нажать "Печать".
Например:
1. Чтобы в накладной печатался текст о задолженности покупателя.
2. Чтобы была ссылка на связанный документ ("По счету №...").
3. Чтобы при связи с оплатой был текст о сумме аванса.
Общие действия:
- В бланке добавить пустую рамку для текста, присвоить ей имя "Note".
- Нажать "Программа" и вставить текст, выбранный ниже.
- Закрыть (сохранив изменения) и снова нажать "Печать".
Варианты:
1. Долг покупателя:
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim Pokup As Predpr.Person = Op.DocPerson
If Pokup Is Nothing Then Exit Sub
Dim Sum as Decimal
Sum = Pokup.GetDebt("Db", Op)
If Sum>0 Then Note.Text = "Ваш долг без учета этой накладной: " & Sum.ToString("0.00")
2. Ссылка "По счету №...":
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim LinkOp as Predpr.Doc = Op.GetLinkDoc(3)
If LinkOp is nothing Then Exit Sub
Note.Text="За рахунком № " & LinkOp.DocNum & " вiд " & LinkOp.DocDate
'Note.Text="По счету № " & LinkOp.DocNum & " от " & LinkOp.DocDate
3. Про аванс или полную оплату:
Note.Text = ""
Dim Op As Predpr.Doc = Frm.Op
Dim LinkOp as Predpr.Doc
LinkOp = Op.GetLinkDoc(6)'Касса
'LinkOp = Op.GetLinkDoc(4)'Банк
If LinkOp is nothing Then Exit Sub
If LinkOp.DocSum < Op.DocSum Then
Note.Text = "Получен аванс " & LinkOp.DocSum.ToString("0.00")
end if
If LinkOp.DocSum >= Op.DocSum Then
Note.Text = "Оплачено " & LinkOp.DocSum.ToString("0.00")
end if
P.S. Если в тексте будет ошибка, то при нажатии "Печать" появится ее описание, и строка, вызвавшая сбой, будет отмечена красным. Можно ее просто закомментировать (апостроф в начале строки), сохранить и снова нажать "Печать".