:: Вопросы по 1С
формат TXT файла, полученного из 1С
Asws
Автор

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
Импортирую в Fox из 1С номенклатуру для прайс-листа (наименование, цена, остаток) через .txt - файл.
(нужно для быстрых заказов через интернет и формирования счетов с помощью десктопных Фокс - приложений)

Все отлично, кроме того, что формат .txt файла, формируемого 1C, каждый раз меняется пока непонятным для меня образом.

Взять хотя-бы первые строки .txt- файла :

Вариант 1 - шесть символов табуляции(9) + 13 + 10
Вариант 2 - семь символов табуляции(9) + 13 + 10

Середина .txt. - файла :

Вариант 1 строки заканчиваются строго на 9 + 10 + 13
Вариант 2 Строки заканчиваются по разному, причем две позиции номенклатуры в одной строке (до встречи 13 + 10)

Не говоря уже о выделении подпапок (разделов) продукции - формат заголовков тоже разный.

Есть-ли общая спецификация на выводимый из 1С .txt - файл или это проблема в 1С?
(пробовал рекомендовать одну форму вывода, но посмотрел, что они в 1С делают для формирования этого отчета и ужаснулся)
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Asws
Есть-ли общая спецификация на выводимый из 1С .txt - файл или это проблема в 1С?
Странный вопрос. Есть-ли общая спецификация на выводимый из фокса .txt - файл или это проблема в фоксе? А в другом языке программирования?


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Asws
Автор

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
Все равно не устраивает (хотелось-бы сделать экспорт из 1С с ID строк продукции, чтобы не хранить счета в текстовом виде).
Как я понимаю, придется хватать штатного 1С-ника и требовать, чтобы он обеспечил вывод в постоянном формате.
Спасибо.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
А про какую Ску разговор 7.7 или 8 ?
Про 7.7 не знаю но под 8-кой рисуй свою внешнюю обработку пусь выбирает хоть всю номенклатуру хоть по группам, далше выливай в текстовый файл. Потом что понмается под ID - это код или GUID ? И то и другое без проблем


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Asws
Автор

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
7.7 сетевая. Сам-бы написал быстрее то что надо, но не знаю, с какой стороны к 1С подходить.
ID нужен для того, чтобы содержимое счетов хранить как ссылки на ID из списка продукции,
а так как импортируется новый список неизвестно какого содержания, то приходится текстом
(без ID можно и обойтись, счета быстро удаляются и/или заменяются новыми, а конечные документы уже в 1С).
Завтра буду трясти 1С-ника этой конторы, чтобы совместно решить проблему.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
ser60

Сообщений: 255
Дата регистрации: 23.11.2005
я из 1с на основании текстового файла формирую справку в сбербанк для кредита.
Оператор сохраняет в определенную папку файл *.txt, затем прогой в фоксе его анализирую -
вначале построчно, затем анализ строк по месту. Главное, чтобы структура файла была постоянной - не менялось месторасположения нужной информации. Посмотри файл текстовый редактором, который показывает и символы 1-32 chr,в частности редактор nortona.
Определяю местоположение в строке и столбце и затем перезаписываю или в дбф таблицу или сохраняю в переменных для дальнейшей обработки.
Успехов!
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Asws
Автор

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
Вот приготовил предварительное ТЗ на единый формат TXT файла, содержащего номенклатуру продукции
(можно расширять путем прибавления к строкам дополнительных полей, пока не встретится перевод строки (13+10))
Может кому надо или замечания будут?
см. вложение (это .doc - файл в zip - архиве)
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
вАще не понял для чего такой огород городить, используй OLE и тяни что надо, согласен не быстро, но зато получаешь доступ к потрохам 1с.


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

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
1С может быть не установлена на компьютере, нужен txt - файл для импорта, который будет быстро делать
ответственный за это человек (возможно в другом конце города) сразу после очередного изменения цен,
и передавать этот файл куда требуется.
Администрировать работу системы интенет-заказов можно хоть из дома, получая всего-лишь txt-файл,
и не нужно, чтобы для этого необходимо было установить дома сетевую 1С с доступом к данным организации.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
vasya

Сообщений: 71
Дата регистрации: 09.02.2005
Цитата:
используй OLE и тяни что надо, согласен не быстро, но зато получаешь доступ к потрохам 1с.
А можно поподробней про ole применительно к 8-ке
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Применительно к чьей восьмерке? эСовской или ФОКСовской?


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Сергей_Л

Сообщений: 20257
Откуда: Киров(Вятка)
Дата регистрации: 07.02.2005
Примерно так:
obj = CreateObject("V81.Application")
или
obj = CreateObject("V81.COMConnector")

obj.Connect([Srvr="имя сервера";Ref="имя базы";Usr="пользователь";pwd="пароль"])
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
В 1С 8.0 GUID просто так не вытащить у COMОбъекта - я уже налетел на это - спасли только "Потусторонние связи"
Хотя в данной ситуации хватит и кода ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
vasya

Сообщений: 71
Дата регистрации: 09.02.2005
А можно ли написать Запрос к регистру скажем ? (из 8фокса в 1с 8.1 )
И по-каковски - на 1с или в фоксе
А тогда скоко он будет выполняться в сравнении с внешней обработкой ...
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Сергей_Л

Сообщений: 20257
Откуда: Киров(Вятка)
Дата регистрации: 07.02.2005
>А можно ли написать Запрос к регистру скажем ? (из 8фокса в 1с 8.1 )

Можно, вот пример запроса из 8фокса в 1с 8.1 с записью в дбф , правда запрос не из регистра, а из документа, но это без разницы. Запрос рабочий, но часть текста вырезана(чтоб шпиёны не догадались ), текст разбит на несколько кусков, тк передать можно не более 256 знаков(не сразу догадался , набил шишек).
> А тогда скоко он будет выполняться в сравнении с внешней обработкой
Конечно, через COM-объект медленнее.

PARAMETERS god
SET DATE GERMAN
PAT_FIL=Sys(5)+SYS(2003)
DatN=Ctod('01.01.'+TRANSFORM(god))
DatK=Ctod('31.12.'+TRANSFORM(god))
obj = CreateObject("V81.Application")
obj.Connect([Srvr="H04-srv-08";Ref="KR2008";Usr="Ant0";pwd="0tna"])
wait window "идет выгрузка данных..." nowait
Файл=obj.NewObject('XBase')
Файл.Поля.Добавить("dog","S",15,0)
Файл.Поля.Добавить("key_ou","S",25,0)
Файл.Поля.Добавить("socr_potr","S",80)
Файл.Поля.Добавить("inn","S",13,0)
Файл.Поля.Добавить("vol_god","N",17,6)
NameBase = "&PAT_FIL\plan_mes.dbf"
Файл.СоздатьФайл(NameBase)
oQue=obj.NewObject('Запрос')
Текст1 = " Объем12Месяц,"
Текст2="Договор,;
ВнешнийКлюч,;
Потребитель.Наименование КАК Сокр,;
Потребитель.ПолноеНаименование КАК Полн,;"
Текст3="КатегорияПотребления,;
Потребитель.ОКОНХ.Код КАК ОКОНХКод,;
Потребитель.ОКОНХ.ПолноеНаименование КАК ОКПолнНаим,"
Текст4=" Потребитель.ИНН КАК INN,;
ОбъемПоставки,;
Договор.ДатаНачала,;
Договор.ДатаКонца,;
Дата "
Текст5="ИЗ Документ.ПланПоставок.ПланыПоМесяцам КАК ПланПоставокПланыПоМесяцам ;
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланПоставок КАК ПланПоставок ;
ПО ПланПоставокПланыПоМесяцам.Ссылка = ПланПоставок.Ссылка "
Текст6="ГДЕ ПланПоставок.Договор.ДатаНачала >= &ДатаНачала И ПланПоставок.Договор.ДатаНачала < &ДатаКонца ;
УПОРЯДОЧИТЬ ПО Сокр"
oQue.Текст=Текст1+Текст2+Текст3+Текст4+Текст5+Текст6
oQue.УстановитьПараметр("ДатаНачала", DatN)
oQue.УстановитьПараметр("ДатаКонца", DatK)
oRes = oQue.Выполнить().Выгрузить()
FOR EACH oRow IN oRes
Файл.Добавить()
Файл.DOG=oRow.Договор
Файл.key_ou=oRow.ВнешнийКлюч
Файл.poln_potr=oRow.Полн
Файл.inn=oRow.INN
Файл.vol_god=oRow.ОбъемПоставки
Файл.Записать()
ENDFOR
Файл.ЗакрытьФайл()
RELEASE obj



Исправлено 1 раз(а). Последнее : Сергей_Л, 24.07.08 13:39
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
vasya

Сообщений: 71
Дата регистрации: 09.02.2005
Это круто ! Патиба , Сергей_Л!
А можно ли запустить сразу Внешнюю обработку после коннекта ?
...командочку, если можно , пожа-а-а-а-луйста !
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Сергей_Л

Сообщений: 20257
Откуда: Киров(Вятка)
Дата регистрации: 07.02.2005
>А можно ли запустить сразу Внешнюю обработку после коннекта ?
Не совсем понял, нужно запустить внешнюю обработку из фокса?
Если так, то Для 1С 77 здесь в разделе "Не фоксом единым" было:forum.foxclub.ru
Для 8ки не делал не было нужды, попробуй поиск в разделе "Не фоксом единым", только просто "1С" поиск не пойдет, кажись, надо не менее 4 букв.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Где-то так - на фоксе не пробовал - на 1с-ке фигачит тока шлем держи
Тока именно нужен Application - ComConnector не умеет с внешними обработками работать
obj = CreateObject("V81.Application")
obj.Connect([Srvr="H04-srv-08";Ref="KR2008";Usr="Ant0";pwd="0tna"])
Обработка=Obj.ВнешниеОбработки.Создать(ИмяОбработки);
Форма=Обработка.ПолучитьФорму();
Форма.Открыть();


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
Asws
Автор

Сообщений: 325
Откуда: Балаково
Дата регистрации: 20.01.2008
Я насчет единого формата .txt файла серьезно. Позже выложу решение.
Смысл в том, чтобы обеспечить единый интерфейс а-ля-1С, пользователям он нравится.
Именно навигация по подпапкам продукции. Я его сделал штатными средствами без всяких TreeView
На форуме есть решение от Piva и Вячеслава Клепинина, как с помощью ListBox и gdiplus реализовать
навигацию по папкам. Я сделал только с помощью ListBox и набора .bmp файлов (кол-во файлов не ограничено,
можно хоть для каждого подраздела свой рисунок). Функция обработки 50 - 100 строк.
Повторюсь, только стандартное использование ListBox, но результат красивый.
Скриншот прилагаю.
(один файл - скрин рабочего окна программы, второй файл - набор .bmp - файлов для ListBox)
Ratings: 0 negative/0 positive
Re: формат TXT файла, полученного из 1С
vasya

Сообщений: 71
Дата регистрации: 09.02.2005
Цитата:
Я насчет единого формата .txt файла серьезно.
1c часто всталяет в цифровую инф-ю всякие непечатные матюги (типа неразделимый пробел),
откуда-то они берутся , наверное, чтобы жизнь медом не казалась
Ratings: 0 negative/0 positive


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

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

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