Главная
Отчеты, обработки 1с77
Отчеты, обработки 1с8
Документация
Вопросы
Контакты
Фото

Округление НДС в табличной части документов 1с8 УПП Ошибка возникает из неточностей округления. Перейти

Ошибка индекса CJ1196. Ошибка возникает при работе с 1с77 с SQL базой. Она может просто возникнуть и возникнуть при работе с УРБД. Реиндексация в этом случае не помагает. Необходимо сделать выгрузку базы и соответственно и загрузку. Загружать не обязательно в пустую базу. Загрузку сделал в ту же базу откуда сделал выгрузку - и проблема исчезла.
Решение проблем с лицензированием терминала у клиента. У клиента на локальной машине в реестре необходимо удалить папку с ключами: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.
Решение проблем печати из под Citrix. Эта проблема возникает довольно часто - особенно если принтер программный. На сайте http://www.tricerat.com/ есть программный пакет Screwdrivers. Это клиент-серверное приложение. Серверная часть устнавливается на сервере, где находится серверная часть Citrix. А клиентская часть - на клиентской машине. При подключению к приложению через Citrix стоящий по умолчанию ринтер на локальной машине становится принтером при работе с любым приложением Citrix. Работает только с Citrix.
Для работы с распределенной базой данных необходимо сбросить в каталог BIN файл DistrDB.dll.
Деинициализация УРБД. В первую очередь, в файле 1SSYSTEM.DBF вручную очистить 3-х символьное поле DBSIGN (содержащее код ИБ), и, в принципе, этого достаточно. Для возврата ИБ в первозданное состояние нужно дополнительно: Удалить файлы 1SDBSET.DBF, 1SDWNLDS.DBF, 1SUPDTS.DBF и соответствующие индексные файлы (*.CDX). В файле 1SSYSTEM.DBF обнулить 36-ти символьную строку DBSETUUID: 00000000-0000-0000-0000-000000000000.
Работа 1с77 из под Висты Работа внешних компонент требует запуск 1С с правами администратора. Это можно делать временным способом - вызывая пункт Запуск от имени… в контекстном меню, а можно открыть свойства ярлыка и на закладке Совместимость выставить опцию Выполнять от имени администратора. Но и это еще не все, потому что при каждом запуске будет срабатывать система контроля уровня доступа пользователя и спрашивать, а на самом деле вы хотите запустить эту программу или нет, по-буржуйски эта система называется UAC. Ее можно отключить, команда Выполнить, вводим msconfig, на последней закладке ищем пункт Отключить контроль учетных записей (UAC), жмем кнопку Запуск. Ну и еще - для дополнительной свободы действий 1С можно установить не в стандартный каталог Program files, а в любой другой, т.к. стандартный особенно опекается системой от вредных воздействий. Порядок сортировки. И тут не все гладко. Если запускать базу только на компьютере с Vistа, то вариант простой - в Конфигураторе, в меню Кодовая страница таблиц ИБ выбрать Текущие настройки системы. Хуже обстоит в сетевой версии, которая работает с компьютерами под другими Windows, там скорее всего прийдется отключить проверку кодовой страницы, хотя для верности стоит попробовать сначала выставить ее в соответствии с системными региональными настройками и попытаться запустить базу. Тут тоже есть грабли - ни в коем случае не ставить украинскую страницу, появляются ошибки совсем необъяснимые. Отключается проверка кодовой страницы просто: в папке с базой нужно создать файл (пустой, содержание не важно) с именем OrdNoChk.prm, версия 1С должна быть не ниже 26 (!).

Проведение программно созданого документа из ОбработкаПроведениия() Возникает такая проблема. Делаем следующее:
В документе, который хотим создать программно прописываем в Процедура ПриОткрытии():

Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
... Провести();
... Форма.Закрыть();
... Возврат;
КонецЕсли;

В документе из которого хотим создать из Процедура ОбработкаПроведения():

Док = СоздатьОбъект("Документ.НормыЗатрат");
Док.Новый();
...
Док.Записать();

// и самый важный момент — передача управления
Конт = 1;
ОткрытьФорму(Док.ТекущийДокумент(), Конт, 0);

Расчет остатков регистра на текущий документ
Рег = СоздатьОбъект("Регистр.Партии");
Рег.УстановитьЗначениеФильтра("ТМЦ", Препарат, 1);
Если СравнитьТА() = -1 Тогда
...Рег.ВременныйРасчет(1);
...РасчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
КолТМЦ = 0;
Рег.ВыбратьИтоги();
Пока Рег.ПолучитьИтог() = 1 Цикл
...КолТМЦ = КолТМЦ + Рег.ОстатокТовара;
КонецЦикла;

Использование MS SQL Server 2005 с 1С:Предприятием v7.7 Данная статья является изложением опыта запуска 1С:Предприятия v7.7 на MS SQL Server 2005. К сожалению, "штатно" 1С:Предприятие v7.7 работу с MS SQL Server 2005 не поддерживает, поэтому понадобятся некоторые ухищрения, которые и будут здесь описаны. При установке SQL сервера необходимо выставить режим авторизации "MixedMode" (т.е. Windows+SQL), и указать пароль для учетной записи "SA". Параметр "Server Collation" следует установить как "Cyrillic_General_CI_AS". Получить текущий Server Collation можно такой командой:
SELECT CONVERT (varchar, SERVERPROPERTY('collation'))
Если SQL сервер "не виден" с других компьютеров (1С выдаёт сообщение "SQL-сервер не существует, или отсутствует доступ."), следует разрешить удаленные соединения в SQL Server Surface Area Configuration. Меню "Пуск" - "Программы" - "Microsoft SQL Server 2005" - "Configuration Tools" - "SQL Server Surface Area Configuration". Выбрать ссылку "Surface Area Configuration for Services and Connections", в дереве выбрать элемент "Remote Connections". Если у вас MS SQL Server 2005 Express Edition, в 1С в "Параметрах базы данных SQL" нужно указывать не просто имя сервера, а Имя_Сервера\SQLEXPRESS. В свойствах базы данных на SQL Server необходимо поставить Compatibility Level "SQL Server 2000(80)". Это можно сделать в Microsoft SQL Server Management Studio Express (меню "Пуск" - "Программы" - "Microsoft SQL Server 2005" - "SQL Server Management Studio Express CTP"). Примечание: база данных может быть создана на Microsoft SQL Server 2000, и перенесена на Microsoft SQL Server 2005 через простой Detach - Attach, можно также через Backup - Restore. Однако простого пути для возврата базы назад (на MS SQL 2000) уже не будет. Получить текущий Compatibility Level базы данных можно и такой командой:
EXEC sp_dbcmptlevel <DataBaseName>
Установить Compatibility Level базы данных в "SQL Server 2000(80)" можно так:
EXEC sp_dbcmptlevel <DataBaseName>, 80
Если возникают проблемы с подключением к базе MS SQL 2005, просмотрите настройки протоколов в "SQL Server Configuration Manager". Меню "Пуск" - "Программы" - "Microsoft SQL Server 2005" - "Configuration Tools" - "SQL Server Configuration Manager". Поскольку 1С v7.7 штатно не поддерживает MS SQL 2005, вы получите сообщение "Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!". Чтобы устранить это, необходимо изменить BkEnd.dll следующим образом (для 21-го релиза 1С):
000D9B7A: 83 EB
000D9B7B: E8 15
000DAFE0: 83 EB
000DAFE1: E8 10
Для 25-го релиза 1С:
000D9C4A: 83 EB
000D9C4B: E8 15
000DB0B0: 83 EB
000DB0B1: E8 10
Для 26-го и 27-го релизов 1С:
000D9CCA: 83 EB
000D9CCB: E8 15
000DB130: 83 EB
000DB131: E8 10
Для возможности коллективной работы в базе данных (одновременной работы нескольких пользователей) необходим режим Multiple для базы данных ("Properties - Options - State - Restrict access" - "Multiple"). Возможно, для коллективной работы в базе данных (одновременной работы нескольких пользователей) могут потребоваться дополнительные изменения в BkEnd.dll, которые можно произвести с помощью Unofficial Service Pack v2.13.24 для 24 релиза 1С (он работает и на 25 релизе), установив флажок "Разрешать другим пользователям входить в базу (SQL)" на вкладке "Защита". Эти изменения можно произвести и вручную (для 25-го релиза 1С):
000DA023: 85 40
000DA024: C0 90
Примечание: после вышеупомянутых изменений 1С будет производить верификацию структуры таблиц и процедур всегда, а не только при входе первого пользователя в базу (при коллективной работе), что немного замедлит запуск 1С. При работе на базе MS SQL 2005 может возникнуть проблема с автонумерацией документов (при интерактивном создании нового документа номер присваивается некорректно), причём проблема эта воспроизводится не всегда. Чтобы обойти эту проблему, можно поместить в процедуру "ПриЗаписи" всех документов код, подобный следующему:
докДок=СоздатьОбъект("Документ."+Вид());
Если докДок.НайтиПоНомеру(НомерДок,ДатаДок)<>0 Тогда
    Если докДок.ТекущийДокумент()<>ТекущийДокумент() Тогда
        УстановитьНовыйНомер();
    КонецЕсли;
КонецЕсли;

Пакетное создание документов с запуском процедуры из формы созданного документа
В обработке пишем код
Прогноз = СоздатьОбъект("Документ.ПрогнозПродаж");
...
Прогноз.Новый();
...
Прогноз.Записать();
ОткрытьФорму(Прогноз.ТекущийДокумент(), "Заполнить");

В документе "Прогноз продаж" в предопределенной процедуре ПриОткрытии() добавляем код:
Процедура ПриОткрытии()
    Если Форма.Параметр = "Заполнить" Тогда
        Заполнить() // Это та процедура - которую нужно запустить
        Записать();
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
    ...
КонецПроцедуры

Для платформы 7.70.027 возникает проблема: V77.Application - неудачная попытка создания.
Подправить реестр нужно.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\V77.Application\CLSID там должен быть указан GUID (например {63112D80-94F0-11D2-9F39-008048DA120F})
а потом смотрим там HKEY_CLASSES_ROOT\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\LocalServer32 должен быть правильный адрес установленной 1С

Ошибка ImpersonationMode. При попытке создать КУБ с помощью службы SQL Server Analysis Services выдавалась ошибка со ссылкой на режим олицетворения ImpersonationMode. Проблема ушла после выбора SSAS на источнике на закладке "Сведения об олицетворении" явного использования своей учетной записи вместо использования учетных данных текущего пользователя.

Ошибки работы с 1с77 при работе в терминальном режиме. Это как правило касается работы с MS Server 2008. Такая ситуация - у всех все нормально работает, а у одного пользователя на некоторых отчетах, проведения документов и т.д. вываливается ошибка кода. Решается такая проблема просто - необходимо зайти под учетной записью пользователя на сервер, на котором находится 1с77 и установить правильные региональные настройки по языку.

Что делать если забыли или потеряли пароль на вход в 1С 8?
В 1С 7.7 этoт вoпрoс рeшaлся лeгкo удaлeниeм фaйлa usrdefusers.usr из кaтaлoгa инфoрмaциoннoй бaзы.
В SQL-бaзе 1С8
Вся информация о списке пользователей данной ИБ и доступных им ролях в ней хранится в таблице Params в базе данных MS SQL. Взглянув на структуру и содержимое этой таблицы, становится очевидным, что вся информация о пользователях хранится в записи, со значением поля FileName – «users.usr». Внимание! данная запись не защищена от изменения поля FileName, что при наличии доступа к БД MS SQL приводит к следующему – выполняем команду: UPDATE PARAMS SET FileName = ‘- users.usr’ WHERE FileName = ‘users.usr’ т. к. система не находит список пользователей, то можно запустить конфигуратор без авторизации; (запускаем!) выполняем команду: UPDATE PARAMS SET FileName = ‘users.usr’ WHERE FileName = ‘- users.usr’ открываем исходный список пользователей, который можно редактировать;
A в фaйлoвoм вaриaнтe oкaзывaeтся всe дaжe прoщe.
Итак для доступа нам понадобится любой HEX – редактор, но лучше чтобы он поддерживал большие по объему файлы, так как нам придется править большой по объему файл. В пoлe «Искaть:» ввoдим users.usr, стaвим птичку «Юникoдoвaя стрoкa» и ищeм.

00 00 2D 00 00 00 00 09 00 75 00 73 00 65 00 72 00

Для взлома паролей 1С надо изменить байт соседний с 09, так чтобы получилось

00 00 2D 00 00 00 01 09 00 75 00 73 00 65 00 72 00

Как только исправили 0 на 1 нажимаем сохранить и входим в конфигуратор без паролей, не закрывая редактор. Oткрывaeм Aдминистрирoвaниe – Пoльзoвaтeли. Списoк пoльзoвaтeлeй пуст. В редакторе единичку меняем обратно на ноль и пользователи появляются. Дaлee можно добавить нового пользователя или обновить список пользователей – все пользователи должны появиться и теперь мы можем делать с ним все что угодно, например удалить, снять пароль или изменить пароль. Сохраняем список пользователей и можно входить в 1С.


Сайт создан в системе uCoz