При установке 288 релиза, наверное забыли в конфигураторе где-то указать количество знаков после запятой и программа пересчитала все цены и округлила до двух знаков. Суммы остались нормальными. Вопросы: 1. Можно ли как-нибудь цены вернуть назад (чтобы стало четыре знака после запятой)? 2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?
При установке 288 релиза, наверное забыли в конфигураторе где-то указать количество знаков после запятой и программа пересчитала все цены и округлила до двух знаков. Суммы остались нормальными. Вопросы: 1. Можно ли как-нибудь цены вернуть назад (чтобы стало четыре знака после запятой)? 2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?
Если что непонятно расскажу более подробно.
Можно, просто надо в тех полях где надо 4 знака после запятой поставить точность 4 и на всякий случай увеличить длину числового поля
Вы станете богаче, лишь став умнее... Чем дальше в лес, тем толще партизаны. Нельзя недооценивать, не предсказуемость тупизны...
Можно, просто надо в тех полях где надо 4 знака после запятой поставить точность 4 и на всякий случай увеличить длину числового поля
Это мы и делаем когда ставим новый релиз. А когда ставили последний раз видно забыли указать и программа все цены пересчитала все цены до двух знаков. И если я снова установлю релиз, то все равно цены останутся с двумя знаками. Само поле цена имеет длину четыре ( например - 0,4900, а цена должна быть 0,4850)
Это мы и делаем когда ставим новый релиз. А когда ставили последний раз видно забыли указать и программа все цены пересчитала все цены до двух знаков. И если я снова установлю релиз, то все равно цены останутся с двумя знаками. Само поле цена имеет длину четыре ( например - 0,4900, а цена должна быть 0,4850)
а не проще просто доработать сам расчет, я так понимаю у вас округление в самом расчета стоит до 2 знака. просмотрите внимательно процедуру РасчитатьСтроку
Окр(Расчет,4);
Цитата(serg73 @ 18.08.11, 16:34)
2. Или. У нас есть база на 02.08.11 нормальная. Можно ли в ту базу экспортировать данные из неправильной базы?
ето конечно можно, но для етого нужно просмотреть весь модуль в сравнении при обновлении "Объединении конфигураций" и все формы и таблицы внимательно на предмет критических изменений. да и вообще, после просмотра вся картина будет видна. и не забыть отключить все остальные доки, чтоб обновился только нужный.
Напишите обработку, которая пройдется по докам, поделит сумму на к-во и занесет в цену.
Замечательно, именно я это и хочу. Но моих знаний по 1С (а точнее отсутствие этих знаний) не хватает для написании этой обработки. Я даже нашел где эти цены находятся и прекрасно понимаю, что надо сумму поделить на количество, но мозгов не хватает объяснить это программе. Помогите, если можете!
Цитата(Pepe @ 19.08.11, 13:23)
Золотое правило: прежде, чем вносить изменения, сделайте копию для возможности "отката".
Сделали копию (ну не полный же я чайник). Бухгалтер изменения в ценах не заметила, потому что сдавала налоги, а суммы то нормальные, потому и заметили только через неделю.
возьмите действующую конфу, зайдите в конфигуратор. подгрузите для объединения старую версию и вы увидите что вам нужно делать даже без особых знаний 1С. но советую ето использовать только для просмотра того что и где нужно сделать. а не для объединения. а то точно без знаний можно и натворить делов. у вас трабла скорее всего в тексте модуля, а ето единственно удобный способ сравнивать как по мне.
Напишите обработку, которая пройдется по докам, поделит сумму на к-во и занесет в цену.
Цитата(serg73 @ 19.08.11, 14:44)
Замечательно, именно я это и хочу. Но моих знаний по 1С (а точнее отсутствие этих знаний) не хватает для написании этой обработки.
Можете за основу взять следующее. Создайте новую обработку с реквизитами ВыбНачПериода и ВыбКонПериода типа дата и кнопкой с формулой Выполнить(). В модуле добавьте нижеприведенный текст. Если необходимо, добавьте проверку на вид документа, а также, если есть такие, рассмотрите варианты, когда реквизиты цены, суммы, к-ва, коэффициента имеют отличные от ЦенаБезНДС, СуммаБезНДС и т.д. идентификаторы или вовсе отсутствуют. Экспериментировать на копии.
//********************************************************************* Функция ЕстьРеквизитМнЧ(ИмяРеквизита,ВидДокумента) Экспорт Перем Реквизит; Если (ПустоеЗначение(ВидДокумента) = 1) ИЛИ (ПустоеЗначение(ИмяРеквизита) = 1) Тогда Возврат 0; КонецЕсли; Реквизит=Метаданные.Документ(ВидДокумента).РеквизитТабличнойЧасти(ИмяРеквизита); Возврат Реквизит.Выбран(); КонецФункции //ЕстьРеквизитМнЧ()
//********************************************************************* Процедура Выполнить() Док=СоздатьОбъект("Документ"); Док.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода); Пока Док.ПолучитьДокумент()=1 Цикл Если ЕстьРеквизитМнЧ("ЦенаБезНДС",Док.Вид())=0 Тогда Продолжить; КонецЕсли; // ЕстьРеквизитМнЧ("ЦенаБезНДС",Док.Вид())=0 Док.ВыбратьСтроки(); Если Док.ПолучитьСтроку()=1 Тогда Цена=Док.ПолучитьАтрибут("ЦенаБезНДС"); Если Цена<>Окр(Цена,2) Тогда Продолжить; КонецЕсли; // Док.ПолучитьАтрибут("ЦенаБезНДС") Сообщить("Редактирование цен в документе "+Док.ТекущийДокумент()); Попытка Док.УстановитьАтрибут("ЦенаБезНДС",(Док.ПолучитьАтрибут("СуммаБезНДС")/(Док.ПолучитьАтрибут("Коэффициент")*Док.ПолучитьАтрибут("Кво")))); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; // Док.ПолучитьСтроку()=1 Попытка Док.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла; КонецПроцедуры //Выполнить
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!