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

Хранилище

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

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



> общая нумерация документов в двух разных базах 1С SQL версии , сделать общую нумерацию документа для двух разных SQL баз 1С          
Murik_1984 Подменю пользователя
сообщение 01.02.11, 11:31
Сообщение #1

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

Ребята, подскажите, как сделать общую нумерацию документа, например НалоговаяНакладная, в двух SQL базах 1C.
База, нумерация которой будет ведущей, та, у которой налоговых за месяц больше (назовем ее ведущей).
Следовательно подключаюсь я к ней из ведомой базы. Делаю я это вот так:

Функция глСоединениеСБД() Экспорт
     Попытка
           База = СоздатьОбъект("ODBCDatabase");
           База.Attach1C();
           Соединение = СокрЛП(Константа.СтрокаСоединенияСSQL); // соединяется нормально, проверено
           Рез = База.Соединение(Соединение);
          
           глРекордсет = СоздатьОбъект("ODBCRecordSet");
           глРекордсет.SetDatabase(База);
     Исключение
           Предупреждение("Нет соединения с БД Талонов!");
           Возврат 0;
     КонецПопытки;
     Возврат 1;
КонецФункции

// а потом в процедуре ВводНового() я хочу присвоить номер документу
  .....
       Если глСоединениеСБД() = 0 Тогда
           Возврат;
     КонецЕсли;

     ТаблицаНалоговых = СоздатьОбъект("SQLLock");
     ТаблицаНалоговых.УстановитьТипОбъекта("Документ","НалоговаяНакладная");
     ТаблицаНалоговых.УстановитьДатуНомера(РабочаяДата());
     //ТаблицаНалоговых.УстановитьТаймаут(10);
   НовыйНомерДокумента = ТаблицаНалоговых.НовыйНомер();
.........


Но вот меня смущает объект SQLLock и его метод НовыйНомер(). Может это как раз то, что мне нужно, но почему-то не получается. Он постоянно формирует номер 000000001. Хотя я уже создал вручную в базах НН с номерами от 00000001 до 00000005.
Причем мне нужно получить просто новый номер из ведущей базы, и зарезервировать его, чтобы ведущая база знала, что этот номер уже занят и т.д.
Может кто работал с SQLLock подскажите, что я делаю неправильно и вообще, возможно ли это.

dmiter Подменю пользователя
сообщение 01.02.11, 20:44
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Скорее SQLLock работает только с локальной базой
-1. это отдельный объект - он никак не связан с ODBCDatabase;
-2. У него нет метода УстБД().

Поэтому один из методов решения Вашей задачи - будет создавать свою таблицу в ведущей базе и семафор. И переписывать нумерацию (установку нового номера) через свою процедуру, второй метод это копаться в нутренностях 1С и пробовать использовать их механизм.
Чувствую что скоро и мне придется решать такую же задачу. Покамест склоняю бухгалтеров на оформление в налоговой двух подразделений (пока безрезультатно sad.gif , только прощупываю почву)
Будут какие-то мысли или решения прошу проинформировать....

Fynjy Подменю пользователя
сообщение 01.02.11, 21:39
Сообщение #3

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Очень просто ... Достаточно не юзать приблуды аля 1С++, а создать отдельную таблицу в SQL и юзать ее ...


Signature

Murik_1984 Подменю пользователя
сообщение 02.02.11, 9:22
Сообщение #4

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

Хорошо, как это будет выглядеть, если создать отдельную таблицу SQL для нумерации? В какой базе она будет: ведущей или ведомой? И нельзя ли прилинковать как-то, т.е. сделать общую таблицу для двух баз....

Fynjy Подменю пользователя
сообщение 02.02.11, 16:00
Сообщение #5

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

В отдельной базе SQL ... Не стоит линковать к одной из баз ... Тем более 7.7 ...


Signature

dmiter Подменю пользователя
сообщение 03.02.11, 15:09
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Я бы делал в ведущей - так хоть можно и пробекапить через сиквель вместе с ведущей базой. И если несколько баз будет - легче робираться какая к какой относится и если работаешь через 1с++ в ведущей можо будет отчетики с данными таблиц 1С строить (вдруг надо будет?)

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


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

 

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