Помогите решить проблему, для счета нам нужна сумма без копеек. В товарах сумма округляеться до рубля, без скидки все замечательно, коппек нет, как только ставлю скидку то появляються копейки, при чем их не возможно округлить до рубля если кол-во уп. больше 1, т. к. не делиться, в версии 7.7 с этим проблем не было. Подскажите где что править в конфигурации. Конфигурация типовая УТ 10.3
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Я бы написал бы обработку по технологии заполнения табличных частей документов, которая бы округляла бы суммы в документе и пересчитывала бы НДС. У этого метода есть недостаток - при изменении числовых данных в табличной части, обработку производить повторно.
вернее я сделал не так, я зашел в конфигуратор/документы/реализация товаров и услуг/реквизиты/сумма документа/свойства/точность=0
но это изменило все суммы в справочнике, а при печати сумма с копйеками осталась, как добиться именно чтобы было так при печати?
но это изменило все суммы в справочнике, а при печати сумма с копйеками осталась, как добиться именно чтобы было так при печати?
(9) Kutnor, а вообще, я бы на вашем месте сделал немного иначе. Вдруг в дальнейшем копейки понадобятся? Я бы сделал подписку при записи документа, в котором вызывал сообщение: "Округлить?", если пользователь нажимает да, берем реквизит и откидываем копейки. Так и документ не тронем и задача будет выполняться.
(11) A.Sytchev, очень красиво звучит, вообще это идеальное решение, потому что иногда действительно копейки будут нужны если например отпускать товар в у.е.
Но как то сделать. Сказать то легко, помогите сделать, я не программист а админ, подскажите куда и что вписать. Буду очень благодарен.
Но как то сделать. Сказать то легко, помогите сделать, я не программист а админ, подскажите куда и что вписать. Буду очень благодарен.
Я добавила в ряд документов реквизит "Округлять копейки", прописала порядок его заполнения, и в общем модуле при расчете сумм строк на него ориентировалась. Это дело не 5 минут, конечно, да и УТ я не планирую обновлять штатными обновлениями. Вряд ли можно объяснить не программисту как все это сделать. Что касается варианта с подписками - а если программно перезаписывать документы, например, при перепроведении, вы представляете, как весело будет?
(13) Шапокляк, я тоже не планирую обновлять УТ. Можно хоть на примере одного документа реализация показать, как и что делать, как вообще добавить реквизит "Округлять копейки"? я добавил в документы/реализация товаров/реквизиты/ дал наименование, что еще там нужно натсроить что писать в поле тип? число?, если Вы уже так сделали напишите пожалуйста как и что у Вас работает.Я не программист но голова на плечах есть, сам уже много чего реализовал в этой конфе.
Реквизит типа Булево. В заказе покупателя, в реализации, возврате от покупателя и в корректировке заказа покупателя. Соответственно, в реализацию при заполнении на основании он попадает из заказа. В заказе выведена кнопка в панели ТЧ Товары, при нажатии на которую копейки округляются или наоборот и перезаполняется реквизит Округлять копейки. Надпись на кнопке меняется и принимает значение "С копейками" и "Без копеек" - рюшечки в виде подсказки пользователю что будет, если он нажмет на кнопку.
вот примерно то, что на кнопке
Процедура ОкруглятьСкидкиПриИзменении(Элемент)
//Сообщить(ОкруглятьСкидки);
ОкруглятьКопейки= Не ОкруглятьКопейки;
ОкрСкидки=ОкруглятьКопейки;
Если ОкрСкидки Тогда
Парам=1;
Иначе
Парам=0;
Конецесли;
Для КАждого СтрокаТабличнойЧасти Из Товары Цикл
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти,ЭтотОбъект);
КонецЦикла;
КонецПроцедуры
в общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен последний параметр, который обрабатывается следующим образом:
Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено,ЧекККМ=0) Экспорт
МетаданныеДокумента = ДокументОбъект.Метаданные();
//Округлять копейки
Если ОбщегоНазначения.ЕстьРеквизитДокумента("ОкруглятьКопейки", МетаданныеДокумента) Тогда
ЧекККМ=Макс(ЧекККМ,ДокументОбъект.ОкруглятьКопейки);
КонецЕсли;
ИмяТабличнойЧасти = ОбщегоНазначения.ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти);
МетаданныеДокумента = ДокументОбъект.Метаданные();
Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество;
СуммаСкидки = 0;
Если (СпособРасчета = Неопределено)
Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.СУчетомВсехСкидок)
Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки) Тогда
Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентАвтоматическихСкидок", МетаданныеДокумента,
ИмяТабличнойЧасти) Тогда
СуммаСкидки = Сумма * СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок / 100;
КонецЕсли;
Если (СпособРасчета <> Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки)Тогда
Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
Если ЧекККМ=0 Тогда
СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100);
Иначе
СуммаСкидки = ОКР(СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100),0);
Конецесли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки;
КонецПроцедуры // РассчитатьСуммуТабЧасти()
заранее прошу прощения за некоторую непричесанность кода.
вот примерно то, что на кнопке
Процедура ОкруглятьСкидкиПриИзменении(Элемент)
//Сообщить(ОкруглятьСкидки);
ОкруглятьКопейки= Не ОкруглятьКопейки;
ОкрСкидки=ОкруглятьКопейки;
Если ОкрСкидки Тогда
Парам=1;
Иначе
Парам=0;
Конецесли;
Для КАждого СтрокаТабличнойЧасти Из Товары Цикл
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти,ЭтотОбъект);
КонецЦикла;
КонецПроцедуры
в общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен последний параметр, который обрабатывается следующим образом:
Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено,ЧекККМ=0) Экспорт
МетаданныеДокумента = ДокументОбъект.Метаданные();
//Округлять копейки
Если ОбщегоНазначения.ЕстьРеквизитДокумента("ОкруглятьКопейки", МетаданныеДокумента) Тогда
ЧекККМ=Макс(ЧекККМ,ДокументОбъект.ОкруглятьКопейки);
КонецЕсли;
ИмяТабличнойЧасти = ОбщегоНазначения.ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти);
МетаданныеДокумента = ДокументОбъект.Метаданные();
Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество;
СуммаСкидки = 0;
Если (СпособРасчета = Неопределено)
Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.СУчетомВсехСкидок)
Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки) Тогда
Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентАвтоматическихСкидок", МетаданныеДокумента,
ИмяТабличнойЧасти) Тогда
СуммаСкидки = Сумма * СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок / 100;
КонецЕсли;
Если (СпособРасчета <> Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки)Тогда
Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
Если ЧекККМ=0 Тогда
СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100);
Иначе
СуммаСкидки = ОКР(СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100),0);
Конецесли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки;
КонецПроцедуры // РассчитатьСуммуТабЧасти()
заранее прошу прощения за некоторую непричесанность кода.
Огромное Вам спасибо за помощь, мы заказы не делаем, мы тут же накладные, а из них на основании счет если нужен.
Значит мне нужно эту кнопку сделать в реализации.
1)Я добавил реквизит ОкруглятьКопейки с типом Булево, больше ничего не менял. Или нужно еще там поставить формат точность = 0? Или еще чего нужно менять?
2)Куда вставить выше приведенный код? в существующий модуль? Или нужно сделать новый? Помогите пожалуйста пошагово разьясните, очень нужная функция, в интернете много кто сталкивался с этой проблемой так и не решив ее. Я думаю многим будет полезна Ваша инструкция. Заранее спасибо.
Значит мне нужно эту кнопку сделать в реализации.
1)Я добавил реквизит ОкруглятьКопейки с типом Булево, больше ничего не менял. Или нужно еще там поставить формат точность = 0? Или еще чего нужно менять?
2)Куда вставить выше приведенный код? в существующий модуль? Или нужно сделать новый? Помогите пожалуйста пошагово разьясните, очень нужная функция, в интернете много кто сталкивался с этой проблемой так и не решив ее. Я думаю многим будет полезна Ваша инструкция. Заранее спасибо.
Я даже не знаю, что еще конкретизировать? Реквизит в документ, кнопку в форму. Если тип Булево, то какая там точность? Поиграйтесь с кнопкой, чтоб она меняла реквизит, а в зависимости от реквизита организуйте по-разному пересчет в общем модуле суммы в строке документа.
(17) Шапокляк, я правильно понял: для того чтобы округлить копейки в документе вы предлагаете типовой модуль править? Делать нужно через подписку, если не нравится выскакивающее сообщение - добавить либо доп. реквизит "Округлять" - это чтобы совсем красиво, либо просто реквизит и флаг на форму.
(17) Шапокляк, так хорошо, давайте по порядку:
1) кнопку создал в форме документа и дал имя ДействиеОкруглитьКопейки, что нужно ставить в поле действие?
2) реквизит ОкруглятьКопейки тоже создал, тип Булево.
3) куда вставлять выше приведенный код?
4) что делать дальше?
1) кнопку создал в форме документа и дал имя ДействиеОкруглитьКопейки, что нужно ставить в поле действие?
2) реквизит ОкруглятьКопейки тоже создал, тип Булево.
3) куда вставлять выше приведенный код?
4) что делать дальше?
А что, типовой модуль это Святой Грааль какой-то? В конце концов, если не хотите типовой править - свой сделайте и переопределите нужные процедуры, чтобы они его использовали. Куча вариантов и без этого: 1 - реквизит либо допреквизит документа и обрабатывайте редактирование строки как вам нужно, как быть с программным перезаполнением, если такое будет - сами решайте; 2- подписка и все равно - реквизит либо допреквизит документа, в этом случае надо смириться с тем, что при записи документа сумма несколько поменяется.
в стандартных конфигурациях округлять до какого то предела можно только в ценах.
если это расходная накладная и цены берутся из установки цен, тогда для этого типа цен установить нужное округление.
и для суммы документа - в установке реквизита суммы документа (обычно это в модуле документа при записи или перед записью) оькруглить до целых а остаток вычесть с последней строки ТЧ или раскидать по суммам ТЧ
если это расходная накладная и цены берутся из установки цен, тогда для этого типа цен установить нужное округление.
и для суммы документа - в установке реквизита суммы документа (обычно это в модуле документа при записи или перед записью) оькруглить до целых а остаток вычесть с последней строки ТЧ или раскидать по суммам ТЧ
я писал Выше что цены откругляються до рубля, но при скидке опять получаются копейки,в ТИС 7.7 ред. 9.2 это делали в ручную изменяли копейки в какой либо позиции и проблем не было. сейчас допусти есть в накладной 3 товара:
1 по 389 р. кол-во 82
2 по 670 р. кол-во 56
3 по 500 р. кол-во 22
скидка 5%
в итоге сумма получается 78 197,52 р.
округляю до ноля выходит 98 и ничего тут не поделать, так вот как в такой ситуации округялть до рубля?
1 по 389 р. кол-во 82
2 по 670 р. кол-во 56
3 по 500 р. кол-во 22
скидка 5%
в итоге сумма получается 78 197,52 р.
округляю до ноля выходит 98 и ничего тут не поделать, так вот как в такой ситуации округялть до рубля?
Так вот Вы все пишите это поставь, или это. Где поставить? В каком файле править? Я не программист 1С я только учусь. И что мне даст ЧЦ = 15 сумма документа 15 цифр? мне кажеться проще поставть ЧДЦ = 0, но где это поставить? в каком файле, в документа/реализация/сумма документа пробовал править, не получаеться. И опять таки делательно чтобы не просто отнимались копейки а округлялись. Где это все менять, какой файл за это отвечает?
(27) Kutnor,
1. Я думаю, что если вы только учитесь, то сначала надо бы выучить основу программирования на 1С, есть хорошие видео-курсы/книги, иначе вы не поймете что вам тут советуют.
2. Тут не совсем понятно что имеется ввиду под округлением до рубля? математическое округление, в большую сторону или просто отбросить копейки?
3. Не совсем понятно для чего? только для печатной формы или же что б документ хранил округленную сумму?
1. Я думаю, что если вы только учитесь, то сначала надо бы выучить основу программирования на 1С, есть хорошие видео-курсы/книги, иначе вы не поймете что вам тут советуют.
2. Тут не совсем понятно что имеется ввиду под округлением до рубля? математическое округление, в большую сторону или просто отбросить копейки?
3. Не совсем понятно для чего? только для печатной формы или же что б документ хранил округленную сумму?
(29) Sevens, 1) ну я не планирую дальше заниматься 1С вплотную. Поэтому зачем мне учить основы програмирования 1С.
Мне просто нужно решить даную задачу.
2) округление желательно математическое, от есть 51 копейка это рубль, а 49 копеек это 0 рублей.
3) вообще нужно для того чтобы клиенту отсылался счет без копеек и чтобы потом в бухгалтерии проблем не было.
поскольку счет мы копируем из реализации то я и прошу сделать реализацию.
Можно конечно просто в печатной форме убрать копейки. Но в каком файле это сделать?
4)Если у Вас есть вариант лучший подскажите Ваш вариант.
Мне просто нужно решить даную задачу.
2) округление желательно математическое, от есть 51 копейка это рубль, а 49 копеек это 0 рублей.
3) вообще нужно для того чтобы клиенту отсылался счет без копеек и чтобы потом в бухгалтерии проблем не было.
поскольку счет мы копируем из реализации то я и прошу сделать реализацию.
Можно конечно просто в печатной форме убрать копейки. Но в каком файле это сделать?
4)Если у Вас есть вариант лучший подскажите Ваш вариант.
(30) Kutnor,
Это нужно сделать не в файле, а в конфигурации.
(31) Kutnor,
У меня ответ сразу на все вопросы: обратитесь к франчу, или к кому-то из форумян. За очень небольшие деньги - решат Вашу проблему. В силу отсутствия базовых понятий - Вы задаете вопросы, которые сбивают с толку людей, которые пытаются Вам помочь.
Это нужно сделать не в файле, а в конфигурации.
(31) Kutnor,
У меня ответ сразу на все вопросы: обратитесь к франчу, или к кому-то из форумян. За очень небольшие деньги - решат Вашу проблему. В силу отсутствия базовых понятий - Вы задаете вопросы, которые сбивают с толку людей, которые пытаются Вам помочь.
я может не правильно выразился, я и имею ввиду конфигурацию, в конфигурации есть иерархия, ну там папки/подпапки, где есть модули и документы, там реквизиты и прочее. так вот где что поменять, может кто нибудь подсказать где копать в этой иерархии.
Я сам без опыта собрал сервер,настроил его, перекинул всю информацию из 7.7 на 8.2 а тут за такой мелочью как убрать копейки я буду к программситу обращаться? Я вообще удивляюсь почему 1С это не сделала в типовой конфигурации, почему все через одно место.
Я сам без опыта собрал сервер,настроил его, перекинул всю информацию из 7.7 на 8.2 а тут за такой мелочью как убрать копейки я буду к программситу обращаться? Я вообще удивляюсь почему 1С это не сделала в типовой конфигурации, почему все через одно место.
(34) Kutnor,
ИМХО - Вам стоит определиться:
или
Если Вы хотите, чтобы Вам дали готовый код и ткнули пальцем куда его вставить - доставайте кошелек.
Если Вы хотите делать сами, доставайте книгу.
>может кто нибудь подсказать где копать в этой иерархии.
Копать нужно в процедуре подсчета итоговой суммы документа.
ИМХО - Вам стоит определиться:
1) ну я не планирую дальше заниматься 1С вплотную. Поэтому зачем мне учить основы програмирования 1С.
или
Я сам без опыта собрал сервер,настроил его, перекинул всю информацию из 7.7 на 8.2 а тут за такой мелочью как убрать копейки я буду к программситу обращаться?
Если Вы хотите, чтобы Вам дали готовый код и ткнули пальцем куда его вставить - доставайте кошелек.
Если Вы хотите делать сами, доставайте книгу.
>может кто нибудь подсказать где копать в этой иерархии.
Копать нужно в процедуре подсчета итоговой суммы документа.
Ясно спасибо, мне тут значит никто не поможет. Я понимаю что программистам тоже питаться нужно, но я ради такой мелочи не буду никого нанимать, тем более что я сисадмин, а делаю все это для работы чтобы облегчить жизнь работникам.
(36) Kutnor,
Почему? Может и помогут, но просто ИМХО - спрашивать больше, чем Вам уже разжевали - грех.
Без опыта? Или сисадмин? Или на должности сисадмина, но опыта нет?
Тогда - Вы наверное и на должности программиста 1С. :)
Ясно спасибо, мне тут значит никто не поможет.
Почему? Может и помогут, но просто ИМХО - спрашивать больше, чем Вам уже разжевали - грех.
тем более что я сисадмин,
Я сам без опыта собрал сервер,настроил его, перекинул всю информацию из 7.7 на 8.2
Без опыта? Или сисадмин? Или на должности сисадмина, но опыта нет?
Тогда - Вы наверное и на должности программиста 1С. :)
(37) ant1773, ну сисадмина нет, и мне приходиться выполнить его функции, так как я самый башкавитый в этой теме.
Я говорил что у меня не было опыта установки сервака, 1С 8.2 sql и настройки всей этой приблуды. Hаньше работали на 1С 7.7 файловой, было намного проще, но знаменитая проблема второго пользователя заставила нас перейти на 8.2
Я говорил что у меня не было опыта установки сервака, 1С 8.2 sql и настройки всей этой приблуды. Hаньше работали на 1С 7.7 файловой, было намного проще, но знаменитая проблема второго пользователя заставила нас перейти на 8.2
(36) Kutnor,
Вам уже помогли:
1. Написали готовый рабочий код
2. Сказали куда его вставить
Это и так 70% того что должны были сделать вы.
Если вы не поняли, то это уже ваши проблемы, написано более чем детально.
А расписывать вам по кнопочкам, куда жать и что вставлять никто не будет. Это равносильно того, что 100% работы сделать за вас, а вы ведь за это деньги получаете ;)
При этом вы не туда вставите, не то нажмете, затрёте что-то случайно... в общем гиблое это дело.
И если у вас в штате нет 1С программиста, и вы не планируете никого нанимать, то вам рано или поздно придётся начать учить 1С, так как это будет не последняя просьба по доработке/разработке)
Ясно спасибо, мне тут значит никто не поможет.
Вам уже помогли:
1. Написали готовый рабочий код
2. Сказали куда его вставить
Это и так 70% того что должны были сделать вы.
Если вы не поняли, то это уже ваши проблемы, написано более чем детально.
А расписывать вам по кнопочкам, куда жать и что вставлять никто не будет. Это равносильно того, что 100% работы сделать за вас, а вы ведь за это деньги получаете ;)
При этом вы не туда вставите, не то нажмете, затрёте что-то случайно... в общем гиблое это дело.
И если у вас в штате нет 1С программиста, и вы не планируете никого нанимать, то вам рано или поздно придётся начать учить 1С, так как это будет не последняя просьба по доработке/разработке)
как раз таки я 3 раза спрашивал куда вставлять этот код и мне так никто и не сказал. так что давайте не будем. Перечитайте выше. Зарплату я получаю за другое, 1С настраиваю так как больше некому и самому приходится каждый раз сталкиваться. Вот и приходится этим заниматься.
(40)Вы толком не можете объяснить что именно хотите. Каких конкретных рекомендаций вы ждете? Округлить сумму документа можно кучей различных способов, отличающихся глубиной внедрения в конфигурацию.
Первое что посоветовал бы - определиться с задачей: нужен именно учет без копеек или все таки вывод печатной формы с округлением?
Второе - написать 1000 раз "Я никогде не правлю типовую конфигурацию, если не понимаю что и зачем делаю", дабы отложилось на подкорке.
Третье - вернуть разрядность реквизита документа.
Первое что посоветовал бы - определиться с задачей: нужен именно учет без копеек или все таки вывод печатной формы с округлением?
Второе - написать 1000 раз "Я никогде не правлю типовую конфигурацию, если не понимаю что и зачем делаю", дабы отложилось на подкорке.
Третье - вернуть разрядность реквизита документа.
(40) Kutnor,
Таки Я Вам сказал - куда нужно вставить этот код:
Так и занимайтесь, никто же не против. Книжки только почитайте немного. 1С - очень простой язык, неделя-другая даст Вам основные понятия о метаданных, модулях форм/объектов/общих, обработках и регистрах... И нам будет проще помогать Вам и Вам будет проще заниматься не своей работой.
Таки Я Вам сказал - куда нужно вставить этот код:
Копать нужно в процедуре подсчета итоговой суммы документа.
Зарплату я получаю за другое, 1С настраиваю так как больше некому и самому приходится каждый раз сталкиваться. Вот и приходится этим заниматься.
Так и занимайтесь, никто же не против. Книжки только почитайте немного. 1С - очень простой язык, неделя-другая даст Вам основные понятия о метаданных, модулях форм/объектов/общих, обработках и регистрах... И нам будет проще помогать Вам и Вам будет проще заниматься не своей работой.
(42) ant1773, ладно я надеялся что мне точно скажут куда вставлять, а не где копать. спасибо всем за помощь, книжки сейчас учить некогда уезжаю в отпуск, вот и хотел все настроить, чтобы без меня не мучались менеджеры с этими копейками.
(41) mymyka, Что Вам не понятно то? уже сто раз писал, нужно убрать копейки, хотел как лучше, теперь уже хоть как либо.
(41) mymyka, Что Вам не понятно то? уже сто раз писал, нужно убрать копейки, хотел как лучше, теперь уже хоть как либо.
У документа реализация товаров и услуг нет печатной формы "счет". Соответственно это внешная ПФ. Ищите ее в Сервис - Доп.печатные формы. Открывайте макет и смотрите как называется ваш параметр, в который выводится сумма. Ищите его упоминание в модуле в функции Печать() и рисуйте свое округление.
Все было настолько просто, а подзказать никто так и не смог:
Нужно было просто зайти в конфигурацию/документы/реализация товаров и услуг/табличной части/товары/сумма
и там изменить точность на 0.
ВСЕ.
При этом в накладной все округляеться, а не просто удаляються копейки.
единственный минус, это если я захочу сделать накладную в долларах то ее тоже нужно будет округлять до доллара, что не очень выгодно.
надеюсь кому то пригодиться мое решение в будующем.
Нужно было просто зайти в конфигурацию/документы/реализация товаров и услуг/табличной части/товары/сумма
и там изменить точность на 0.
ВСЕ.
При этом в накладной все округляеться, а не просто удаляються копейки.
единственный минус, это если я захочу сделать накладную в долларах то ее тоже нужно будет округлять до доллара, что не очень выгодно.
надеюсь кому то пригодиться мое решение в будующем.
(48) Kutnor,
Нда... Жесть... Боюсь подумать, что Вы сделаете, если скидку нужно будет округлить до 100 рублей...
А есть нужно сделать 499.99? :)
Это не решение.
ЗЫ Вы осознаете, что с таким методом копейки невозможно использовать в дальнейшем?
ЗЗЫ А осознаете, что грохнули копейки и в старых документах?
Нда... Жесть... Боюсь подумать, что Вы сделаете, если скидку нужно будет округлить до 100 рублей...
А есть нужно сделать 499.99? :)
Это не решение.
ЗЫ Вы осознаете, что с таким методом копейки невозможно использовать в дальнейшем?
ЗЗЫ А осознаете, что грохнули копейки и в старых документах?
(50) Kutnor,
А вот завтра скажут. :)
Никогда не видели в магазине таких ценников? Я уже на автомате, все что 90+ стоит округляю до 100.
Я бы все таки рекомендовал посверять отчеты... И проверить наличие архива, с неубитыми копейками.
Ох не единственный это минус, не единственный...
(51) Kutnor,
В процедуре нажатия кнопки - прописать цикл прохода по всем строкам ТЧ, с округлением. В (15) в принципе код описан, только там больше возможностей...
ЗЫ Как говорится - Вы сделали мне этот день...
ant1773, а зачем скидку до 100 рублей округлять?
А вот завтра скажут. :)
и зачем делать 499.99
Никогда не видели в магазине таких ценников? Я уже на автомате, все что 90+ стоит округляю до 100.
Нам бухгалтера сказали что Все оплаты проходили без копеек.
Я бы все таки рекомендовал посверять отчеты... И проверить наличие архива, с неубитыми копейками.
Вот я их и убрал,единственный минус как я уже писал это с долларом, округлить 30 рублей многовато.
Ох не единственный это минус, не единственный...
(51) Kutnor,
Может кто подскажет если я сделаю кнопку в документе, как ее подключить к такой функции чтобы при нажатии на нее точность округлялась с 2 до 0 ?
В процедуре нажатия кнопки - прописать цикл прохода по всем строкам ТЧ, с округлением. В (15) в принципе код описан, только там больше возможностей...
ЗЫ Как говорится - Вы сделали мне этот день...
(60) Kutnor, окей )
конфигуратор - документы - &НужныйДокумент - формы- формадокумента. открываем. Сверху есть меню Форма - вставить элемент управления - кнопка. два раза на нее тыкаем, открывается процедура. туда пишем код по аналогии с 15 постом и округляем что надо
конфигуратор - документы - &НужныйДокумент - формы- формадокумента. открываем. Сверху есть меню Форма - вставить элемент управления - кнопка. два раза на нее тыкаем, открывается процедура. туда пишем код по аналогии с 15 постом и округляем что надо
(51) Kutnor, пойми, то, что ты делаешь - неадекват! Когда нет возможности осознать, что ты сделал, это печально.
Если бухам надо чтобы на печать выводилось красиво - пожалуйста, если им надо, чтобы в самом документе были целые числа - пожалуйста. А Ваш замечательный трюк поставил раком весь учет за предыдущие периоды
Если бухам надо чтобы на печать выводилось красиво - пожалуйста, если им надо, чтобы в самом документе были целые числа - пожалуйста. А Ваш замечательный трюк поставил раком весь учет за предыдущие периоды
убрал то что сам делал, вставил реквизит, втавил кнопку, вставил в кнопку код, теперь выходит такая ошибка при сохранении:
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3729,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
<<?>>Процедура ОкруглятьСкидкиПриИзменении(Элемент) (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3745,3)}: Неопознанный оператор
в <<?>>общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен последний параметр, который обрабатывается следующим образом: (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3745,128)}: Неопознанный оператор
в общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен <<?>>последний параметр, который обрабатывается следующим образом: (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3747,1)}: Определения процедур и функций должны размещаться перед операторами тела модуля
<<?>>Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено,ЧекККМ=0) Экспорт (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3729,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
<<?>>Процедура ОкруглятьСкидкиПриИзменении(Элемент) (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3745,3)}: Неопознанный оператор
в <<?>>общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен последний параметр, который обрабатывается следующим образом: (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3745,128)}: Неопознанный оператор
в общий модуль в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект,,Парам); добавлен <<?>>последний параметр, который обрабатывается следующим образом: (Проверка: Толстый клиент (обычное приложение))
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3747,1)}: Определения процедур и функций должны размещаться перед операторами тела модуля
<<?>>Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено,ЧекККМ=0) Экспорт (Проверка: Толстый клиент (обычное приложение))
(69) Kutnor,
я не в курсе, как твои реквизиты и таблицы называются! Я не телепат! Есть функция Окр(), это округление. Берешь таблицу свою, проходишь ее до конца и все округляешь. В чем еще то вопросы???
Процедура Кнопка1Нажатие(Элемент)
Табтовар = ЭтотОбъект.товары; // таблица с данными
Для каждого строка из Табтовар цикл
Строка.Цена = Окр(Строка.Цена);
Строка.Сумма = Окр(Строка.Сумма);
КонецЦикла;
КонецПроцедуры
я не в курсе, как твои реквизиты и таблицы называются! Я не телепат! Есть функция Окр(), это округление. Берешь таблицу свою, проходишь ее до конца и все округляешь. В чем еще то вопросы???
Процедура Кнопка1Нажатие(Элемент)
Табтовар = ЭтотОбъект.товары; // таблица с данными
Для каждого строка из Табтовар цикл
Строка.Цена = Окр(Строка.Цена);
Строка.Сумма = Окр(Строка.Сумма);
КонецЦикла;
КонецПроцедуры
Учить некогда, через 3 дня уезжаю в отпуск, а без меня тут люди будут мучаться.
нагнуть учет за все время не страшно, учет только начали, я добавил реквизит ОкруглятьКопейки с типом булево. вставил код в кнопку Кнопка1 из 15 ответа, вышли ошибки, как их исправить? код который там лучше по функциональности.
Я знаю что всех уже достал, но все же помогите, очень прошу.
нагнуть учет за все время не страшно, учет только начали, я добавил реквизит ОкруглятьКопейки с типом булево. вставил код в кнопку Кнопка1 из 15 ответа, вышли ошибки, как их исправить? код который там лучше по функциональности.
Я знаю что всех уже достал, но все же помогите, очень прошу.
(73) Kutnor,
Общепринятых варианта сделать два:
1. Отдать пятьсот рублей и конфигурацию любому отписавшемуся в теме, через час получить измененную конфигурацию.
2. Имея хотя бы общее представление о том, что, где и каким образом нужно сделать - задавать вопросы. Никто не знает всего.
Но Вы пользуетесь третьим (как Я понял - Вы не понимаете программирования вообще? Не только 1С?) - добиваете людей чтобы Вам написали полностью код и расписали с картинками куда же его нужно вставить... ИМХО - это перебор.
Общепринятых варианта сделать два:
1. Отдать пятьсот рублей и конфигурацию любому отписавшемуся в теме, через час получить измененную конфигурацию.
2. Имея хотя бы общее представление о том, что, где и каким образом нужно сделать - задавать вопросы. Никто не знает всего.
Но Вы пользуетесь третьим (как Я понял - Вы не понимаете программирования вообще? Не только 1С?) - добиваете людей чтобы Вам написали полностью код и расписали с картинками куда же его нужно вставить... ИМХО - это перебор.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот