Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Ситуация такая. Купили наши 1С. Зарплата и кадры. Ведут в ней только учет кадров, зарплату начисляют по старым программам. И тут вышла незадачка - все данные (структура подразделения, прием, увольнение, адреса сотрудников и тп) лежат теперь в 1с, а они нужны и в старых задачах! Наши катают на фирму письмо, мол сделайте так, чтобы из 1с можно было экспортировать данные в нужные нам структуры и использовать в старых прогах... Бред, по-моему... Теперь вопрос - кто сталкивался с подобными проблемами (переход со старого на новое) и как они решались. Особенность - предприятие огромное, переход на 1с повсеместно, как я понял, не планируется. Структуру хранения данных 1с-цы нам не дают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 08:23 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Смешно Особенно Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 08:56 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Смешно... Особенно то, что структуру я уже нашел сам :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 09:05 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторСтруктуру хранения данных 1с-цы нам не дают Странные какие-то 1С-цы. Структура лежит в каталоге базы 1С - текстовый файл с расширением .dd Разобраться в нем не будет большой проблемой, особенно для извлечения только справочников. По поводу \'1С Зарплата и кадры\' - расчет зарплаты при средних и больших объемах предприятия, нестандартных схемах начислений и т.д. может превратиться в ад. Я так понимаю, что купили только коробку 1С, отдав внедрение собственному отделу ИТ. Если так то - зря, ИМХО. Пусть бы франчайзи геморой имели. Правда не факт, что и они бы запустили такого монстра как \'1С ЗиК\' :). По поводу подобной проблемы вообще. Был тут топик /topic/37397 там тов. ASCRUS излагал свою точку зрения на проблему расчета зарплаты. Излагал оччень профессионально. Может к нему обратиться - может посоветует чего? Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 09:16 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторСтранные какие-то 1С-цы. Структура лежит в каталоге базы 1С - текстовый файл с расширением .dd Разобраться в нем не будет большой проблемой, особенно для извлечения только справочников. Не верьте. Одним только словарем данных вам не обойтись. Для правильной интерпретации содержимого *.dbf вам может понадобится ещё и доступ к метаданным, которые хранятся в 1cv7.md, который является т.н. compaund файлом, т.е. состоит из OLEStorаges и OLEStreams. Помним, что все внутренние идентификаторы в 1С хранятся в 36-й системе. Те коды, которые имеют место быть в справочниках и документах, на самом деле не более чем муляжи. Если не верите, то посмотрите на структуру индексных файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 11:00 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторНе верьте. Одним только словарем данных вам не обойтись Да, пожалуй что так. Принимается. Если ещё вспомнить о периодических реквизитах... Ещё, как вариант можно рассмотреть выгрузку данных средствами языка самой 1С - в .дбф или .тхт Успехов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 11:34 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
НИ В КОЕМ СЛУЧАЕ не лезьте в таблицы 1 эсс или их мета данные - результат жопа. У них есть ЗАМЕЧАТЕЛЬНЕЙШИЙ инструмент - OLE - просто создайте 1c.Enterprise и имейте доступ ко всему тому что есть в конфигурации, не зависимо от её изменений. Подробности есть в книжках из коробки 1 эсс, там с примерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 11:41 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторНИ В КОЕМ СЛУЧАЕ не лезьте в таблицы 1 эсс или их мета данные - результат жопа. У них есть ЗАМЕЧАТЕЛЬНЕЙШИЙ инструмент - OLE - просто создайте 1c.Enterprise и имейте доступ ко всему тому что есть в конфигурации, не зависимо от её изменений. А я не согласный. Приходится лазить. Для того что бы использовать OLE вам придется запускать лишний экземпляр 1С на своей рабочей станции. А весит экземпляр 1С в памяти не слабо. А если при этом необоходимо интерактивно поработать с 1С, то вот и получите уже 2 экземпляра 1С в памяти. Выборка метаданных даже через OLE по моим ощущениям - процесс медленный. И потом, если я не ошибаюсь, то разговор идет об экспорте данных из 1С, т.е об операции чтения. Если у вас не XP, то доступ к данным 1С можно получить по ODBC, через "Microsoft Visual FoxPro Driver". Так что, если ваше средство разработки, позволяет для доступа к данным использовать ODBC, то Wellcome! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 12:10 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторЕсли у вас не XP Простите, сэр, а какая проблема в ХР? Я просто не в курсе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 12:20 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Если у вас не ПК установлена XP, то ODBC драйвер для Foxpro от Microsoft работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 12:33 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Вот нашел в MSDN: авторInstallation Requirements To install the Microsoft Visual FoxPro ODBC Driver, you need the following: Microsoft Windows® 95, Windows 98, Windows NT® 4.0, or Windows 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 12:39 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
лишний экземпляр - да медленнее - нет - 1эсс (клиент) работает также И действительно, ради одноразовой переброски возиться не стоит, но если нужно постоянно синхронизировать - ЛУЧШЕ один раз написать правильно. З.Ы. Это всё про не СКЛ версию, с ней не знаком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 12:57 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
А кто сказал, что доступ через OLE к метаданным в самом 1С идет быстрее, чем из внешней программы? Идет так же медленно. Дело в том, что если нам необоходимо переодически проводить синхронизацию своих внешних словарей с данными из 1С, то понадобиться доступ к метаданным. Вы же прекрасно понимаете, что в таблицах *.dbf, ссылка объекты 1С идет через их внутренние идентификаторы. Вопрос - как мне используя OLE получить внутренний ID объекта (допустим какого-нибудь перчисления)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 13:06 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Если внешняя программа - ридер текстового файла - вы правы, Но 1эсс - грузит их один раз при запуске, и потом они быстро доступны Для синхронизации не нужен доступ к мета данным. Вместо внутреннего ИД объекта можно использовать его Объект!Код ЕДИНСТВЕННЫЙ недостаток - нельзя менять коды в 1эсс. ЗАТО прога будет работать и при изменении конфигурации. Все подводные камни в виде "мы тут ещё в конфу взаимосвязей добавили" будут брабатываться самой 1эсс, а не вами. И ваша программа экспорта/синхронизации Будет написана (в части обращения к 1 эсс) на языке 1эсс (русском или английском). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 13:16 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Итак давайте рассмотрим ситуацию: Необходимо синхронизировать внешнюю копию справочника товаров со справочником 1С (у меня это будет sc33.dbf). Внешний справочник хранится на SQL. В sc33.dbf имеется поле sp689 - Вид товара. Так вот, Вид товара в моем случае - это есть перчисление. Тип данного поля в sc33.dbf естественно будет С9 (С9 - размерность идентификаторов в 1С). Ещё раз, объясните, как мне узнать значение перчисления по его внутреннему идентификатору? Ваше предложение использовать OLE будет работать примерно так: Последовательно сканируем файл sc33.dbf Для каждой строки из него: 1. Через OLE ищем этот элемент справочника по его коду (CODE) 2. Полуаем в строковую переменную значение перечисления 3. Во внешний спрвочник записывает полученное строковое значение. Как-то накладно все это, при больших объемах данных. Тут уж никой техники не хватит, да и сети тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 14:29 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Вот накопировал, поэтому могут быть баги Dim Trade As Object Set Trade = CreateObject("V1CEnterprise.Application") result = Trade.Initialize(Trade.RMTrade, "/D" & Path & " /m", "NO_SPLASH_SHOW") Dim Товар As Object Dim ВидНоменклатуры As Object Set Товар = Trade.EvalExpr("CreateObject(""Справочник.Номенклатура"")") Set ВидНоменклатуры = Trade.EvalExpr("CreateObject(""Справочник.ВидыНоменклатуры"")") ВидНоменклатуры.НайтиПоНаименованию ("Материал") Товар.Новый Товар.Наименование = "Он не верит что это проще" Товар.ТипТовара = Trade.EvalExpr("Перечисление.ТипыТоваров.ЗначениеПоИдентификатору(""Собственный"")") Товар.ВидНоменклатуры = ВидНоменклатуры.ТекущийЭлемент() Товар.ЕдиницаИзмерения = Trade.EvalExpr("Константа.ОсновнаяЕдиницаИзмерения") Товар.Записать Если это не проще варианта с таблицами (я его тоже делал для 4 видов документов), то я готов съесть .... что-нибудь :-) Причём он отрабатывает ВСЕ скрытые в клиента 1эсс примочки ввиде занесения куда-нибудь в спец таблицы и прочее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 14:43 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
в добивочку у вас ошибка? Номенклатура -> sc33.dbf или sc133.dbf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 14:45 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Справочник номенклатуры - sc33.dbf (если было sc133.dbf, то это описка) Ну и где же в вашем коде репликация в внешним справочником? Ваш пример иллюстрирует добавление в справочник 1С новую позицию через OLE из внешнего приложения. А разговор идет про синхронизацию (или выгрузку если хотите) справочника во внешний справочник. Допустим в Sybase ASA или MS SQL, или MySQL, или ACCESS. Про то что можно все данные вытащить через OLE, я знаю не хуже вас. И в момент синхронизации вы не знаете, что видНоменклатуры = "Материал". Потому что в sc33.dbf в поле SP689 будет что-то вроде ' 4VO ', и вам только предстоит идентифицировать данное значение, как "Материал". А данная информация хранится к сожалению только в 1сv7.md ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 15:01 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Для синхронизации добавляем таблицку, которая хранит соответствие моих ид кодам (или названиям) 1эсс (типа 000000001 , 000002 и т.п.) . А в моей эске sc133.dbf - Номенклатура В момент репликации у меня не будет поля SP689 со значением ' 4VO ' (кстати по моему опять ошибка ' 4VO'), а будет атрибут объекта Товар с названием ВидНоменклатуры , с типом значения "Справочник.ВидыНоменклатуры" и самим значением "Материалы" . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 15:10 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
авторВ момент репликации у меня не будет поля SP689 со значением ' 4VO ' (кстати по моему опять ошибка ' 4VO'), а будет атрибут объекта Товар с названием ВидНоменклатуры , с типом значения "Справочник.ВидыНоменклатуры" и самим значением "Материалы". Поймите, что внешний справочник в моём случае расположен в Sybase ASA И у него не может быть поле с типом значения "Справочник.ВидыНоменклатуры". Жду ваших предложений дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 15:27 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Пусть будет так: в Нашей базе : Товар( ИД, НазваниеТовара, ВидИд) (1,"Фигня",1) (2,"Жуть",1) (3,"Водка",2) (4,"Пыво",2) ВидТовара( ИД, НазваниеВида) (1, "Материалы для всего") (2, "Благодатная жидкость") СвязиЭсс (тип,ИД, Код) - здесь тип 1- это товар, 2 -это вид товара (см ниже) В Эсс: НИЧЕГО НЕ ИЗМЕНЕНО (ДБФ версия) есть ВидыНоменклатуры: "Материалы в один эсс", "Бухло" Надо добавить связи : (2,1,"Материалы в один эсс") (2,2,"Бухло") и похожее для товаров. Тогда при работе с 1эсс можно использовать её наименование "Бухло" для товаров с ВидИд=2 Кстати можно и на их коды завязываться и на названия, И не зависить от представления данных на уровне таблиц. 1эсс сама вам создаст атрибут с именем Наименование не зависимо от его внутреннего поля таблицы с именем ЖП129048 . Прокоментируйте пожалуйста, может я не внятно излагаю, если да, приведите пример для которого не подходит такое решение. Жду ваших ответов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 15:42 |
|
||
|
1C и старые программы
|
|||
|---|---|---|---|
|
#18+
Есть в Сети целая туча программ как расклеймать 1С dbf файлы. Поищите на ХОМБА (HOMBA, сиречь Хомяк Баскервиллей (это не я, это придумал её автор)) а раньше было HARE.ru, там был пример разборки метафайла на С++, но её похоже грохнули. Я давно не занимался, а возможно появились новые. Но всё этто не выше 7-й версии. Восьмёрка -- просто гроб, даже и не пытайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2004, 17:31 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=161&tid=1546157]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 368ms |

| 0 / 0 |
