Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Увеличение разрядности в печатной форме стандартной обработки "Прайс-Лист""
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Maxymoff
Всем доброго времени суток господа, або панове, якщо господа усі в Россії))
1С 7.7 релиз 27 стандартная конфигурация ABBY "Торговля и склад"
Не исключено что вопрос мой задавался и не раз, но то-ли мозгов не хватает как сформировать человеческий запрос для поиска то-ли с лыжами что-то)) Потому заранее прошу прощения за повтор, если таковой состоялся.

Стандартная обработка "прайс-лист" после небольшой доработки (добавление полей для вывода в прайс) устраивает, проблема в следующем, существует несколько типов цен для постоянных клиентов +розница ,в обработке есть возможность выбрать необходимую для вывода в прайс, цена в базе хранится в американском вечно-зеленом, с четырьмя нулями после запятой при выводе прайса в гривне проблем с подсчетом третьего и четвертого знака нет а тысячные и десятитысячные в гривне просто не нужны, но при выводе прайса в валюте с последующим сохранением в эксель нужны именно 4 знака, так как значения после второго просто игнорируются , есть конечно простое решение - вывести гривну, а уже в экселе снова поделить на курс, и выставить необходимую разрядность, но думаю что и в 1С есть не менее простое решение, просто надо знать где поправить. Хотелось бы избежать лишних манипуляций, так как это множит вероятности ошибок
Помогите советом , излазил обработку и ее код вдоль и поперек, найти нужное не могу, и программист и конфигуратор 1С я никакой, хотя сами принципы программирования понимаю. Заранее благодарю за любой совет.
Maxymoff
Maxymoff @ Сегодня, 16:05 необходимо зарегистрироваться для просмотра ссылки ,
Забыл указать, печатная форма прайса, содержит 2 знака после запятой, при любой валюте и любом типе цены, необходим совет, как увеличить количество знаков после зяпятой до четырех
denis84
Maxymoff @ Сегодня, 18:28 необходимо зарегистрироваться для просмотра ссылки ,
А что мешает в печатной форме поставить 4 знака после запятой? Или у Вас вопрос в другом?
Maxymoff
denis84 @ Вчера, 20:24 необходимо зарегистрироваться для просмотра ссылки ,

вот именно ее(печатную форму) я и не могу найти, с документами видел советы, там вроде бы все просто, но это же обработка, которая сама выводит печатную форму, и там где она обычно лежит у документа ее нету
CobraS
Maxymoff @ Вчера, 18:28 необходимо зарегистрироваться для просмотра ссылки ,
Я для своих клиентов, которые любят скрещивать отчеты 1С и Excel, добавляю на форму примерно вот такие прибамбасы:



Но если Вы программист - "никакой", то лучше в необходимо зарегистрироваться для просмотра ссылки или пишите в личку.
Maxymoff
CobraS @ Сегодня, 9:34 необходимо зарегистрироваться для просмотра ссылки ,
Извините, не совсем понял, для того чтобы обработка вывела то, что собственно и так есть в базе надо программировать?? Как все запущено)) Прибамбас конечно хороший ,но в нем нет необходимости,



вот так выглядит форма , <ПечЦена> ЕСЛИ Я ПРАВИЛЬНО ПОНИМАЮ , это вызов функции и именно она и ставит в печатную форму цену которая получилась у нее умножением учетной цены на коэффициент переданный ей как параметр(тип цены) и вывод насильно ограничили двумя знаками, я думал надо просто стереть этот ограничитель из кода и все...
mut
Maxymoff @ Сегодня, 10:09 необходимо зарегистрироваться для просмотра ссылки ,
в ТиС формат цены "зашит" в глобальной функции глФМТ(), там прописано 2 знака. Или там правь, но это на все отчеты повлияет или в коде обработки ПечатьПрайсЛиста которая формирует переменную ПечЦена.
...покусано...
                        ТипЦены = МФКатЦены.ПолучитьЗначение(Индекс).ТекущийЭлемент();
            Если Цена.НайтиПоРеквизиту("КатегорияЦены",ТипЦены,0)<=0 Тогда
                ПечЦена = "";
            Иначе
                
                Если ПечатьВФиксВалюте=0 Тогда
                    Валюта = Цена.Валюта;
                КонецЕсли;
                
                Если ПечатьВФиксЕдиницах=0 Тогда
                    Единица = Цена.Единица;
                КонецЕсли;    
                
                ЧЦена = Цена.Цена;
                Если Единица<>Цена.Единица Тогда
                    ЧЦена = ?(Цена.Единица.Коэффициент = 0,ЧЦена * Единица.Коэффициент / 1,ЧЦена * Единица.Коэффициент / Цена.Единица.Коэффициент);
                КонецЕсли;    
                ЧЦена = глПересчет(ЧЦена,Цена.Валюта,РабочаяДата(),Валюта,РабочаяДата());
//вот тут
                ПечЦена = СокрЛП(глФРМ(ЧЦена,Валюта,?(ПечатьВФиксВалюте=0,1,0)))+?(ПечатьВФиксЕдиницах=0," / "+СокрЛП(Строка(Единица)),"");
            КонецЕсли;    
            
            Таб.ПрисоединитьСекцию("Товар|Цена");
...покусано...
Maxymoff
Maxymoff @ Сегодня, 10:09 необходимо зарегистрироваться для просмотра ссылки ,
Фух ,вопрос закрыт)) может кому пригодится, пока Вам написал предидущий пост, примерно понял что надо сделать)) ни хрена не понимаю в коде 1С тем не менее полез в модуль поискал ПечЦена - сразу же нашел:

ПечЦена = "";
            Иначе
                
                Если ПечатьВФиксВалюте=0 Тогда
                    Валюта = Цена.Валюта;
                КонецЕсли;
                
                Если ПечатьВФиксЕдиницах=0 Тогда
                    Единица = Цена.Единица;
                КонецЕсли;    
                
                ЧЦена = Цена.Цена;
                Если Единица<>Цена.Единица Тогда
                    ЧЦена = ?(Цена.Единица.Коэффициент = 0,ЧЦена * Единица.Коэффициент / 1,ЧЦена * Единица.Коэффициент / Цена.Единица.Коэффициент);
                КонецЕсли;    
                ЧЦена = глПересчет(ЧЦена,Цена.Валюта,РабочаяДата(),Валюта,РабочаяДата());
ПечЦена = СокрЛП(Формат(глФРМ(ЧЦена,Валюта,?(ПечатьВФиксВалюте=0,1,0)),"Ч015.2"))+?(ПечатьВФиксЕдиницах=0," / "+СокрЛП(Строка(Единица)),"");
            КонецЕсли;



Параметр "Ч015.2" показался мне подозрительным , делаю предположение что это цвет шрифта, размер наверное и хрень после точки количество символов, меняю 2 на 4, сохраняю..... Вуаля, все работает,так как и предполагалось... Именно такой совет я и искал. Когда -то (Ш)кодил на си с плюсами, когда то на яве, знаю азы этих двух языков , оказывается этого достаточно чтобы разобраться в совершенно незнакомом коде, казалось бы для гуру это воспрос щелчка пальцев.....

В общем Всем спасибо за помощь, равно как и за ее отсутствие))

mut @ Сегодня, 10:21 необходимо зарегистрироваться для просмотра ссылки ,
Большое спасибо, додумался сам, спасибо за помощь

Maxymoff @ Сегодня, 10:41 необходимо зарегистрироваться для просмотра ссылки ,
Пы.Сы. разве что затупмл немного, назвал переменную функцией , хотя глянув в код и увидев ПечЦена с оператором присвоения "=" можно было это сразу понять)) Еще раз Спасибо Всем за помощь и за "зарядку-разминку" для мозгов))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.