|
Вычисления в ТЧ документа | ☑ | ||
---|---|---|---|---|
0
amadeus2010
19.08.14
✎
14:17
|
Добрый день в документе реализация товаров услуг пытаюсь создать вычисляемую строку, которая будет заполняться значением.
////////////////////////////////////////// Процедура ТоварыСкидкаПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; Если СтрокаТабличнойЧасти.Сумма>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.03; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.02; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.01; КонецЕсли; КонецПроцедуры ////////////////////////////////////////////////////\ в режиме предприятие поле скидка остается пустым |
|||
1
Галахад
гуру
19.08.14
✎
14:19
|
А сумма чему равна?
|
|||
2
salvator
19.08.14
✎
14:21
|
(0) Отладчиком пользоваться умеешь?
|
|||
3
Chum
19.08.14
✎
14:22
|
Что-то мне подсказывает, что товарищ использует элементы формы, а не источник данных для этого элемента
|
|||
4
amadeus2010
19.08.14
✎
14:22
|
сумма-определенное значение которое получается стандартной процедурой рассчитатьсумму() т.е цена*количество
|
|||
5
amadeus2010
19.08.14
✎
14:23
|
(2) конечно умею пользоваться отладчиком
|
|||
6
anatoly
19.08.14
✎
14:24
|
это же уже было, не?
знакомые числа - 500/300/150... |
|||
7
amadeus2010
19.08.14
✎
14:25
|
(6) это другая история уже
|
|||
8
Chum
19.08.14
✎
14:25
|
(6) угу, в прошлый раз он условие скидки оформил неверно
|
|||
9
Крошка Ру
19.08.14
✎
14:25
|
А мне вот интересно: кто ТСа научил систему скидок прям в коде прописывать?
|
|||
10
amadeus2010
19.08.14
✎
14:25
|
заказчик меняет условие задачи
|
|||
11
Крошка Ру
19.08.14
✎
14:26
|
(10) Прям сейчас??
|
|||
12
Dmitriy_76
19.08.14
✎
14:27
|
(9) +1
|
|||
13
amadeus2010
19.08.14
✎
14:29
|
заказчик желает чтобы когда в документе реализация оформлялся документ на каждую строку товара была своя скидка в зависимости от суммы строки ТЧ плюс включена автоматическая скидка = всего.
Т.е ТЧ.Сумма-ТЧ.Скидка-ТЧ.Автомат скидка=Всего в строке таб. части |
|||
14
StaticUnsafe
19.08.14
✎
14:29
|
(9) +1
скидки в коде - лютый трэш |
|||
15
Крошка Ру
19.08.14
✎
14:31
|
Сейчас ещё окажется, что это Розница.
|
|||
16
Dmitriy_76
19.08.14
✎
14:32
|
(14) а как же... чтоб заказчик сам не смог менять..только через тс ....
только это тссссссссс!!! |
|||
17
amadeus2010
19.08.14
✎
14:34
|
(14) таково пожелание заказчика. Я сделал обработку которая учитывала все скидки по клиенту за период, и оставалось только заполнить документ установка скидок, но добавилось условие чтобы по приведенной схеме вычислять скидку по строке документа. Кстати это УТ 10.3
|
|||
18
amadeus2010
19.08.14
✎
14:34
|
Потом мне придется подобную схему реализовать в агент плюс
|
|||
19
amadeus2010
19.08.14
✎
14:41
|
есть какие-нибудь предложения
|
|||
20
salvator
19.08.14
✎
14:43
|
(19) в отладчике сумма скидки рассчитывается в этой процедуре?
|
|||
21
Крошка Ру
19.08.14
✎
14:51
|
(17)>>таково пожелание заказчика
О_о То есть, ты заказчику говоришь: "А давайте виды скидки будем хранить в справочнике, назначать-убирать будем документом", а заказчик тебе: "нет, только в коде, только хардкор"? |
|||
22
MUXACb
19.08.14
✎
15:04
|
(0) Эта процедура используется при пользовательском изменении суммы в табличной части, а у Вас она программно вычисляется.
Добавьте в "рассчитатьсумму()" вычисление скидки |
|||
23
amadeus2010
19.08.14
✎
15:17
|
(21) я заказчику изначально предлагал цивилизованный вариант назначения скидок через типовой документ и справочник, также сделал обработку которая выводит все варианты скидок заказчика по каждому контрагенту и заказчику оставалось только в типовом документе прописать эти скидки.
|
|||
24
StaticUnsafe
19.08.14
✎
15:18
|
(17) ну и что
зачем потенциально изменяемые значения зашивать в код? Или заказчик так и сказал: "Чувак, сделай мне убого, чтоб я не мог поменять настройку в режиме предприятия". |
|||
25
amadeus2010
19.08.14
✎
15:27
|
(24) заказчик так захотел и не хочет слушать что ему говорит наш аналитик и я по поводу скидок
|
|||
26
amadeus2010
19.08.14
✎
15:31
|
(22)имели ввиду эту процедуру ПриИзмененииСуммыТабЧасти() из общего модуля? потому что кроме этой процедуры нет другой для подсчета суммы
|
|||
27
amadeus2010
19.08.14
✎
16:13
|
есть какие-нибудь предложения?
|
|||
28
amadeus2010
19.08.14
✎
16:29
|
я в процедуру ПриИзмененииСуммыТабЧасти() добавил следующий код
//////////////////////////////////////////////////// //SIP-DIMA Если СуммаБезСкидок>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.03; ИначеЕсли СуммаБезСкидок>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.02; ИначеЕсли СуммаБезСкидок>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.01; КонецЕсли; ///////////////////////////////////////////////////////// также в процедуру ТоварыСкидкаПриИзменении() добавил ////////////////////////////////////////////// СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект); ////////////////////////////////////////////////// но все равно не выводит значения скидок. Не подскажите как можно решить вопрос. |
|||
29
Dmitriy_76
19.08.14
✎
16:30
|
отладчик то что говорит ? тупо пролетает мимо ?
|
|||
30
salvator
19.08.14
✎
16:31
|
(28) Этот код
СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект); Надо в событие при изменении Суммы, а не Скидки сделать!!! |
|||
31
amadeus2010
19.08.14
✎
16:42
|
(30) там и так этот код есть
|
|||
32
salvator
19.08.14
✎
16:45
|
(31) "ТоварыСкидкаПриИзменении" у тебя привязано к полю "Сумма"? Не "Скидка"?
|
|||
33
amadeus2010
19.08.14
✎
16:57
|
(32) я пытаюсь изменить стандартную УТ 10.3 в которой поле сумма рассчитывается РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
внутри этой процедуры идет расчет ручных и автоматических скидок и я туда же вставил свой код, но сейчас он ничего не выполняет в поле скидка. Если ввести значение процента в поле ручная скидка то идет расчет суммы с учетом этой скидки |
|||
34
salvator
19.08.14
✎
17:28
|
(33) Ты на вопрос чётко можешь ответить или нет?
|
|||
35
Fram
19.08.14
✎
17:35
|
(28) а то что эта процедура у тебя просто не вызывается тебе в голову не приходило?
|
|||
36
amadeus2010
19.08.14
✎
17:36
|
(34) привязано к полю скидка
|
|||
37
salvator
19.08.14
✎
17:38
|
(36) А теперь подумай, как этот код будет выполняться при изменении поля "Сумма".
|
|||
38
del123
19.08.14
✎
17:45
|
аналогичная ошибка была и в прошлый раз, не туда код свой пихаешь
|
|||
39
amadeus2010
19.08.14
✎
17:46
|
(37) этот код надо поставить в при изменении поле сумма?
|
|||
40
del123
19.08.14
✎
17:49
|
(39) лучше в "ПриОкончанииРедактированияСтроки"
|
|||
41
salvator
19.08.14
✎
17:49
|
(39) Логично, правда?
|
|||
42
amadeus2010
19.08.14
✎
17:50
|
имеете ввиду этот код
//SIP-DIMA Если СуммаБезСкидок>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.03; ИначеЕсли СуммаБезСкидок>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.02; ИначеЕсли СуммаБезСкидок>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СуммаБезСкидок*0.01; КонецЕсли; |
|||
43
Fram
19.08.14
✎
17:53
|
бедный заказчик
|
|||
44
Fram
19.08.14
✎
17:53
|
ему же бизнес на этом вести
|
|||
45
amadeus2010
19.08.14
✎
17:53
|
(43)заказчик не бедный
|
|||
46
amadeus2010
19.08.14
✎
17:54
|
сам так пожелал
|
|||
47
Fram
19.08.14
✎
17:55
|
(46) он тебе прямо код этот написал и сказал вставить в конфигурацию?
|
|||
48
amadeus2010
19.08.14
✎
17:57
|
нет код пришлось писать самому
|
|||
49
Fram
19.08.14
✎
17:58
|
(48) А что в УТ 10.3 нет механизма скидок в зависимости от суммы?
|
|||
50
amadeus2010
19.08.14
✎
18:00
|
есть типовые механизмы как в справочнике так и в документе, но заказчик желает использовать свою поделку
|
|||
51
Fram
19.08.14
✎
18:03
|
если ты сумел продать клиенту "снега зимой", конечно, хвала тебе как продавцу, но как консультанту-разработчику порицание
|
|||
52
amadeus2010
19.08.14
✎
18:04
|
(51) я не собирался продавать ему поделку, потому что приходится мучатся
|
|||
53
salvator
19.08.14
✎
18:05
|
(52) За еду работаешь?
|
|||
54
amadeus2010
19.08.14
✎
18:06
|
(40) в модуле формы есть Окончание ввода текста, а ПриОкончанииРедактированияСтроки нет
|
|||
55
amadeus2010
19.08.14
✎
18:07
|
(53) нет конечно же за фиксированную зарплату
|
|||
56
amadeus2010
20.08.14
✎
11:23
|
добрый день я поставил код в процедуру СуммаПриИзменении() но ничего не получилось.
|
|||
57
salvator
20.08.14
✎
11:25
|
(56) Есть один выход...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |