TECDOC. Поиск конструкционных номеров

16.09.13

Интеграция - Внешние источники данных

Обработка получает конструкционные номера по артикулу товара. Работает напрямую с базой TECDOC. Можно использовать для создания элемента справочника "Номенклатура" и прописывания аналогов в табличной части элемента.

Скачать файлы

Наименование Файл Версия Размер
ПоискTECDOC
.epf 48,79Kb
96
.epf 1 48,79Kb 96 Скачать

Не претендую на оригинальность. На сайте уже выложены достойные решения для борьбы с "TECDOC" - //infostart.ru/public/91079/ , //infostart.ru/public/189145/ и др.. Попробовал упростить подход основываясь на принципе,что аналогом детали является деталь с таким же конструкционным номером.


И так (для тех кто первый раз столкнулся)
- Установить TECDOC.
- В Администраторе источников данных ODBC находим источник "Transbase"
  ( для 64 - разрядных операционок запускаем  C:\Windows\SysWOW64\odbcad32.exe)
  нажав кнопку "настройка" видим реквизиты подключения к базе, а именно Driver, DataBase,Server, User
  копируем и вставляем в аналогичные на вкладке обработки - "Настройки", запоминаем настройки.
- Переходим на вкладку поиск, вводим артикул и... поехали

Используемые запросы (для тех.. чтоб не качать)

- Подключение к базе

ConString = "Driver="+СокрЛП(Driver)+";SERVER="+СокрЛП(Server)+";Database="+СокрЛП(DataBase)+";Uid="+СокрЛП(Vid)+";PWD=tcd_error_0;";
Connection = Новый COMОбъект("ADODB.Connection");
Connection.CommandTimeOut= 30;
Попытка
Connection.Open(ConString);
Сообщить("Ок");
Исключение
Сообщить("Не могу подключиться к базе TECDOC !!!");
Возврат;
КонецПопытки;

- Первый шаг, попытка запроса по конструкционному номеру

 Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;

