|
v7: 1C v6.0 Дата не в интервале операций | ☑ | ||
---|---|---|---|---|
0
ShAV
14.07.14
✎
16:13
|
После перехода с однопользовательской версии на сетевую проявилась "проблема 2000 года". Работаю с 7.7 и 8.2, поэтому в 6.0 опыта нет. CNF файлик кидал и в каталог проги, и каталог БД. Помогите кто в курсе решения проблемы пожалуйста.
ЗЫ На форуме искал. Обуждения есть, решения нет. |
|||
1
aka AMIGO
14.07.14
✎
16:21
|
(0) попробуй почитать здесь..
http://www.ci.ru/inform1_99/16.htm а я дома посмотрю, за какой год у меня 1cv6.exe |
|||
2
aka AMIGO
14.07.14
✎
16:24
|
+1 >>Метод решения
И в случае "1С:Бухгалтерии" версии 6.0, и в случае "1С:Предприятия" используется один и тот же простой механизм, известный как "логический диапазон дат". Вместо того, чтобы работать с абсолютными датами, что потребовало бы увеличения числа байтов, отводимых под хранение даты, формат представления не меняется, но имеется в виду, что столетие начинается не с 1900 года, а с года, задаваемого пользователем. Интересен предлагаемый разработчиком способ задания года начала столетия - фактически, он определяется смещением относительно текущего года. Например, если это смещение равно 50, то рабочим диапазоном программы будет период, начиная с 1999-50=1949 года по 2049 год. В следующем году диапазон автоматически сместится на год - с 2000-50=1950 по 2050 год, и так далее. Таким образом, предлагаемый подход имеет два несомненных достоинства. Не требуется модификации баз данных - то есть владельцу релиза версии 6.0, несовместимого с 2000 годом, достаточно просто обновить исполняемые файлы программы. Конвертировать данные не нужно. Достаточно один раз задать смещение логического диапазона столетия, и реальное столетие, в пределах которого будет работать программа, каждый год будет автоматически корректироваться. (Каждый третий пользователь после приводимого выше примера недоверчиво спрашивает, а в 2049 году нужно будет снова задавать начало столетия? Так вот: "не нужно".) Способ, которым задается смещение логического диапазона дат для "1С:Бухгалтерии" версии 6.0 и программ системы "1С:Предприятие", несколько различен. В первом случае используется константа YearOfCentury, находящаяся в секции [Values] конфигурационного файла 1SBW.CNF. Хочу обратить ваше внимание на следующий нюанс - этот файл может находиться как в каталоге базы данных, так и в каталоге исполняемых файлов программы, но при существовании и того, и другого обрабатывается файл, находящийся в каталоге базы данных. Если файл не существует, программа будет работать некорректно, хотя повреждения базы данных, как в случае DOS-версий, не будет. На это следует обратить внимание, в основном, при обновлении релиза, так как при полной инсталляции файл 1SBW.CNF создается автоматически. Детальное описание способа задания смещения логического диапазона дат находится в упоминаемом ранее файле readme.wri. В случае программ системы "1С:Предприятие" смещение логического диапазона дат задается общим параметром "Год начала рабочего столетия". В отличие от "1С:Бухгалтерии" версии 6.0 здесь смещение задается неявно годом начала рабочего столетия, рис.3.<< http://www.ci.ru/inform1_99/1c3.gif |
|||
3
Fedor-1971
14.07.14
✎
16:26
|
(0) Как мне помнится где-то в 2000 году был выпущен новый exe, где можно было задать начало века, типа 1950
|
|||
4
ShAV
14.07.14
✎
16:28
|
Спасибо за отклики.
(1) Это уже читал. Там про файл cnf. Ложил. Не взлетает. Причем подключаюсь к БД с локальной версии exe - все ОК. Локальная версия еще старше... ППЦ какой-то. Скоро бухи прибьют за срыв отчетности за 1 полугодие :) |
|||
5
aka AMIGO
14.07.14
✎
16:30
|
(4) а перенести в 7.7 быстренько никак нельзя?
|
|||
6
ShAV
14.07.14
✎
16:31
|
Нееее. Предлагал. Тетки ортодоксальные
|
|||
7
kobzon
14.07.14
✎
16:34
|
(4) Кто ж делает переходы в период отчетности?
|
|||
8
ShAV
14.07.14
✎
16:36
|
(7) Вернуть хоть сейчас. Все в архивах есть. Потому и переход, что не успевают по одной работать в программе
|
|||
9
DeiMos
14.07.14
✎
16:51
|
В параметрах 1С:Предприятия ("Сервис - Параметры - Общие") устанавливается значение параметра "Год начала рабочего столетия". Данный параметр используется системой в тех случаях, когда значение параметра "Число цифр года в представлении даты" равно 2. В этом случае при вводе даты указываются только две цифры года. В зависимости от значения параметра "Год начала рабочего столетия" эти цифры года относятся к одному или другому столетию. Фактически, данный механизм позволяет указывая 2 цифры года вводить даты как в двадцатом, так и в двадцать первом веке.
Значение параметра используется системой следующим образом. Если введенные две цифры года больше двух последних цифр заданного в параметре года, то введенная дата будет относиться к тому веку, к которому относится заданный год. А если две введенные цифры меньше даты двух последних цифр заданного в параметре года, то введенная дата будет относиться к следующему веку, по отношению к тому к которому относится заданный в параметре год. Например, если задан 1940 год, то дата 01.01.42 интерпретируется как 1 января 1942 года, а дата 01.01.39 - как 1 января 2039 года. Одной из типичных ошибок пользователей является установка в данном параметре 2000 года. Это значение фактически не позволяет ввести дату в двадцатом веке. Рекомендуемым значением данного параметра является 1940, что позволяет вводить даты в интервале от 1941 до 2040 года. В этом случае рабочим столетием является интервал от 1941, до 2040 года, к которому и будет относиться вводимая дата. |
|||
10
ShAV
14.07.14
✎
17:09
|
(9) Речь идет о версии 6.0. В теме указано. А Вы о какой версии?
|
|||
11
Хряк
14.07.14
✎
19:18
|
релиз сетевой какой
|
|||
12
ShAV
14.07.14
✎
19:24
|
В свойствах файла:
в шапке "версия файла 6.0.1.24" в доп. сведениях "версия продукта 6.0.024" "версия файла 6.0.024" |
|||
13
ShAV
14.07.14
✎
20:05
|
Проблема решена. Может кому понадобится тоже 6.0 :)
Никакие файлы cnf и прочие не помогли. Вообще их удалил. Ответа ни на мисте, ни в других местах не нашел. Порядок такой: 1. После того как настроили доступ к базе не трогаем никакие настройки по сменам периода журнала операций, итогов и т.д. 2. Закрываем программу и удобным способом в файле БД с наименованием 1SBOPER.DBF нужно увеличить даты по полю OPERDATA, которые меньше 2000 года, на 100 лет. Я написал обработку с одной кнопкой и процедурой ДБФ = СоздатьОбъект("XBase"); ДБФ.ОткрытьФайл("C:\1SBW6\DB\1SBOPER.DBF"); Если ДБФ.Открыта() = 1 Тогда го = ДБФ.Первая(); Пока го = 1 Цикл ТекДата = ДБФ.OPERDATA; Год = ДатаГод(ТекДата); Если Год < 2000 Тогда ДБФ.OPERDATA = Дата(Год + 100, ДатаМесяц(ТекДата), ДатаЧисло(ТекДата)); КонецЕсли; ДБФ.Записать(); го = ДБФ.Следующая(); КонецЦикла; Предупреждение("Обработка завершена."); ДБФ.ЗакрытьФайл(); Иначе Предупреждение("НЕ смогли открыть Базу!", 2); КонецЕсли; 3. После обработки запускаем 6.0 в монопольном режиме (с ключом /m) (в моем случае C:\1SBW6\1SBW.EXE /ddb /uUSERS\GB\ /m) 4. Далее меню Операции/Интервал операций задаем любой интервал и нажимаем установить. Все. БД полностью рабочая. |
|||
14
Мимохожий Однако
14.07.14
✎
20:22
|
Взял бы версию 6.0.034 и тогда помогли бы предыдущие советы. Но всё равно - молодец.
|
|||
15
torgm
14.07.14
✎
20:53
|
(13) Вот ведь.. еще встречаются, я в прошлом году крайнего на 6.0 перевел с 6.0 на Бухгалтерия 2.0 пять лет упиралась... Перешла, понравилось, теперь радуется...
|
|||
16
ShAV
05.08.14
✎
11:52
|
Появилось время отписаться по одной загогулинке по теме.
После вышеобозначенных манипуляций неправильно отображаются итоги на начало периода. Операции сдвинули по датам, а начальные сальдо по счетам не пересчитываются автоматом. Поэтому: 1. Удаляем файлы 1sbglkn.* 1sbsvpr.* 2. Пересчет с периода первой операции |
|||
17
1Сергей
05.08.14
✎
12:05
|
вот смотришь на такие темы и думаешь "а я всё-таки ещё не динозавр" :)
|
|||
18
ShAV
06.08.14
✎
12:40
|
(17) кто платит тот и музыку танцует
|
|||
19
NikVars
06.08.14
✎
13:24
|
(17) Ты еще в яйце?!
:) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |