Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 3
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику Пак ::: Спасибо сказали: 1 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
19.05.11, 15:35 Номенклатура на украинском
Цитата(vadim007 @ 17.05.11, 15:51) *
а полное наименование - на украинском. Осталось "только" перевести полное наименование на украинский. Как это сделать как можно быстрее?


Питон - няшка.
Набросал скрипт для перевода полного наименование номенклатуры с русского на украинский с использованием google translate

Питон можно взять тут, я использовал 2.7.1
Модуль для работы с dbf тут

Методика работы:
-делаем копию базы
-Ищем таблицу справочника ТМЦ, для бухгалтерии это SC148.DBF
-Бросаем таблицу рядом со скриптом
-В скрипте настраиваем поле с полным наименованием, для бухгалтерии это SP149
-Запускаем скрипт
- ждем
- перебрасываем модифицированную таблицу в каталог базы
-реиндексация - по вкусу.

Скрипт:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
This code written by pak and licensed by GPLv3 or later
"""
import sys
import re
import urllib
import urllib2
import json
from dbfpy import dbf

def gtr(t,fr,to):
    url = "http://translate.google.com/translate_a/t?%s"
    list_of_params = {'client' : 't',  
                      'hl' : 'en',
                      'multires' : '1', }    
    list_of_params.update({'text' : t,
                               'sl' : fr ,
                               'tl' : to })
    request = urllib2.Request(url % urllib.urlencode(list_of_params),
    headers={ 'User-Agent': 'Mozilla/5.0', 'Accept-Charset': 'utf-8' })
    res = urllib2.urlopen(request).read()

    fixed_json = re.sub(r',{2,}', ',', res).replace(',]', ']')    
    data = json.loads(fixed_json)
      
    #simple translation
    #print "%s / %s / %s" % (data[0][0][0], data[0][0][1], data[0][0][2] or data[0][0][3])
    result_trans = data[0][0][0]

    return     result_trans

def main():
    print     gtr('Привет isden','ru','uk')
    #open file
    db = dbf.Dbf("SC148.DBF")
    # read
    for rec in db:
        name =unicode(rec["SP149"],'cp1251')
        nameUtf8=name.encode('utf-8')
        if rec["ISFOLDER"]== 1:
            print 'is folder'
        else:
            translated = gtr(nameUtf8,'ru','uk')
            print translated
            #write
            rec["SP149"] =  translated.encode('cp1251')
            rec.store()
        
if __name__ == '__main__':
    main()


upd:
ссылка на скачивание исходников src
5_kopeek,

RSS Текстовая версия Сейчас: 22.08.25, 10:23
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!