Command.CommandText = "SELECT DISTINCT
|TOF_BRANDS.BRA_BRAND,
|TOF_SUPPLIERS.SUP_BRAND ,
|TOF_ART_LOOKUP.ARL_SEARCH_NUMBER ,
|TOF_ART_LOOKUP.ARL_KIND,
|TOF_ART_LOOKUP.ARL_ART_ID,
|TOF_ARTICLES.ART_ARTICLE_NR,
|TOF_DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT
|FROM TOF_ART_LOOKUP
|LEFT JOIN TOF_BRANDS ON TOF_BRANDS.BRA_ID = TOF_ART_LOOKUP.ARL_BRA_ID
|INNER JOIN TOF_ARTICLES ON TOF_ARTICLES.ART_ID = TOF_ART_LOOKUP.ARL_ART_ID
|INNER JOIN TOF_SUPPLIERS ON TOF_SUPPLIERS.SUP_ID = TOF_ARTICLES.ART_SUP_ID
|INNER JOIN TOF_DESIGNATIONS ON TOF_DESIGNATIONS.DES_ID = TOF_ARTICLES.ART_COMPLETE_DES_ID
|INNER JOIN TOF_DES_TEXTS ON TOF_DES_TEXTS.TEX_ID = TOF_DESIGNATIONS.DES_TEX_ID
|WHERE
|(TOF_ART_LOOKUP.ARL_SEARCH_NUMBER ="
+"'"+Артикул +"') AND"+"
|(TOF_ART_LOOKUP.ARL_KIND IN ('3')) AND
|(TOF_DESIGNATIONS.DES_LNG_ID = 16) "
;

В случае пустого результата - делаем вывод что номер не оригинальный - переходим ко второму запросу

- Второй шаг, поиск по номеру артикула (попытка получения ID деталей)

Арт = "'"+Артикул+"'"; 
Command.CommandText = "SELECT DISTINCT
|TOF_BRANDS.BRA_BRAND,
|TOF_ART_LOOKUP.ARL_DISPLAY_NR,
|TOF_SUPPLIERS.SUP_BRAND ,
|TOF_ART_LOOKUP.ARL_SEARCH_NUMBER ,
|TOF_ART_LOOKUP.ARL_KIND,
|TOF_ART_LOOKUP.ARL_ART_ID,
|TOF_ARTICLES.ART_ARTICLE_NR,
|TOF_DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT
|FROM TOF_ART_LOOKUP
|LEFT JOIN TOF_BRANDS ON TOF_BRANDS.BRA_ID = TOF_ART_LOOKUP.ARL_BRA_ID
|INNER JOIN TOF_ARTICLES ON TOF_ARTICLES.ART_ID = TOF_ART_LOOKUP.ARL_ART_ID
|INNER JOIN TOF_SUPPLIERS ON TOF_SUPPLIERS.SUP_ID = TOF_ARTICLES.ART_SUP_ID
|INNER JOIN TOF_DESIGNATIONS ON TOF_DESIGNATIONS.DES_ID = TOF_ARTICLES.ART_COMPLETE_DES_ID
|INNER JOIN TOF_DES_TEXTS ON TOF_DES_TEXTS.TEX_ID = TOF_DESIGNATIONS.DES_TEX_ID
|WHERE
|(TOF_ART_LOOKUP.ARL_SEARCH_NUMBER = "
+Арт+") AND"+"
|(TOF_ART_LOOKUP.ARL_KIND ='1') AND
|(TOF_DESIGNATIONS.DES_LNG_ID = 16) "
;

- Деталей с нашим артикулом может быть несколько, в этом случае выводим форму выбора для пользователя.
  После выбора, делаем запрос с полученным ID

- Третий шаг, запрос по ID детали

Если таблицаВыбора.Количество() = 1 Тогда 
// ИщемДальше = RS.Fields("ARL_ART_ID").Value;
ИщемДальше = таблицаВыбора[0].ИД;
Иначе // пусть выберет пользователь
ИщемДальше = таблицаВыбора.ВыбратьСтроку(" Артиклов - " +Артикул + " несколько - выберите !").ИД;
КонецЕсли;
Если ИщемДальше = Неопределено Тогда Сообщить("Надо было выбрать!"); Возврат; КонецЕсли;
ищем = Формат(ИщемДальше,"ЧГ=0");

Command.CommandText = "SELECT DISTINCT
|TOF_BRANDS.BRA_BRAND,
|TOF_ART_LOOKUP.ARL_DISPLAY_NR,
|TOF_SUPPLIERS.SUP_BRAND ,
|TOF_ART_LOOKUP.ARL_SEARCH_NUMBER ,
|TOF_ART_LOOKUP.ARL_KIND,
|TOF_ART_LOOKUP.ARL_ART_ID,
|TOF_ARTICLES.ART_ARTICLE_NR,
|TOF_DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT
|FROM TOF_ART_LOOKUP
|LEFT JOIN TOF_BRANDS ON TOF_BRANDS.BRA_ID = TOF_ART_LOOKUP.ARL_BRA_ID
|INNER JOIN TOF_ARTICLES ON TOF_ARTICLES.ART_ID = TOF_ART_LOOKUP.ARL_ART_ID
|INNER JOIN TOF_SUPPLIERS ON TOF_SUPPLIERS.SUP_ID = TOF_ARTICLES.ART_SUP_ID
|INNER JOIN TOF_DESIGNATIONS ON TOF_DESIGNATIONS.DES_ID = TOF_ARTICLES.ART_COMPLETE_DES_ID
|INNER JOIN TOF_DES_TEXTS ON TOF_DES_TEXTS.TEX_ID = TOF_DESIGNATIONS.DES_TEX_ID
|WHERE
|(TOF_ART_LOOKUP.ARL_ART_ID = "
+ищем+") AND"+"
|(TOF_ART_LOOKUP.ARL_KIND IN ('3')) AND
|(TOF_DESIGNATIONS.DES_LNG_ID = 16) "
;

 p.s. 
Вот, собственно, и все. За оптимальность и красоту не боролся - главное простота отладки.
При внедрении обработки в конфигурацию запретил пользователям вносить номенклатуру вручную, что существенно облегчило борьбу с дублями артикулов и аналогов. 

 

TECDOC

См. также

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3, а также MS Excel в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Visiology, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

160000 руб.

15.11.2022    10120    7    23    

18

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    79905    119    121    

139

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    46973    89    153    

82

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С: Бухгалтерия 3.0 (базовая, ПРОФ, КОРП)

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП).

13200 руб.

19.12.2016    43742    78    101    

62

Импорт документов из розничной программы учета (ТрейдФарм, Манускрипт Солюшн, Е-Фарма и др.) в Бухгалтерию 3.0 с формированием книги учета доходов и расходов при УСН и бухгалтерского и налогового учета при ОСНО

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Налоговый учет Платные (руб)

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

18000 руб.

09.04.2020    17354    10    8    

6

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

Внешние источники данных Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    5576    14    2    

15

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

6000 руб.

24.06.2021    17770    45    41    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Evgen.Ponomarenko 563 16.09.13 19:11 Сейчас в теме
Тема зачетная, когда-то приходилось иметь дело с тек доком. Для связи через ADODB ключ к TECDOC требуется?
4. h00k 50 18.09.13 11:05 Сейчас в теме
(1) Естественно не нужен.
Ключ проверяется клиентом TecDoc, когда запускается Tof.exe
Evgen.Ponomarenko; +1 Ответить
2. legrey 67 16.09.13 22:34 Сейчас в теме
Хм....:-) даже не знаю, не пробовал. Хороший вопрос, кстати.
3. Evgen.Ponomarenko 563 17.09.13 17:02 Сейчас в теме
(2)
Если ключ не нужен - это прорыв ;))) в принципе кряк подойдет )))
Хотя для серьезной компании - текдок не это роскошь
5. revned 6 11.02.14 23:01 Сейчас в теме
подскажите как подключать, плиз.
TecDoc поставил. захожу в администрирование - источники данных odbc но не вижу там никак Transbase.. и соответственно настройки не могу посмотреть. что куда добавить нужно? на какой вкладке хоть? совсем затупил уже. Или ТекДок как-то не так установился.. не могу я понять.
6. legrey 67 16.02.14 04:11 Сейчас в теме
(5) revned, windows какая ?
7. revned 6 17.02.14 20:35 Сейчас в теме
(6) 7-ка х86
8. zawwowa 28.07.14 17:32 Сейчас в теме
А под 8.3 есть обработка? Или как переписать?
steck_klg; +1 Ответить
9. zawwowa 28.07.14 17:34 Сейчас в теме
Ошибка " метод объекта не обнаружен сведенияовнешнейобработке"
10. Alex123456 01.09.14 09:09 Сейчас в теме
А тексты запросов Вы сами писали или где-то нашли?
11. legrey 67 02.09.14 05:11 Сейчас в теме
(10) Alex123456,
Не помню. По моему полазил по инету, нашел кусками и переписал по своему
12. soneryk 14.12.14 23:42 Сейчас в теме
Здравствуйте. Скажите, пожалуйста, у меня инсталлирован TecDoc, но в источниках данных ОДБЦ в "администрировании" на вкладке "пользовательское DNS" нет данных по Transbase, а на вкладке "драйвер" Transbase присутсвует в списке, но нет настроек подключения к TecDoc. Где взять настройки для соединения с TecDoc
13. h00k 50 15.12.14 03:05 Сейчас в теме
(12)soneryk
на вкладке "пользовательское DNS" нет данных по Transbase

Пользовательский DSN на то и пользовательский, что пользователь его сам создает.
И для подключения к TecDoc он, в принципе то, и не нужен.

Где взять настройки для соединения с TecDoc

Настройки зависят от того куда и какая версия TecDoc у вас установлена, неизменны только:
Пользователь - tecdoc
Пароль - tcd_error_0

Более или менее универсальная процедура подключения выглядит так
Процедура ИнициализироватьСоединение(пСервер, пБазаДанных)
	
	лПользователь 	= "tecdoc";
	лПароль			= "tcd_error_0";
		
	лИмяБазыДанных 		= "TECDOC_CD_" +Лев(пБазаДанных,1)+ "_" + Прав(пБазаДанных, 4);
	лДрайверБазыДанных	= "Transbase ODBC TECDOC CD " +Лев(пБазаДанных,1)+ "_" + Прав(пБазаДанных, 4);

	лСтрокаПодключения 	= "DRIVER={"+лДрайверБазыДанных+"};DATABASE="+лИмяБазыДанных+"@"+пСервер+";PWD="+лПароль+";UID="+лПользователь+";"; 
	
	лСоединение  = Новый COMОбъект("ADODB.Connection");
	лСоединение.ConnectionString = лСтрокаПодключения;
	Попытка
		лСоединение.Open();
		лПодключениеУстановлено = Истина;
	Исключение
		лПодключениеУстановлено = Ложь;
	КонецПопытки;

КонецПроцедуры	
Показать

Где
пСервер - имя или IP-адрес сервера на котором установлен TecDoc.
пБазаДанных - Строка содержащая версию каталога, в формате квартал-год
Оставьте свое сообщение