:: Вопросы по 1С
Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
Привет, всем!
1с 7.7
Интересует выгрузка данных с явной структурой подчиненности, то есть чтобы были в таблицах ID номера документов, есть ли такое в 1с?
Просто мне до конца сложно понять структуру подчиненности в 1с, в фокспро все ясно, назначаешь ID в таблице, чтобы запись другой таблицы была подчинена записи главной таблице, достаточно в дочерней указывать в отдельном поле ID материнской записи, а потом делать всевозможные выборки. В 1с в явном виде этих уникальных номеров нет, хотя по логике вещей должны быть, иначе как связь строится. Так вот, можно ли написать выгрузку документов(справочников) с явной структурой подчиненности, чтобы потом эти DBF использовать в том же фокспро или еще где, для анализа данных?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
Можно, каждый справочник в 1с 7.7 имеет предопределённые реквизиты - Код, Наименование (иногда код не задают)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
Уникальные ID документов ищи в журнале документов. Т.е. Все типы документов имеют сквозную IDентификацию. И там же в журнале есть признак типа документа.
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
PaulWist
Можно, каждый справочник в 1с 7.7 имеет предопределённые реквизиты - Код, Наименование (иногда код не задают)
это не совсем то, вы не пробывали открывать DBF файлы самой 1с в фокспро например, там видно, что эти ID существуют, у них своя особая нумерация: 01...19,1A,1B...1Z и так далее. через эти ID и идет связь, они естетственно скрыты от юзеров и от программеров, но может можно в конфигураторе к ним обратиться и выудить и выгрузить разом всю эту структуру подчиненности.
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
Taran
Уникальные ID документов ищи в журнале документов. Т.е. Все типы документов имеют сквозную IDентификацию. И там же в журнале есть признак типа документа.
а как насчет справочников, если нужно выгрузить родительский справочник и ему подчиненный и сохранить связи?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
Открой в блокноте 1cv7.dds


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
PaulWist
Открой в блокноте 1cv7.dds
хм, спасибо большое,

я вот подумал, как тогда в фокспро сделать запрос подобный:
SELECT f.nomer_akt, f.date_akt, f.summa_akt, f.dog_id, f.subdog_id, f.etap_id, f.akt_id, f.kgg_marker;
FROM akti f;
WHERE f.id=etap.etap_id;
INTO TABLE &UserFolder\akt.dbf

вот, фокспро понимает ID численные, если ID будет типа Character, как в 1С, то как тогда выборку делать?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
вот, фокспро понимает ID численные, если ID будет типа Character, как в 1С, то как тогда выборку делать?
Z вот не могу понять откуда берутся такие размышления и вопросы? На чем они основаны? Где-то есть хоть какие-то запреты на типы сравниваимых данных? Ткните носом. Или где-то стало невозможным сравнить строки?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
Дык, сделай тоже самое в 1с, получишь таблицу значений и её вернешь в фокс.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
Прошу подсказать, имется база бухучета, не могу с помощью файла 1cv7.dd найти таблицу "Видов Субконто". Все перерыл((



Исправлено 1 раз(а). Последнее : Devil To Love, 22.12.09 13:42
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
Прошу подсказать, имется база бухучета, не могу с помощью файла 1cv7.dd найти таблицу "Видов Субконто". Все перерыл((
И не найдешь. Она "виртуальная". И есть только в самой конфигурации.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
Тогда обрисую задачку, может подскажете вариант исполнения:
есть документ Выписка в бухучете, его необходимо портировать в удобоваримые таблички для использования потом в ФоксПро, интересна только многострочная часть документа, имеет вид:
#==TABLE no 85 : Документ (Мн.ч.) Выписка
# Name |Descr |Type[A/S/U]|DBTableName|ReUsable
T=DT238 |Документ (Мн.ч.) Выписка |A |DT238 |1
#-----Fields-------
# Name |Descr |Type|Length|Precision
F=IDDOC |ID Document's |C |9 |0
F=LINENO |LineNo |N |4 |0
F=SP12759 |(P)ВидДвижения |C |9 |0
F=SP229 |(P)НазначениеПлатежа|C |100 |0
F=SP230 |(P)КоррСчет |C |9 |0
F=SP231 |(P)Субконто1 |C |23 |0
F=TSP231 | |C |3 |0
F=SP232 |(P)Субконто2 |C |23 |0
F=TSP232 | |C |3 |0
F=SP233 |(P)Субконто3 |C |23 |0
F=TSP233 | |C |3 |0
F=SP234 |(P)Количество |N |15 |3
F=SP227 |(P)Приход |N |16 |2
F=SP228 |(P)Расход |N |16 |2
F=SP236 |(P)ПервичныйДокумент|C |13 |0
F=SP27322 |(P)ПроданнаяВалюта |C |9 |0
F=SP27323 |(P)КурсПокупкиПродаж|N |11 |4
F=SP27324 |(P)СуммаПроданнойВал|N |16 |2
F=SP27325 |(P)ДокументПоставки |C |13 |0
F=SP27326 |(P)КурсОплаты |N |11 |4
F=SP27327 |(P)НомерДокВходящий |C |15 |0
F=SP27328 |(P)ДатаДокВходящий |D |8 |0

как видите, используются субконто, сами поля субконто имеют вот такие значения ячеек, например:
"B1 3P T"
или
"B1 34 10"
и тд и тп.
и этот бред мне не понятен, я понимаю, что например 3P означает вид субконто = контрагенты, и 34 - Договора, Т - это ID номер конкретного контрагента в справочнике контрагентов, 10 - это ID номер договора, принадлежащего этому контрагенту Т.
Но что мне с этим делать, как их разделить, ведь это все в одной ячейке, как 1с-ка это все обрабатывает. и что первые символы означают - B1 ?
То есть цель, получить суммарную таблицу из таблицы Выписка, удобоваримую для фокспро, то есть, чтобы в этой таблицы было указано, кто плательщик(получатель), по какому договору или другой вид субконто, но чтобы это все было разнесено по ячейкам отдельно, чтобы каждый ID был в своей ячейке, а не три сразу в одной, как выборки тогда делать, структура не понятна...

Как вариант, конечно, юзать Платежные требования и Платежные поручения, на которых и формируются выписки собственно, но у нас бухгалтера не ведут документы Платежные требования, да и если бы вели, эти документы не завязаны с договорами, хотя это можно внедрить.

В общем, надеюсь понятно разъяснил, есть мысли?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
Цитата:
"B1 3P T"
или
"B1 34 10"
в деталях точно не помню надо сырцы смотреть, но один из трех параметров, скорее всего 3P и 34 в каждой строке это номер справочника.
Т.е. в .DD есть описание справочников, где таблицы нумеруются в десятичной системе, но в 1С, в частности в субконто хранится как 36-ричное значение. Т.е. 3*36+4=112. Смотри в своем .DD SP112 что за справочник - похоже на правду?

ИМХО. упирайся всеми силами чтобы перешли на 8 версию и делай интеграцию через COM.
Тебе же потом придется еще и .DS парсить, в частности перечисления лежат там, и 1sCons - а в этой таблице свалено все. И история значений и константы и мусор.
И когда ты все сделаешь - получить бабло - тебе скажут, а теперь чуток переделать под 8 за небольшую доплату.
Хотя конечно при нормальном подходе обработка на уровне .DBF на порядок быстрее чем COM.



Исправлено 1 раз(а). Последнее : Taran, 22.12.09 15:54
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
ну у меня другая ситуация, я не аутсорс, я на постоянном окладе, на 8-ку шеф зарекся не переходить, всех все устраивает в 7-ке, у нас тут не супер корпорация, 2-3 человека 1с-кой пользуются....

Цитата:
Т.е. 3*36+4=112. Смотри в своем .DD SP112 что за справочник - похоже на правду?
спасибо за подсказку, действительно похоже на правду - это справочник договоров, а как быть например с 3P, то есть 3*36+P , здесь P сколько означает? и вообще, может есть статья какая-то - как пересчитать эти значения?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
как быть например с 3P, то есть 3*36+P , здесь P сколько означает? и вообще, может есть статья какая-то - как пересчитать эти значения?
Системы счисления знаешь? Что означают ABCDEF в 16-ричной системе знаешь? Так вот 3P - это число в системе с основанием 36. Дальше догадаешься?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
да вот же, мое упущение, не научился в свое время, сейчас буду рыть инет



Исправлено 1 раз(а). Последнее : Devil To Love, 22.12.09 16:44
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
да вот же, мое упущение, не научился в свое время, сейчас буду рыть инет
М-да...
Радуйся, что у меня архивный винт под рукой оказался... Код времен FPD2.0, слегка подогнанный под VFP.
Function s36_to_dec
LParameter s
Local All
st=Alltrim(s)
V=0
For I=1 To Len(st)
As=Asc(Right(st,I))
Do Case
Case As>=48 And As<=57 && 0..9
A=48
Case As>=65 And As<=90 && A..Z
A=55
Endcase
As=As-A && пеpевод в число (0..36) очеpедного pазpяда стpоки
V=V+As*36^(I-1)
Next
Return V
*******************************************
Function dec_to_s36
LParameter N
Local All
N=Int(N)
I=0
s=''
Do While N>0
s1=N%36
s=Chr(s1+Iif(s1<10,48,55))+s
N=Int(N/36)
Enddo
Return s


------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 22.12.09 16:49
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
ssa
спасибо огромное!
это уже полбеды!
а вот предварительно надо разбить же эту ячейку "B1 3P T" на три отдельных значения, то есть как-то надо использовать то, что они разделены пробелами, но каким методом?
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
Цитата:
на 8-ку шеф зарекся не переходить, всех все устраивает в 7-ке
и тем не менее всегда думай о COM-интеграции. 7.7 работает.
+ ты вынужден писать на "1С-языке". А это монстр и никуда не деться. Т.е. самообразование и будущий хлеб.
К вышеупомянутым проблем с парсингом добавлю еще "длинные строки", а в них скорее всего хранится ЮрНаименование контрагента и довольно часто ПолноеНаименованиеНоменклатуры. Тоже веселая тема.



Исправлено 1 раз(а). Последнее : Taran, 22.12.09 18:15
Ratings: 0 negative/0 positive
Re: Структура подчиненности в 1с 7.7
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
Цитата:
а вот предварительно надо разбить же эту ячейку "B1 3P T" на три отдельных значения,
к сожалению под рукой нет ни 1с-7v базы ни сырцов корректных. Но количество пробелов символов на каждый идентификатор всегда фиксировано.
Применительно к "B1 3P T" получается:
ID_RefName=s36_to_dec(subs("B1 3P T", 3,3)),
ID_RefObj=s36_to_dec(subs("B1 3P T", 6,2))
Но как мне помнится здесь у тебя количество пробелов не адекватно. Под ID объекта скорее всего знаков поболее, да и под идентификатор справочника тоже.

P.S. ID объекта в число переводить только для своих нужд, в эске, в самом справочнике, хранится как строка.



Исправлено 2 раз(а). Последнее : Taran, 22.12.09 18:57
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика