|
v7: Помогите с правильной формулой округления копеек | ☑ | ||
---|---|---|---|---|
0
Georg68
10.03.17
✎
05:42
|
Делаю двойной ценник, где одна цена со скидкой 2% и эту цену надо округлить до 50коп в меньшую сторону. А округляется только до рубля.
Цел((Число(Печрубли) + Число(Печкопейки)/100)*0.98) - это рубли ?((((число(Печрубли) + число(печкопейки)/100)*0.98) %1)*100 >= 50, "50", "00") - это копейки Что не так? |
|||
82
Fedor-1971
10.03.17
✎
10:19
|
81+ макет который в (69), если там формулы пиши их
|
|||
83
Масянька
10.03.17
✎
10:20
|
(80) Бэкап надо делать.
|
|||
84
Georg68
10.03.17
✎
10:23
|
Итак.
Первая цена, которая без скидки. Свойства рубли - ПечРубли Свойства копейки - ПечКопейки Копейки сейчас не округляются |
|||
85
Georg68
10.03.17
✎
10:25
|
Может у меня нет глОкруглить , конфигурация очень древняя и переписанная вся
|
|||
86
Fedor-1971
10.03.17
✎
10:25
|
(84) не так по каждой строке, что-бы было понимание, просто дополни мои строки данными (тут формула из макета): назначение
|
|||
87
Fedor-1971
10.03.17
✎
10:26
|
(85) ты бы получил ошибку, типа "такой функции нету"
|
|||
88
Fedor-1971
10.03.17
✎
10:27
|
86+ только пиши текущее состояние из макета
|
|||
89
Georg68
10.03.17
✎
10:27
|
ну да
|
|||
90
Fedor-1971
10.03.17
✎
10:28
|
(89) что ну да? дополни строки из (81)
|
|||
91
se85
10.03.17
✎
10:28
|
Хех это уже анекдот какой то получается, может кто нибудь подключится к нему удаленно да сделает?!
|
|||
92
Fedor-1971
10.03.17
✎
10:29
|
(91) а смысл? Он и дальше будет непонимать, что делает. Раз записался в ученики будет насильно учиться
|
|||
93
Georg68
10.03.17
✎
10:32
|
Нет, ну делов то в принципе на копейку. Только упорядочить надо этот мозговой штурм.
1. Что правим в модуле? 2. Что пишем в Свойствах. |
|||
94
se85
10.03.17
✎
10:32
|
(92) Что б чему то обучить, обучаемый должен хотя бы что то понимать!!! Наш же клиент не понимает что и как работает ибо ни когда с этим не сталкивался :(
|
|||
95
Georg68
10.03.17
✎
10:33
|
Согласен, в формулах я не понимаю, я ценники сам делаю, размеры и простые выражения.
Но это сложная формула. |
|||
96
Georg68
10.03.17
✎
10:34
|
Потому и прошу помощи. Форум же для этого и придумали или я не прав? Погнобить тупых юзеров придумали форум?)) Ну так с этим нормально.)
|
|||
97
Fedor-1971
10.03.17
✎
10:35
|
(93) блин, вежливо, матом тебя прошу, дополни строки из (81)
потом до модуля доберёмся (94) вот и разберётся и станет аксакалом и будет других учить |
|||
98
Georg68
10.03.17
✎
10:38
|
Первая цена, которая без скидки.
Свойства рубли - ПечРубли Свойства копейки - ПечКопейки Вторая Рубли - (число(Печрубли) + число(печкопейки)) Копейки свою вставил обратно ?((((число(Печрубли) + число(печкопейки)/100)*0.98) %1)*100 >= 50, "50", "00") |
|||
99
Georg68
10.03.17
✎
10:40
|
В ценнике сейчас такая фигня
https://dl.dropboxusercontent.com/u/80917909/Безымянный.jpg Поменялись местами цены, так как переменную в первой цене мы не трогали |
|||
100
Fedor-1971
10.03.17
✎
10:40
|
(98) ну просил же, оставь начало потом - потом в () формула из макета, потом словами назначение. что бы получилось одной строкой привязка ячейки макета и её смысла
|
|||
101
Georg68
10.03.17
✎
10:41
|
))) ваще понятно
а написать просто выражение не проще |
|||
102
Fedor-1971
10.03.17
✎
10:43
|
(101) нет, ты потом запутаешься при изменении и сколь нибудь сложная логика заполнения ячейки окончится вешалкой при реализации
|
|||
103
Fedor-1971
10.03.17
✎
10:43
|
102+ давай как-то ускорься, мне тоже работать надо
|
|||
104
Georg68
10.03.17
✎
10:47
|
Так затык полный уже
|
|||
105
Georg68
10.03.17
✎
10:47
|
если до того была какая-то смутная картинка, теперь нет совсем
|
|||
106
Fedor-1971
10.03.17
✎
10:48
|
(104) Ещё нет, так движемся самым простым путём:
Устанавлиай в макете: ечРуб - ЦенаПродажи Копе - КопейкиПродажи Числ - СкидкаЦена ечК - СкидкаКопейки Поясни: ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); - это цена со скидкой или продажи |
|||
107
Georg68
10.03.17
✎
10:49
|
Это цена продажи была
|
|||
108
Это_mike
10.03.17
✎
10:50
|
(93) это не "мозговой штурм". это какой-то "безмозглый"
|
|||
109
se85
10.03.17
✎
10:51
|
(107) Не скромный вопрос, а ты все эти операции делаешь на тестовой базе или рабочей?!
|
|||
110
Georg68
10.03.17
✎
10:52
|
это какой-то "безмозглый"
Не спорю. В каждом деле должны быть профессионалы. Вы в моем деле тоже наверняка не шарите, а я ас )) Я и прошу помочь с формулой, а вы от меня много ожидаете просто )) |
|||
111
Georg68
10.03.17
✎
10:52
|
Макет ценника то можно на любой править
|
|||
112
Fedor-1971
10.03.17
✎
11:09
|
(107) замечтательно:
ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); ЦенаПродажи=глОкруглить(ВремЦена , 1); КопейкиПродажи=Прав(Строка(ЦенаПродажи-Цел(ЦенаПродажи)),2); // на случай если вздумаешь оставить копейки в Цене продажи СкидкаЦена=глОкруглить(Окр(ВремЦена-(ВремЦена*0.05)),2,1), 0.5); //отняли 5% и округлили до 50 коп. СкидкаКопейки=Прав(Строка(СкидкаЦена-Цел(СкидкаЦена)),2); // твои копейки Теперь соотноси в голове: в макете ты указал выражение в ячейке (не длинную формулу, а именно переменную, которую можешь заполнять любым способом, хоть двумя экранами кода). В процедуре заполнения макета просто вычисляешь нужное тебе значение (110) Нескромный вопрос: ас в чём? (торговля? металлообработка (зубофрезерные станки? Электроэррозионные станки? компрессорное оборудование?), экспедирование?, документооборот? - конфигурации делал, компрессоры - до уровня конструктора) Это типа я похвастался |
|||
113
Fedor-1971
10.03.17
✎
11:14
|
112+ Хотя немного не так, вот так
|
|||
114
Georg68
10.03.17
✎
11:22
|
Это в Модуль ставим? В начале можно?
А в Свойствах всё таки что оставляем? |
|||
115
Fedor-1971
10.03.17
✎
11:34
|
(114) код ставим после
ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); - если процедура глобальная, то ничего не заменяем, просто добавляем код. В свойствах ячейки макета как в (106) или по смыслу, где какая цифра должна быть - название заполненной переменной |
|||
116
Georg68
10.03.17
✎
12:04
|
Не могу понять я Вас , Федор. Переоцениваете мои способности всё же.
|
|||
117
Fedor-1971
10.03.17
✎
12:12
|
(116) Которая часть непонятна?
По макету: открываем свойства ячейки и вместо "бла-бла" пишем наименование переменной, например, открываем свойства ячейки, где должна быть цена продажи, всё чистим и пишем "ЦенаПродажи" и т.д. имена переменных известны из (113) По коду: ищем строку ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); и после неё вставляем (113) |
|||
118
Georg68
10.03.17
✎
12:17
|
ЦенаПродажи<<?>>
Переменная не определена (ЦенаПродажи) |
|||
119
Fedor-1971
10.03.17
✎
12:21
|
(118) информативно, это откуда?
|
|||
120
Georg68
10.03.17
✎
12:21
|
Это после изменений выдает при попытке вывести ценник
|
|||
121
Georg68
10.03.17
✎
12:22
|
В Свойствах пишу СкидкаКопейки ?
|
|||
122
Georg68
10.03.17
✎
12:24
|
Докум.ВыбратьСтроки();
Пока Докум.ПолучитьСтроку() = 1 Цикл Если ДокумВид = "ПереоценкаРозница" Тогда // пропускаем ТМЦ, где цена не менялась Если Докум.ЦенаСтарая = Докум.ЦенаНовая Тогда Продолжить; КонецЕсли; КонецЕсли; ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); ЦенаПродажи=глОкруглить(ВремЦена , 1); КопейкиПродажи=Прав(Строка(ЦенаПродажи-Цел(ЦенаПродажи)),2); // на случай если вздумаешь оставить копейки в Цене продажи ЦенаПродажи=Цел(ЦенаПродажи); СкидкаЦена=глОкруглить(Окр(ВремЦена-(ВремЦена*0.02),2,1), 0.5); //отняли 5% и округлили до 50 коп. СкидкаКопейки=Прав(Строка(СкидкаЦена-Цел(СкидкаЦена)),2); // твои копейки СкидкаЦена=Цел(СкидкаЦена); ПечРозн = глФРМ(ВремЦена); // печатаем по розничным ценам - поэтому глРубли |
|||
123
Fedor-1971
10.03.17
✎
12:27
|
(120) понятно, глФРМ(ВремЦена) - вот это выводит ценник или делает нечто другое?
где реализован вывод ценника? Вылаживай всю процедуру печати из модуля (121) Да для ячейки, где должны быть скидочные копейки |
|||
124
Georg68
10.03.17
✎
12:28
|
Перем ПечФирма;
Перем ПечРубли, ПечКопейки; //****************************************************************************** // ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) // // Параметры: // Таб - таблица, в которую выполняется вывод ценника // ПечНаименование - наименование ТМЦ // ПечЕдиница - единица измерения ТМЦ // ПечРозн - цена ТМЦ // Столбик - номер столбика. // Ряд - номер ряда // // Возвращаемое значение: // Нет. // // Описание: // Добавляет ценник в таблицу. // Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд,Производитель, ПечКод="") Экспорт Столбик = Столбик + 1; Колонка = ((Столбик - 1) % 3) + 1; Ряд = Цел(((Столбик - 1) % 5)/1) + 1; Если (Колонка = 1) И (Ряд = 1) И (Столбик > 1) Тогда Таб.НоваяСтраница(); КонецЕсли; Если Колонка = 1 Тогда Таб.ВывестиСекцию("Товар|Ценник"); Иначе Таб.ПрисоединитьСекцию("Товар|Ценник"); КонецЕсли; КонецПроцедуры // ДобавитьЦенник() //****************************************************************************** // Печать(Докум, Устройство=0, КолвоКопий=1) // // Параметры: // Докум - контекст выводимого документа (ПереоценкаРозница, ПоступлениеТМЦРозница), // Устройство - если 0, то вывод на экран, иначе - на принтер, // необязателен, по умолчанию - на экран, // КолвоКопий - количество копий, по умолчанию - 1. // // Возвращаемое значение: // Нет // // Описание: // Формирует таблицу с ценниками. // Процедура Печать(Докум, Устройство=0, КолвоКопий=1) ДокумВид = Докум.Вид(); Если ДокумВид = "ПереоценкаРозница" Тогда ИдРознЦена = "ЦенаНовая"; ИначеЕсли ДокумВид = "ПоступлениеТМЦРозница" Тогда ИдРознЦена = "РозничнаяЦена"; ИначеЕсли ДокумВид = "РеализацияРозница" Тогда ИдРознЦена = "Цена"; ИначеЕсли ДокумВид = "ПеремещениеТМЦ" Тогда Если Докум.СкладПолучатель.РозничныйСклад = 1 Тогда ИдРознЦена = "Цена"; Иначе Предупреждение("Нельзя печатать ценники при перемещении |ТМЦ на оптовый склад!", 60); Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; // Создание Таблицы для выходного отчета Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); ПечФирма = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование); Столбик = 0; Ряд = 0; Докум.ВыбратьСтроки(); Пока Докум.ПолучитьСтроку() = 1 Цикл Если ДокумВид = "ПереоценкаРозница" Тогда // пропускаем ТМЦ, где цена не менялась Если Докум.ЦенаСтарая = Докум.ЦенаНовая Тогда Продолжить; КонецЕсли; КонецЕсли; ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); ЦенаПродажи=глОкруглить(ВремЦена , 1); КопейкиПродажи=Прав(Строка(ЦенаПродажи-Цел(ЦенаПродажи)),2); // на случай если вздумаешь оставить копейки в Цене продажи ЦенаПродажи=Цел(ЦенаПродажи); СкидкаЦена=глОкруглить(Окр(ВремЦена-(ВремЦена*0.02),2,1), 0.5); //отняли 5% и округлили до 50 коп. СкидкаКопейки=Прав(Строка(СкидкаЦена-Цел(СкидкаЦена)),2); // твои копейки СкидкаЦена=Цел(СкидкаЦена); ПечРозн = глФРМ(ВремЦена); // печатаем по розничным ценам - поэтому глРубли // ((( dk 16/04/2013 ПечРубли = Цел(ВремЦена); ПечКопейки = Прав("00" + ((ВремЦена*100) % 100), 2); //сообщить("--------------------------------------------------------------------------------"); // Сообщить(ВремЦена); //сообщить(ПечКопейки); // dk ))) ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Докум.Номенклатура.Артикул), "")+"/"+Докум.Номенклатура.Код+"/"; ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд,СокрЛП(Докум.Номенклатура.СтранаПроисхождения)); глОживить(1); КонецЦикла; Если Устройство = 0 Тогда Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников"); Таб.ТолькоПросмотр(1); Таб.Показать("Товарные ценники",""); Иначе Таб.ПараметрыСтраницы(,,,,,,,,,1,,); Таб.КоличествоЭкземпляров(КолвоКопий); Таб.Напечатать(0); КонецЕсли; КонецПроцедуры // Печать() //****************************************************************************** // ПоКнопкеПечать() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // Кнопка "Печать" // // Описание: // Процедура ПоКнопкеПечать() Если Док.Выбран() = 0 Тогда Предупреждение("Не выбран документ!", 60); Возврат; КонецЕсли; Печать(Док); КонецПроцедуры // ПоКнопкеПечать() //****************************************************************************** // Предопределенная процедура // Процедура ПриОткрытии() Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Докум = Форма.Параметр.Получить("Контекст"); Устройство = Форма.Параметр.Получить("Устройство"); КолвоКопий = Форма.Параметр.Получить("КоличествоКопий"); Печать(Докум, Устройство, КолвоКопий); Статусвозврата(0); Возврат; КонецЕсли; КонецПроцедуры // ПриОткрытии() |
|||
125
Злопчинский
10.03.17
✎
12:28
|
помедленнее, я записываю!
|
|||
126
Fedor-1971
10.03.17
✎
12:40
|
(124)измени:
глФРМ(ВремЦена) - если это вычисление цены со скидкой, то СкидкаЦена=глОкруглить(глФРМ(ВремЦена),2,1), 0.5); Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд,Производитель, ПечКод="", ЦенаПродажи="", КопейкиПродажи="", СкидкаЦена="", СкидкаКопейки="") Экспорт ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд,СокрЛП(Докум.Номенклатура.СтранаПроисхождения), ЦенаПродажи, КопейкиПродажи, СкидкаЦена, СкидкаКопейки); и будет тебе счасце |
|||
127
Fedor-1971
10.03.17
✎
12:44
|
(125) стенограмма заседания совета профилактики безграмотности?
ТС реально далёк от программирования, круто вляпался пытаясь что-то исправить |
|||
128
Fedor-1971
10.03.17
✎
12:47
|
126+ вот так: СкидкаЦена=глОкруглить(глФРМ(ВремЦена), 0.5); Остались лишние параметры. Пока можешь не менять, отладь то что сейчас есть
|
|||
129
Georg68
10.03.17
✎
12:56
|
Нет счастья
{G:\1CBASES\DB\EXTFORMS\PRNFORMS\___ЦЕНА_6ШТ_2_СМЕСИ.ERT(127)}: Переменная не определена (Таб) Таб<<?>>.Напечатать(0); {G:\1CBASES\DB\EXTFORMS\PRNFORMS\___ЦЕНА_6ШТ_2_СМЕСИ.ERT(128)}: Переменная не определена (Таб) КонецЕсли;<<?>> {G:\1CBASES\DB\EXTFORMS\PRNFORMS\___ЦЕНА_6ШТ_2_СМЕСИ.ERT(129)}: Обнаружено логическое завершение исходного текста модуля |
|||
130
Fedor-1971
10.03.17
✎
12:59
|
(129) показывай код, что у тебя получилось
|
|||
131
Georg68
10.03.17
✎
12:59
|
А вот так
СкидкаЦена=глОкруглить(глФРМ(ВремЦена), 0.5); вот так КолвоИнтервал = Числ / Порядок; {Глобальный модуль(243)}: Операция деления не определена для строковых величин |
|||
132
Fedor-1971
10.03.17
✎
12:59
|
130+ опять где-то не поставил ";"
|
|||
133
Georg68
10.03.17
✎
13:00
|
Перем ПечФирма;
Перем ПечРубли, ПечКопейки; //****************************************************************************** // ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) // // Параметры: // Таб - таблица, в которую выполняется вывод ценника // ПечНаименование - наименование ТМЦ // ПечЕдиница - единица измерения ТМЦ // ПечРозн - цена ТМЦ // Столбик - номер столбика. // Ряд - номер ряда // // Возвращаемое значение: // Нет. // // Описание: // Добавляет ценник в таблицу. // Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд,Производитель, ПечКод="", ЦенаПродажи="", КопейкиПродажи="", СкидкаЦена="", СкидкаКопейки="") Экспорт Столбик = Столбик + 1; Колонка = ((Столбик - 1) % 3) + 1; Ряд = Цел(((Столбик - 1) % 5)/1) + 1; Если (Колонка = 1) И (Ряд = 1) И (Столбик > 1) Тогда Таб.НоваяСтраница(); КонецЕсли; Если Колонка = 1 Тогда Таб.ВывестиСекцию("Товар|Ценник"); Иначе Таб.ПрисоединитьСекцию("Товар|Ценник"); КонецЕсли; КонецПроцедуры // ДобавитьЦенник() //****************************************************************************** // Печать(Докум, Устройство=0, КолвоКопий=1) // // Параметры: // Докум - контекст выводимого документа (ПереоценкаРозница, ПоступлениеТМЦРозница), // Устройство - если 0, то вывод на экран, иначе - на принтер, // необязателен, по умолчанию - на экран, // КолвоКопий - количество копий, по умолчанию - 1. // // Возвращаемое значение: // Нет // // Описание: // Формирует таблицу с ценниками. // Процедура Печать(Докум, Устройство=0, КолвоКопий=1) ДокумВид = Докум.Вид(); Если ДокумВид = "ПереоценкаРозница" Тогда ИдРознЦена = "ЦенаНовая"; ИначеЕсли ДокумВид = "ПоступлениеТМЦРозница" Тогда ИдРознЦена = "РозничнаяЦена"; ИначеЕсли ДокумВид = "РеализацияРозница" Тогда ИдРознЦена = "Цена"; ИначеЕсли ДокумВид = "ПеремещениеТМЦ" Тогда Если Докум.СкладПолучатель.РозничныйСклад = 1 Тогда ИдРознЦена = "Цена"; Иначе Предупреждение("Нельзя печатать ценники при перемещении |ТМЦ на оптовый склад!", 60); Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; // Создание Таблицы для выходного отчета Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); ПечФирма = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование); Столбик = 0; Ряд = 0; Докум.ВыбратьСтроки(); Пока Докум.ПолучитьСтроку() = 1 Цикл Если ДокумВид = "ПереоценкаРозница" Тогда // пропускаем ТМЦ, где цена не менялась Если Докум.ЦенаСтарая = Докум.ЦенаНовая Тогда Продолжить; КонецЕсли; КонецЕсли; ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена); ЦенаПродажи=глОкруглить(ВремЦена , 1); КопейкиПродажи=Прав(Строка(ЦенаПродажи-Цел(ЦенаПродажи)),2); // на случай если вздумаешь оставить копейки в Цене продажи ЦенаПродажи=Цел(ЦенаПродажи); СкидкаЦена=глОкруглить(глФРМ(ВремЦена), 0.2); //отняли 5% и округлили до 50 коп. СкидкаКопейки=Прав(Строка(СкидкаЦена-Цел(СкидкаЦена)),2); // твои копейки СкидкаЦена=Цел(СкидкаЦена); ПечРозн = глФРМ(ВремЦена); // печатаем по розничным ценам - поэтому глРубли // ((( dk 16/04/2013 ПечРубли = Цел(ВремЦена); ПечКопейки = Прав("00" + ((ВремЦена*100) % 100), 2); //сообщить("--------------------------------------------------------------------------------"); // Сообщить(ВремЦена); //сообщить(ПечКопейки); // dk ))) ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Докум.Номенклатура.Артикул), "")+"/"+Докум.Номенклатура.Код+"/"; ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд,СокрЛП(Докум.Номенклатура.СтранаПроисхождения), ЦенаПродажи, КопейкиПродажи, СкидкаЦена, СкидкаКопейки); глОживить(1); КонецЦикла; Если Устройство = 0 Тогда Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников"); Таб.ТолькоПросмотр(1); Таб.Показать("Товарные ценники",""); Иначе Таб.ПараметрыСтраницы(,,,,,,,,,1,,); Таб.КоличествоЭкземпляров(КолвоКопий); Таб.Напечатать(0); КонецЕсли; КонецПроцедуры // Печать() //****************************************************************************** // ПоКнопкеПечать() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // Кнопка "Печать" // // Описание: // Процедура ПоКнопкеПечать() Если Док.Выбран() = 0 Тогда Предупреждение("Не выбран документ!", 60); Возврат; КонецЕсли; Печать(Док); КонецПроцедуры // ПоКнопкеПечать() //****************************************************************************** // Предопределенная процедура // Процедура ПриОткрытии() Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Докум = Форма.Параметр.Получить("Контекст"); Устройство = Форма.Параметр.Получить("Устройство"); КолвоКопий = Форма.Параметр.Получить("КоличествоКопий"); Печать(Докум, Устройство, КолвоКопий); Статусвозврата(0); Возврат; КонецЕсли; КонецПроцедуры // ПриОткрытии() |
|||
134
Fedor-1971
10.03.17
✎
14:40
|
(131) тогда засада,
делай так СкидкаЦена=глОкруглить(Число(глФРМ(ВремЦена)), 0.5); или верни назад то что было (133) по коду ошибки не видно, кликни в конфигураторе по тексту ошибки и увидишь где она |
|||
135
Georg68
10.03.17
✎
14:44
|
Вооот. Пальцев то было у всех, а уж если профи умывают руки, нефиг на простого юзера наезжать ))
|
|||
136
Масянька
10.03.17
✎
14:46
|
Я-то думала, что уже всё работает...
|
|||
137
Fedor-1971
10.03.17
✎
14:47
|
(135) о как простой юзер, ты откуда взял текст ошибки?
|
|||
138
Fedor-1971
10.03.17
✎
14:48
|
137+ или предлагаешь угадать что в твоём коде строка 127?
|
|||
139
Georg68
10.03.17
✎
14:50
|
Чего уж я ошибку скопировать не могу.
|
|||
140
Georg68
10.03.17
✎
14:51
|
Ничего не работает, возвращаюсь первоначальному варианту, там хоть до рубля округлял.
|
|||
141
Fedor-1971
10.03.17
✎
14:52
|
(140) ну это как знаешь. Так и не ответил где вылезла ошибка в конфигураторе или в пользовательском режиме
|
|||
142
Georg68
10.03.17
✎
14:53
|
В пользовательском, когда на печать вывожу
|
|||
143
Масянька
10.03.17
✎
14:55
|
(135) Профи (это не про меня) - не умывают руки. Просто сложно "на пальцах" объяснять.
Если есть TeamViewer - давай, пока есть время. |
|||
144
Fedor-1971
10.03.17
✎
14:55
|
(142) и не даёт возможности щёлкнуть по ошибке? Чай обманываешь, ученик.
|
|||
145
Georg68
10.03.17
✎
14:57
|
Есть ТИМ
|
|||
146
Georg68
10.03.17
✎
14:57
|
Готовы?
|
|||
147
Fedor-1971
10.03.17
✎
14:59
|
(146) давай ID и Пароль
|
|||
148
Fedor-1971
10.03.17
✎
15:00
|
(147) есть 10 минут
|
|||
149
Georg68
10.03.17
✎
15:03
|
477 396 503
|
|||
150
Georg68
10.03.17
✎
15:03
|
a4k3m4
|
|||
151
Georg68
10.03.17
✎
15:04
|
2 монитора
|
|||
152
Fedor-1971
10.03.17
✎
15:04
|
(151) ща обновлюсь
|
|||
153
Fedor-1971
10.03.17
✎
15:06
|
869 320 753 добавь в белый список
|
|||
154
Georg68
10.03.17
✎
15:07
|
и так пройдет
|
|||
155
Fedor-1971
10.03.17
✎
15:08
|
(154) "Вы находитесь в чёрном списке этого партнёра или не входите в белый список"
|
|||
156
Fedor-1971
10.03.17
✎
15:10
|
уже вернул?
|
|||
157
Georg68
10.03.17
✎
15:10
|
угу
|
|||
158
Fedor-1971
10.03.17
✎
15:11
|
ладно, чего не хватает в таком раскладе?
|
|||
159
Georg68
10.03.17
✎
15:12
|
округление в минус до рубля
хот елось бы до 50коп |
|||
160
Масянька
10.03.17
✎
15:15
|
(147) Вот чего раньше молчал?
|
|||
161
Fedor-1971
10.03.17
✎
15:18
|
тут надо копейки?
|
|||
162
Georg68
10.03.17
✎
15:18
|
до 50коп
|
|||
163
Fedor-1971
10.03.17
✎
15:25
|
пробуй
|
|||
164
Fedor-1971
10.03.17
✎
15:40
|
Держи и радуйся, 15 минут
|
|||
165
Fedor-1971
10.03.17
✎
15:40
|
с наведением красоты
|
|||
166
Georg68
10.03.17
✎
15:41
|
Математически округляет сейчас.
Ну фиг с ним |
|||
167
Fedor-1971
10.03.17
✎
15:42
|
(166) а как тебе нужно?
|
|||
168
Georg68
10.03.17
✎
15:42
|
в меньшую сторону
|
|||
169
Georg68
10.03.17
✎
15:43
|
в первом топике написал
|
|||
170
Georg68
10.03.17
✎
15:43
|
да ладно
|
|||
171
Georg68
10.03.17
✎
15:44
|
номер телефона или карточку для дотации можно?
|
|||
172
Fedor-1971
10.03.17
✎
15:46
|
(171) В РБ тебе золотой платёж будет
тогда так СкидкаКопейки=?(СкидкаКопейки > 50, 50, 0); |
|||
173
Fedor-1971
10.03.17
✎
15:47
|
Сам модернизируешь или показать?
|
|||
174
Fedor-1971
10.03.17
✎
16:03
|
173 Только, Бога ради, в модуле, а не в ячейке печатной формы
|
|||
175
Georg68
10.03.17
✎
16:05
|
вот эту строку изменить?
СкидкаКопейки=?(СкидкаКопейки=0,"00",Строка(СкидкаКопейки)); |
|||
176
Fedor-1971
10.03.17
✎
16:07
|
(175) да, СкидкаКопейки=?(СкидкаКопейки >= 50, "50", "00");
|
|||
177
Georg68
10.03.17
✎
16:13
|
только <= надо знак
|
|||
178
Georg68
10.03.17
✎
16:15
|
Всё равно он непонятно считает, но с процентами всегда так
|
|||
179
azernot
10.03.17
✎
16:25
|
Функция ОкруглитьДО(ИсходноеЧисло, РазрядОкругления = 0.5, РежимОкругления = 3);
ОстатокОтДеления = ИсходноеЧисло % РазрядОкругления; Если РежимОкругления = 1 Тогда //Обычный по мат. правилам Результат = ИсходноеЧисло - ?(ОстатокОТДеления>=(РазрядОкругления/2), -РазрядОкругления + ОстатокОТДеления, ОстатокОТДеления); ИначеЕсли РежимОкругления = 2 Тогда //Обычный по мат. правилам, 0.5 округляется в меньшую сторону Результат = ИсходноеЧисло - ?(ОстатокОТДеления>(РазрядОкругления/2), -РазрядОкругления + ОстатокОТДеления, ОстатокОТДеления); ИначеЕсли РежимОкругления = 3 Тогда //В меньшую сторону Результат = ИсходноеЧисло - ОстатокОтДеления; ИначеЕсли РежимОкругления = 4 Тогда //В большую сторону Результат = ИсходноеЧисло - ОстатокОтДеления + РазрядОкругления; КонецЕсли; Возврат Результат; КонецФункции |
|||
180
Fedor-1971
10.03.17
✎
16:48
|
(177) в таком варианте 205,2 = 205,50, а 205,52 = 205,00 как-то гнутенько и даже близко на округление не похоже.
Там где идёт вычисление СкидкаКопейки замени 0,5 на 0,01 и получишь цену округлённую до копеек, дальше строка из (176) |
|||
181
Fedor-1971
10.03.17
✎
16:55
|
180 не, исправляй в вычислении СкидкаЦена, там есть округление до 0,5
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |