|   |   | 
| 
 | Вычисления в ТЧ документа | ☑ | ||
|---|---|---|---|---|
| 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) Есть один выход...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |