Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Проблема с ценой , Количество знаков после запятой          
serg73 Подменю пользователя
сообщение 18.08.11, 15:34
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

При установке 288 релиза, наверное забыли в конфигураторе где-то указать количество знаков после запятой и программа пересчитала все цены и округлила до двух знаков. Суммы остались нормальными.
Вопросы:
1. Можно ли как-нибудь цены вернуть назад (чтобы стало четыре знака после запятой)?
2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?

Если что непонятно расскажу более подробно.

Kutuzov Подменю пользователя
сообщение 18.08.11, 16:05
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 328
Из: Одесса
Спасибо сказали: 144 раз
Рейтинг: 0

Цитата(serg73 @ 18.08.11, 16:34) *
При установке 288 релиза, наверное забыли в конфигураторе где-то указать количество знаков после запятой и программа пересчитала все цены и округлила до двух знаков. Суммы остались нормальными.
Вопросы:
1. Можно ли как-нибудь цены вернуть назад (чтобы стало четыре знака после запятой)?
2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?

Если что непонятно расскажу более подробно.


Можно, просто надо в тех полях где надо 4 знака после запятой поставить точность 4 и на всякий случай увеличить длину числового поля


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

serg73 Подменю пользователя
сообщение 19.08.11, 10:18
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Kutuzov @ 18.08.11, 17:05) *
Можно, просто надо в тех полях где надо 4 знака после запятой поставить точность 4 и на всякий случай увеличить длину числового поля


Это мы и делаем когда ставим новый релиз. А когда ставили последний раз видно забыли указать и программа все цены пересчитала все цены до двух знаков. И если я снова установлю релиз, то все равно цены останутся с двумя знаками. Само поле цена имеет длину четыре ( например - 0,4900, а цена должна быть 0,4850)

Pepe Подменю пользователя
сообщение 19.08.11, 12:23
Сообщение #4

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1448
Из: Ужгород
Спасибо сказали: 763 раз
Рейтинг: 0

Золотое правило: прежде, чем вносить изменения, сделайте копию для возможности "отката".

endru Подменю пользователя
сообщение 19.08.11, 12:41
Сообщение #5

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Напишите обработку, которая пройдется по докам, поделит сумму на к-во и занесет в цену.

gorik77 Подменю пользователя
сообщение 19.08.11, 13:42
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 122
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(serg73 @ 19.08.11, 11:18) *
Это мы и делаем когда ставим новый релиз. А когда ставили последний раз видно забыли указать и программа все цены пересчитала все цены до двух знаков. И если я снова установлю релиз, то все равно цены останутся с двумя знаками. Само поле цена имеет длину четыре ( например - 0,4900, а цена должна быть 0,4850)


а не проще просто доработать сам расчет, я так понимаю у вас округление в самом расчета стоит до 2 знака. просмотрите внимательно процедуру РасчитатьСтроку
Окр(Расчет,4);


Цитата(serg73 @ 18.08.11, 16:34) *
2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?


ето конечно можно, но для етого нужно просмотреть весь модуль в сравнении при обновлении "Объединении конфигураций" и все формы и таблицы внимательно на предмет критических изменений. да и вообще, после просмотра вся картина будет видна. и не забыть отключить все остальные доки, чтоб обновился только нужный.


Signature
1С:Предприятие 8.2 (8.2.14.540) конфигурация:(1.2.6.5)

serg73 Подменю пользователя
сообщение 19.08.11, 14:44
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(endru @ 19.08.11, 13:41) *
Напишите обработку, которая пройдется по докам, поделит сумму на к-во и занесет в цену.


Замечательно, именно я это и хочу. Но моих знаний по 1С (а точнее отсутствие этих знаний) не хватает для написании этой обработки. Я даже нашел где эти цены находятся и прекрасно понимаю, что надо сумму поделить на количество, но мозгов не хватает объяснить это программе.
Помогите, если можете!

Цитата(Pepe @ 19.08.11, 13:23) *
Золотое правило: прежде, чем вносить изменения, сделайте копию для возможности "отката".


Сделали копию (ну не полный же я чайник). Бухгалтер изменения в ценах не заметила, потому что сдавала налоги, а суммы то нормальные, потому и заметили только через неделю.

gorik77 Подменю пользователя
сообщение 19.08.11, 15:31
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 122
Спасибо сказали: 2 раз
Рейтинг: 0

возьмите действующую конфу, зайдите в конфигуратор. подгрузите для объединения старую версию и вы увидите что вам нужно делать даже без особых знаний 1С. но советую ето использовать только для просмотра того что и где нужно сделать. а не для объединения. а то точно без знаний можно и натворить делов. у вас трабла скорее всего в тексте модуля, а ето единственно удобный способ сравнивать как по мне.


Signature
1С:Предприятие 8.2 (8.2.14.540) конфигурация:(1.2.6.5)

5_kopeek Подменю пользователя
сообщение 19.08.11, 21:19
Сообщение #9

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(endru @ 19.08.11, 12:41) *
Напишите обработку, которая пройдется по докам, поделит сумму на к-во и занесет в цену.

Цитата(serg73 @ 19.08.11, 14:44) *
Замечательно, именно я это и хочу. Но моих знаний по 1С (а точнее отсутствие этих знаний) не хватает для написании этой обработки.

Можете за основу взять следующее.
Создайте новую обработку с реквизитами ВыбНачПериода и ВыбКонПериода типа дата и кнопкой с формулой Выполнить(). В модуле добавьте нижеприведенный текст. Если необходимо, добавьте проверку на вид документа, а также, если есть такие, рассмотрите варианты, когда реквизиты цены, суммы, к-ва, коэффициента имеют отличные от ЦенаБезНДС, СуммаБезНДС и т.д. идентификаторы или вовсе отсутствуют.
Экспериментировать на копии.
//*********************************************************************
Функция ЕстьРеквизитМнЧ(ИмяРеквизита,ВидДокумента) Экспорт
    Перем Реквизит;    
    Если (ПустоеЗначение(ВидДокумента) = 1) ИЛИ
         (ПустоеЗначение(ИмяРеквизита) = 1) Тогда
        Возврат 0;
    КонецЕсли;
    Реквизит=Метаданные.Документ(ВидДокумента).РеквизитТабличнойЧасти(ИмяРеквизита);
    Возврат Реквизит.Выбран();
КонецФункции //ЕстьРеквизитМнЧ()

//*********************************************************************
Процедура Выполнить()
    Док=СоздатьОбъект("Документ");
    Док.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода);
    Пока Док.ПолучитьДокумент()=1 Цикл
        Если ЕстьРеквизитМнЧ("ЦенаБезНДС",Док.Вид())=0 Тогда
            Продолжить;
        КонецЕсли; // ЕстьРеквизитМнЧ("ЦенаБезНДС",Док.Вид())=0
        Док.ВыбратьСтроки();
        Если Док.ПолучитьСтроку()=1 Тогда
            Цена=Док.ПолучитьАтрибут("ЦенаБезНДС");
            Если Цена<>Окр(Цена,2) Тогда
                Продолжить;
            КонецЕсли; // Док.ПолучитьАтрибут("ЦенаБезНДС")  
            Сообщить("Редактирование цен в документе "+Док.ТекущийДокумент());
            Попытка
                Док.УстановитьАтрибут("ЦенаБезНДС",(Док.ПолучитьАтрибут("СуммаБезНДС")/(Док.ПолучитьАтрибут("Коэффициент")*Док.ПолучитьАтрибут("Кво"))));
            Исключение
                Сообщить(ОписаниеОшибки());
            КонецПопытки;              
        КонецЕсли; // Док.ПолучитьСтроку()=1
        Попытка
            Док.Записать();
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
    КонецЦикла;
КонецПроцедуры //Выполнить

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.06.25, 4:26
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!