Наша взаимовыгодная связь https://banwar.org/
Іноді в 1С-Підприємство 7.7 в журналі документів присутній документ з порожньою датою. Досить часто відбувається так, що його присутності в системі не помічають. Це не дивно, так як при відкритті журналу його не видно. Щоб його побачити, необхідно вказати початковий інтервал у вигляді порожній дати. В результаті наявності такого або таких документів в базі даних можуть виникнути такі серйозні проблеми:
- при завантаженні даних засобами конфігуратора йде перерахунок посилань, починаючи з 17xx року.
- при повному перерахунку бухгалтерських підсумків після перерахунку агрегатні таблиці стають порожніми.
Серйозність проблеми в даному випадку буде прямо пропорційно розміру бази даних. Наприклад якщо завантаження маленької бази виконується 10 хвилин, то подвоєння часу виконання в результаті перерахунку посилань з 17xx року може залишитись непоміченим. Інша справа, якщо база велика, і завантажуватися повинна кілька годин в неробочий час. Аналогічно і друга проблема. Якщо перерахунок підсумків робиться швидко, проблема буде виявлена відразу. Якщо ж повний перерахунок підсумків триває 4-5 годин, то на діагностування та виправлення проблеми, а також і на повторний перерахунок може не виявитися часу. Тут відразу можна сказати, що зв'язати порожні агрегатні таблиці з наявністю в журналі документів порожнього документа можна або досконалим копанням в базі з включенням профайлера, на що потрібно досить багато часу навіть не на великій базі, або якщо вже хоч раз зустрічався з такою проблемою.
Причини.
В якості причин виникнення таких документів зазвичай в обговореннях фігурує апаратний збій або програмна помилка. Ніхто точно не може сказати, чому був створений такий документ. Дана стаття призведе приклад, і на практиці продемонструє спосіб створення документа з порожньою датою в журналі, спосіб, який не є випадковим і легко може бути повторений кожним і кожен раз з однаковим результатом.
Отже, діємо по пунктам:
- Запускаємо підприємство.
- Йдемо в сервіс-параметри, і встановлюємо в якості робочої дати порожню дату.
- Далі, засобами вбудованої мови створюємо обробку, яка виконує наступні дії (необхідно створювати документи будь-якого виду, які є в конфігурації):
Док = СоздатьОб'ект ( "Документ.Расчет");
Док.Новий ();
Док.Запісать ();
- В результаті в журналі буде отримано документ з порожньою датою. У моєму прикладі видно два документа:
Для діагностування проблеми документів з нульовою датою засобами SQL досить виконати наступний запит в QA (Query Analizer):
SELECT COUNT (*) FROM _1sjourn where date_time_iddoc LIKE '17530101%'
В результаті буде видано кількість документів в журнал з порожньою датою.
У наведеному прикладі створювався документ з порожньою датою, але точно таким же шляхом можна створити операцію з порожньою датою. Як можна бачити, зовсім легко можна створити документ з порожньою датою, про який, якщо його відразу не побачити, згодом ніхто не згадає, в результаті чого документ буде залишатися в базі і негативно впливати на її роботу. Дана особливість поведінки 1С-Підприємство 7.7 може сміливо вважатися глюком платформи. Така поведінка було протестовано і зафіксовано на релізах 21, 23 і 25. Цілком можливо, що аналогічним чином 1С поводиться і в попередніх релізах.
Кожен бажаючий може за 2 хвилини виконати аналогічний тест і переконатися в результатах. На закінчення хочеться відзначити, що компанія "СофтПоінт" має свої засоби і методики для діагностування і виправлення цієї та інших помилок платформи 7.7.
Передрук, відтворення в будь-якій формі, поширення, в тому числі в перекладі, будь-яких матеріалів з сайту www.softpoint.ru можливі тільки з письмового дозволу компанії "СофтПоінт". Це правило діє для всіх без винятку випадків, крім тих, коли в матеріалі прямо вказано дозвіл на копіювання (підстава: Закон Російської Федерації "Про авторське право і суміжні права").