Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
привет. Как на уровне SQL генерить значение ID в 1С v 7.7? Например, как newID(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 16:27 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
Genniyпривет. Как на уровне SQL генерить значение ID в 1С v 7.7? Например, как newID(). Зависит от версии сервера, начиная с 2005 есть встроенная ф-ия NewID, в более ранних использовались своqство поля IDENTITY либо самопальная NewID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 16:33 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
PaulWist, Можно немного подробней про IDENTITY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 16:51 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
PaulWistGenniyпривет. Как на уровне SQL генерить значение ID в 1С v 7.7? Например, как newID(). Зависит от версии сервера, начиная с 2005 есть встроенная ф-ия NewID, в более ранних использовались своqство поля IDENTITY либо самопальная NewID NewID() не подходит. Ну есть свойство IDENTITY. Ну включу-выключу при вставке. А толку от него? Мне нужно значение. Если самопальная используется, то где её искать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 20:16 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
GenniyPaulWistпропущено... Зависит от версии сервера, начиная с 2005 есть встроенная ф-ия NewID, в более ранних использовались своqство поля IDENTITY либо самопальная NewID NewID() не подходит. Ну есть свойство IDENTITY. Ну включу-выключу при вставке. А толку от него? Мне нужно значение. Если самопальная используется, то где её искать? Что конкретно не устраивает в предложенных вариантах,... возникли трудности с переводом в 36-ричное число? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 22:08 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
PaulWist, Какое значение нужно переводить в 36-ричное число? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 00:14 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
2PaulWist добрый день а чем сейчас занимаетесь? фокс бросили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 09:56 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
GenniyPaulWist, Какое значение нужно переводить в 36-ричное число? Давайте сначала, опишите задачу, типа: "мне надо на стороне сервера сгенерить уникальное значание тип данных int/char/uniquidentifier... конвертироывать его в то-то то-то или не надо конвертировать, получить это значение на клиента или же там же на сервере через ХП вставить значение туда-то туда". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 10:18 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
sWinTyz2PaulWist добрый день а чем сейчас занимаетесь? фокс бросили? Нет, фокс - это как первая любовь :), задачи и софт стали разные, поэтому сюда забрёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 10:20 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
PaulWistGenniyPaulWist, Какое значение нужно переводить в 36-ричное число? Давайте сначала, опишите задачу, типа: "мне надо на стороне сервера сгенерить уникальное значание тип данных int/char/uniquidentifier... конвертироывать его в то-то то-то или не надо конвертировать, получить это значение на клиента или же там же на сервере через ХП вставить значение туда-то туда". Ладно. Вопрос. Как добавить новую запись в справочник или документ, без использования конфигуратора (только на уровне SQL)? Проблема заключается в том, как правильно генерировать значения для поля ID (тип char(9)). Просто не представлял, что может быть такая трудность с добавлением записей без использования конфигуратора... Жуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 11:36 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
GenniyЛадно. Вопрос. Как добавить новую запись в справочник или документ, без использования конфигуратора (только на уровне SQL)? Проблема заключается в том, как правильно генерировать значения для поля ID (тип char(9)). Просто не представлял, что может быть такая трудность с добавлением записей без использования конфигуратора... Жуть. эээ.. а при чем здесь конфигуратор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 11:51 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
tvm, вы можете ответить на вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:01 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
а зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:15 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
GenniyЛадно. Вопрос. Как добавить новую запись в справочник или документ, без использования конфигуратора (только на уровне SQL)? Проблема заключается в том, как правильно генерировать значения для поля ID (тип char(9)). Поле состоит из двух отдельных частей: - префикс ИБ,хранится в 1ssystem (для нераспределенной базы он пустой) - последовательный номер, который хранится в 36ричном представлении. Для генерации нового номера надо: -найти максимальное значение ID для "своего" префикаса (для этого специальный индекс в таблице есть) - добавить к нему 1 (можно через преобразование 36-10-36, а можно и сразу в нужной арифметике) - создать из нового значения и "своего" префикса новый код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:18 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
Genniy, А почему рвать гланды через *** ? OLE вполне нормально справляется. А по теме - запустите профайлер и посмотрите нужный вам код. Там дергаются процедуры, можете и сами их дернуть и получить нужный результат. И поиском в принципе примеры найти несложно. Но все же OLE для этого использовать более правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:01 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
Надо сначала найти максимальное значение, которое перевести из 36-ричного значения в Число, добавить единицу, после чего обратно перевести в 36-ричное значение. Другой вариант: написать функцию увеличения на единицу 36-ричного значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:24 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
pail, префикс ИБ - это правые 3 знака поля ID (IDDoc) (используется для УРБД), а левые 6 знаков - 36-ричное значение ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:28 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
olegvesНадо сначала найти максимальное значение, которое перевести из 36-ричного значения в Число, добавить единицу, после чего обратно перевести в 36-ричное значение. Другой вариант: написать функцию увеличения на единицу 36-ричного значения Я разве что-то другое сказал? olegvespail, префикс ИБ - это правые 3 знака поля ID (IDDoc) (используется для УРБД), а левые 6 знаков - 36-ричное значение ID Такие подробности мне вспоминать уже незачем, подсмотреть негде, а тому, кто посмотреть в своей базе может - ничего больше и не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:42 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
pailGenniyЛадно. Вопрос. Как добавить новую запись в справочник или документ, без использования конфигуратора (только на уровне SQL)? Проблема заключается в том, как правильно генерировать значения для поля ID (тип char(9)). Поле состоит из двух отдельных частей: - префикс ИБ,хранится в 1ssystem (для нераспределенной базы он пустой) - последовательный номер, который хранится в 36ричном представлении. Для генерации нового номера надо: -найти максимальное значение ID для "своего" префикаса (для этого специальный индекс в таблице есть) - добавить к нему 1 (можно через преобразование 36-10-36, а можно и сразу в нужной арифметике) - создать из нового значения и "своего" префикса новый код Максимальное нашел. Переобразовал в 10-ричную. Добавил 1. Конвертнул в 36-ричную. Но таким образом получается ID без учёта ИБ. Я так понимаю, что нужно брать для конвертирования только первые 6 символов, потом после переобразования добавлять префикс ИБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2011, 14:25 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
GenniyЯ так понимаю, что нужно брать для конвертирования только первые 6 символов, потом после переобразования добавлять префикс ИБ.именно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2011, 14:45 |
|
||
|
Как на уровне SQL генерить значение ID в 1С v 7.7?
|
|||
|---|---|---|---|
|
#18+
Вот я в свое время баловался - написал такую функцию в SQL SERVER 2000 - может поможет кому: -- генерирует код для 1С CREATE FUNCTION dbo.KOD (@param CHAR(9)) RETURNS CHAR (9) AS BEGIN Declare @st VARCHAR(7), @ndo SMALLINT, @npo SMALLINT, @st1 CHAR(1), @n SMALLINT , @z SMALLINT, @rez VARCHAR(9), @sym CHAR(1), @f BIT -- отбрасываем пустышки SET @st = LTRIM(RTRIM(@param)) -- вычисляем пробелы до If len(@st) = 6 set @ndo=0 else if len(@st) = 5 set @ndo=1 else if len(@st) = 4 set @ndo=2 else if len(@st) = 3 set @ndo=3 else if len(@st) = 2 set @ndo=4 else if len(@st) = 1 set @ndo=5 -- пробелы после set @npo=3 -- длина кода символов Set @n = 9 - @npo - @ndo Set @z = 0 --- идем справа налево -- выделяем символ rou: Set @sym = SUBSTRING(@st,@n, 1 ) If @sym = '0' set @st1 = '1' If @sym = '1' set @st1 = '2' If @sym = '2' set @st1 = '3' If @sym = '3' set @st1 = '4' If @sym = '4' set @st1 = '5' If @sym = '5' set @st1 = '6' If @sym = '6' set @st1 = '7' If @sym = '7' set @st1 = '8' If @sym = '8' set @st1 = '9' If @sym = '9' set @st1 = 'A' If @sym = 'A' set @st1 = 'B' If @sym = 'B' set @st1 = 'C' If @sym = 'C' set @st1 = 'D' If @sym = 'D' set @st1 = 'E' If @sym= 'E' set @st1 = 'F' If @sym = 'F' set @st1 = 'G' If @sym = 'G' set @st1 = 'H' If @sym = 'H' set @st1 = 'I' If @sym = 'I' set @st1 = 'J' If @sym= 'J' set @st1 = 'K' If @sym= 'K' set @st1 = 'L' If @sym = 'L' set @st1 = 'M' If @sym= 'M' set @st1 = 'N' If @sym = 'N' set @st1 = 'O' If @sym = 'O' set @st1 = 'P' If @sym = 'P' set @st1 = 'Q' If @sym= 'Q' set @st1 = 'R' If @sym = 'R' set @st1 = 'S' If @sym = 'S' set @st1 = 'T' If @sym= 'T' set @st1 = 'U' If @sym= 'U' set @st1 = 'V' If @sym= 'V' set @st1 = 'W' If @sym= 'W' set @st1 = 'X' If @sym = 'X' set @st1 = 'Y' If @sym= 'Y' set @st1 = 'Z' If @sym <> 'Z' BEGIN --- и ничего больше делать не надо SET @rez = SUBSTRING(@st, 1,@n-1) + @st1 + ISNULL(@rez,'') + SPACE(@npo) GOTO EXT END -- только в этом случае надо анализировать следующий разряд -- следующий разряд увеличиваем на единицу или добавляем новый разряд если его нет If @sym= 'Z' BEGIN SET @st1 = '0' SET @z = @z + 1 SET @n = @n - 1 If @n = 0 BEGIN --- добавить новый разряд SET @rez = '10' + ISNULL(@rez,'') + SPACE(@npo) GOTO EXT END If @n>0 BEGIN SET @st = left(@st,@n) SET @rez = '0' + ISNULL(@rez,'') GOTO rou END END EXT: SET @rez = SPACE(9-LEN(@rez)) + @rez RETURN @rez END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 11:47 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37564516&tid=1520743]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 307ms |
| total: | 498ms |

| 0 / 0 |
