|
В форме документа есть надпись, долг покупателя(ссылка), хочу чтобы она появляла | ☑ | ||
---|---|---|---|---|
0
НайманОртажуз
03.03.16
✎
13:22
|
В форме документа есть надпись, долг покупателя(ссылка), хочу чтобы она появлялась в макете после нажатия флага.
|
|||
1
НайманОртажуз
03.03.16
✎
13:23
|
8 УТ
|
|||
2
shuhard
03.03.16
✎
13:26
|
(0)[хочу чтобы она появляла]
а ей пофиг ? |
|||
3
НайманОртажуз
03.03.16
✎
13:28
|
Не поместилась, че ты?
|
|||
4
mehfk
03.03.16
✎
13:28
|
(0) Продолжайте хотеть.
|
|||
5
Cyberhawk
03.03.16
✎
13:30
|
"В форме", "в макете" - ЯННП
|
|||
6
Fish
03.03.16
✎
13:31
|
(0) Так надо попросить, она и появится.
|
|||
7
Качели
03.03.16
✎
13:32
|
(5) А про нажатие флага?
|
|||
8
batman69
03.03.16
✎
13:36
|
(7)Он имел ввиду, после махания флагом, видимо.
|
|||
9
FIXXXL
03.03.16
✎
13:37
|
(0) если УТ10.3, есть в настройках флаг типа "Рассчитывать долг при открытии формы"
|
|||
10
Cyberhawk
03.03.16
✎
13:41
|
||||
11
НайманОртажуз
03.03.16
✎
13:45
|
https://yadi.sk/i/QKFtCnXwpsmrq
вот тут все понятно |
|||
12
Ёпрст
03.03.16
✎
13:47
|
(11) ну дык воткни в процу на флажке обновление надписи на форме, а в обновленииотображения, или где там она присваевается - выкини.
|
|||
13
Fish
03.03.16
✎
13:54
|
(12) Может, под макетом имелась ввиду печатная форма?
|
|||
14
НайманОртажуз
03.03.16
✎
13:58
|
13 Печатная форма
|
|||
15
Fish
03.03.16
✎
14:01
|
(14) Ну тогда всё проще простого: в макете добавляешь параметр, а в процедуре печати (обычно она находится в модуле менеджера) подставляешь туда значение, которое получаешь так же, как оно получается в надписи на форме.
|
|||
16
НайманОртажуз
03.03.16
✎
14:44
|
Можно ли сюда воткнуть записи, чтобы это(надпись) появилась в печати?
Перем мПериод Экспорт; // Период движений Перем мТаблицаДвижений Экспорт; // Таблица движений // Выполняет приход по регистру. // // Параметры: // Нет. // Процедура ВыполнитьПриход() Экспорт ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Приход); КонецПроцедуры // ВыполнитьПриход() // Выполняет расход по регистру. // // Параметры: // Нет. // Процедура ВыполнитьРасход() Экспорт ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход); КонецПроцедуры // ВыполнитьРасход() // Выполняет движения по регистру. // // Параметры: // Нет. // Процедура ВыполнитьДвижения() Экспорт Загрузить(мТаблицаДвижений); КонецПроцедуры // ВыполнитьДвижения() // Процедура контролирует остаток по данному регистру по переданному документу // и его табличной части. В случае недостатка товаров выставляется флаг отказа и // выдается сообщегние. // // Параметры: // ДокументОбъект - объект проводимого документа, // ИмяТабличнойЧасти - строка, имя табличной части, которая проводится по регистру, // СтруктураШапкиДокумента - структура, содержащая значения "через точку" ссылочных реквизитов по шапке документа, // Отказ - флаг отказа в проведении, // Заголовок - строка, заголовок сообщения об ошибке проведения. // Процедура КонтрольОстатков(ДокументОбъект, ИмяТабличнойЧасти, СтруктураШапкиДокумента, Отказ, Заголовок, ИмяСуммы = "СуммаПлатежа", Знак="") Экспорт МетаданныеДокумента = ДокументОбъект.Метаданные(); ИмяДокумента = МетаданныеДокумента.Имя; ИмяТаблицы = ИмяДокумента + "." + СокрЛП(ИмяТабличнойЧасти); Если НЕ ЗначениеЗаполнено(ИмяТабличнойЧасти) ИЛИ ИмяТабличнойЧасти = "ДокументыРасчетовСКонтрагентом" Тогда ЕстьДоговорКонтрагента = ОбщегоНазначения.ЕстьРеквизитДокумента("ДоговорКонтрагента", МетаданныеДокумента); ЕстьДоговорСделка = ОбщегоНазначения.ЕстьРеквизитДокумента("Сделка", МетаданныеДокумента); Если ЕстьДоговорКонтрагента Тогда ДоговорКонтрагента = СтруктураШапкиДокумента.ДоговорКонтрагента; Если СтруктураШапкиДокумента.КонтролироватьСуммуЗадолженности Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента); Запрос.Текст = " |ВЫБРАТЬ // Для контроля суммы задолженности по договору (любой вариант ведения взаиморасчетов) | " + Знак + "ВзаиморасчетыПоДоговору.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(, | ДоговорКонтрагента = &ДоговорКонтрагента | ) КАК ВзаиморасчетыПоДоговору |"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СуммаВзаиморасчетовОстаток = ?(Выборка.СуммаВзаиморасчетовОстаток= NULL, 0, Выборка.СуммаВзаиморасчетовОстаток); СуммаВзаиморасчетовПоДокументу = ОбщегоНазначения.ПересчитатьИзВалютыВВалюту(СтруктураШапкиДокумента.СуммаДокумента, СтруктураШапкиДокумента.ВалютаДокумента, СтруктураШапкиДокумента.ВалютаВзаиморасчетов, ОбщегоНазначения.КурсДокумента(ДокументОбъект,СтруктураШапкиДокумента.ВалютаРегламентированногоУчета), СтруктураШапкиДокумента.КурсВзаиморасчетов, ОбщегоНазначения.КратностьДокумента(ДокументОбъект, СтруктураШапкиДокумента.ВалютаРегламентированногоУчета), СтруктураШапкиДокумента.КратностьВзаиморасчетов); Валюта = ?(СтруктураШапкиДокумента.ВалютаВзаиморасчетов = NULL, "", СтруктураШапкиДокумента.ВалютаВзаиморасчетов); Если (СуммаВзаиморасчетовОстаток + СуммаВзаиморасчетовПоДокументу) > СтруктураШапкиДокумента.ДопустимаяСуммаЗадолженности Тогда ОбщегоНазначения.СообщитьОбОшибке("Сумма задолженности по договору " + ДоговорКонтрагента + " с учетом документа превышает допустимую сумму задолженности." + Символы.ПС + Символы.Таб + "Сумма задолженности с учетом документа: " + (СуммаВзаиморасчетовОстаток + СуммаВзаиморасчетовПоДокументу) + " " + Валюта + ", допустимая сумма задолженности: " + СтруктураШапкиДокумента.ДопустимаяСуммаЗадолженности + " " + Валюта + ", превышение: " + (ОбщегоНазначения.ФорматСумм(СуммаВзаиморасчетовОстаток + СуммаВзаиморасчетовПоДокументу - СтруктураШапкиДокумента.ДопустимаяСуммаЗадолженности)) + " " + Валюта, Отказ, Заголовок); КонецЕсли; КонецЕсли; КонецЕсли; Сделка = СтруктураШапкиДокумента.Сделка; Если Знак ="" И СтруктураШапкиДокумента.ПроцентПредоплаты > 0 И (СтруктураШапкиДокумента.ВедениеВзаиморасчетов <> Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом ИЛИ ЗначениеЗаполнено(Сделка)) Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента); Если НЕ ЗначениеЗаполнено(Сделка) Тогда Запрос.УстановитьПараметр("Сделка", Неопределено); Иначе Запрос.УстановитьПараметр("Сделка", Сделка); КонецЕсли; Запрос.Текст = " |ВЫБРАТЬ // Для контроля процента предоплаты (указана сделка, любой вариант ведения взаиморасчетов) | ВзаиморасчетыПоДоговору.СуммаВзаиморасчетовПриход КАК СуммаЗаказа, | ВзаиморасчетыПоДоговору.СуммаВзаиморасчетовРасход КАК СуммаОплаты |ИЗ | РегистрНакопления.РасчетыСКонтрагентами.Обороты(,,, | ДоговорКонтрагента = &ДоговорКонтрагента | И Сделка = &Сделка | ) КАК ВзаиморасчетыПоДоговору |"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СуммаЗаказа = ?(Выборка.СуммаЗаказа = NULL, 0, Выборка.СуммаЗаказа); СуммаОплаты = ?(Выборка.СуммаОплаты = NULL, 0, Выборка.СуммаОплаты); ПроцентПредоплаты = СтруктураШапкиДокумента.ПроцентПредоплаты; ПроцентСовершеннойПредоплаты = ?(СуммаЗаказа = 0, 100, СуммаОплаты / СуммаЗаказа * 100); Если ПроцентСовершеннойПредоплаты < ПроцентПредоплаты Тогда ОбщегоНазначения.СообщитьОбОшибке("Недостаточна предоплата по заказу " + Сделка + Символы.ПС + Символы.Таб + " По договору """ + ДоговорКонтрагента + """ требуется предоплата в размере " + ПроцентПредоплаты + "% ; Поступила предоплата в размере " + Окр(ПроцентСовершеннойПредоплаты, 2, 1) + "%", Отказ, Заголовок); КонецЕсли; КонецЕсли; КонецЕсли; Если Знак ="" Тогда // Контроль числа дней задолженности Если СтруктураШапкиДокумента.КонтролироватьЧислоДнейЗадолженности Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента); Запрос.Текст = "ВЫБРАТЬ // Выбирает даты самых ранних документов по договорам, указанным в т.ч. | МИНИМУМ(ДокументРасчетовСКонтрагентом.Дата) КАК ДатаПервогоДокумента, | ДоговорКонтрагента | ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, | ДоговорКонтрагента = &ДоговорКонтрагента) | ГДЕ СуммаВзаиморасчетовОстаток > 0 // Дебиторская задолженность больше 0 | И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом | И ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности | СГРУППИРОВАТЬ ПО ДоговорКонтрагента"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ДопустимоеЧислоДнейЗадолженности = СтруктураШапкиДокумента.ДопустимоеЧислоДнейЗадолженности; Если Константы.СпособКонтроляДнейЗадолженности.Получить() = Перечисления.СпособыКонтроляДнейЗадолженности.ПоКалендарнымДням Тогда РазницаДатВСекундах = (СтруктураШапкиДокумента.Дата - Выборка.ДатаПервогоДокумента); РазницаДней = Цел(РазницаДатВСекундах/(24 * 60 * 60)); Иначе РазницаДней = ЗаполнениеДокументов.ЧислоРабочихДней(Выборка.ДатаПервогоДокумента, СтруктураШапкиДокумента.Дата); КонецЕсли; Если РазницаДней > ДопустимоеЧислоДнейЗадолженности Тогда ОбщегоНазначения.СообщитьОбОшибке("Превышено допустимое число дней задолженности по договору " + ДоговорКонтрагента + Символы.ПС + Символы.Таб + " Допустимое число дней задолженности: " + ДопустимоеЧислоДнейЗадолженности + ", дата самой старой задолженности: " + Выборка.ДатаПервогоДокумента + ", превышение: " + (РазницаДней - ДопустимоеЧислоДнейЗадолженности) + " дней", Отказ, Заголовок); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Иначе Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументСсылка", ДокументОбъект.Ссылка); Запрос.Текст = " |ВЫБРАТЬ // Для контроля суммы задолженности по расчетному документу (ведение взаиморасчетов - по расчетным документам) | Док.ДоговорКонтрагента, | Док.ДоговорКонтрагента.ВалютаВзаиморасчетов, | Док.ДокументРасчетовСКонтрагентом, | Док."+ ИмяСуммы + " КАК СуммаДокумента, | Док.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов, | Взаиморасчеты.СуммаВзаиморасчетовОстаток |ИЗ | Документ." + ИмяТаблицы + " КАК Док |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, | ДоговорКонтрагента В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента ИЗ Документ." + ИмяТаблицы +" | ГДЕ Документ." + ИмяТаблицы + ".Ссылка = &ДокументСсылка) | ) КАК Взаиморасчеты |ПО | Док.ДоговорКонтрагента = Взаиморасчеты.ДоговорКонтрагента | И Док.ДокументРасчетовСКонтрагентом = Взаиморасчеты.ДокументРасчетовСКонтрагентом |ГДЕ | Док.Ссылка = &ДокументСсылка | И Док.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом |"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если НЕ ЗначениеЗаполнено(Выборка.ДокументРасчетовСКонтрагентом) Тогда Продолжить; КонецЕсли; СуммаВзаиморасчетовОстаток = ?(Выборка.СуммаВзаиморасчетовОстаток= NULL, 0, ?(Выборка.СуммаВзаиморасчетовОстаток > 0, 1, -1) * Выборка.СуммаВзаиморасчетовОстаток); СуммаВзаиморасчетовПоДокументу = Выборка.СуммаДокумента; Валюта = Выборка.ВалютаВзаиморасчетов; Если СуммаВзаиморасчетовОстаток < СуммаВзаиморасчетовПоДокументу Тогда УправлениеЗапасами.ОшибкаНетОстатка("Сумма по документу превышает текущую задолженность по расчетному документу " + Выборка.ДокументРасчетовСКонтрагентом + ".", СуммаВзаиморасчетовОстаток, СуммаВзаиморасчетовПоДокументу, Валюта, Отказ, Заголовок); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры // КонтрольОстатков() |
|||
17
НайманОртажуз
03.03.16
✎
14:45
|
Это регистр накопления ВзаимоРасчетыСКонтрагентами
|
|||
18
FIXXXL
03.03.16
✎
16:51
|
(16) нет
но скопировать и модернизировать нужный кусок можно |
|||
19
mistеr
03.03.16
✎
18:14
|
Я бы флаг не делал, а добавил печатную форму и пару строчек в процедуре Печать()
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |