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

Хранилище

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

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

> Руководство разработчика для MEDOC          
Bernet Подменю пользователя
сообщение 26.04.17, 11:25
Сообщение #1

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

Всем привет.
Нужна документация с описанием структуры БД Медка.
Есть задача на допиливание функционала 1С и получении данных из Медка, а именно: нужно сверять коды УКТЗЕД поставщиков (которые ведутся у нас в базе) и те, которые приходят в входящих налоговых накладных в Медке.
Из примера медовой стыковки COM-объект с реестром входящих налоговых получил, теперь хочу пройтись по таб. части товаров каждого документа, там есть колонка "Код УКТЗЕД" - вот не знаю как её вытянуть, не хотелось бы пальцем в небо тыкать, а знать наверняка. Может кто находил нормальную документацию?

Дошел до следующего места:
        // получаем данные с МЕДКА
    App = Неопределено;
    Попытка
        App = Новый COMОбъект("Medoc.ZApplication")
    Исключение
        Возврат;
    КонецПопытки;                
    
    // Описание входящих параметров Медка:
    // ТипДокумента - "10100" - Налоговая накладная
    // ТипДокумента - "10101" - Приложение 2
    // ТипДокумента - "10100" - Входящий налоговый документ
    
    // Направление - 1 - исходящие
    // Направление - 2 - входящие
        
    prim = App.GetPrimaryDocs();
    Reestr = prim.GetPrimaryReestr("10100", 2, НачалоДня(НачалоПериода), КонецДня(КонецПериода));
    Reestr.First();
    Счетчик = Reestr.RecordCount;
    Пока Счетчик <> 0 Цикл
        
        НомерДокМед     = Reestr.Fields.Item("DOC_NUM").Value;
        ДатаДокМед      = Reestr.Fields.Item("DOC_DATE").Value;
        СуммаДокМед     = Reestr.Fields.Item("DOCSUM").Value;      
        
                // КАК ТУТ ОРГАНИЗОВАТЬ ПЕРЕБОР СТРОК ТАБ. ЧАСТИ И ВЫТЯНУТЬ КОД УКТЗЕД  С КАЖДОЙ СТРОКИ ?

        Счетчик = Счетчик-1;
          Reestr.Next();
    КонецЦикла;


P.S. [необходимо зарегистрироваться для просмотра ссылки] я не нашел того что хотел


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Petre Подменю пользователя
сообщение 26.04.17, 11:34
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2196
Из: Київ, Україна
Спасибо сказали: 517 раз
Рейтинг: 483

Bernet @ Сегодня, 12:25 * ,
Откройте в Медке входящую налоговую, переключите в режим электронного документа - будет вам расписано по именам полей.
Обновленная инструкция (вер. 11) лежит в программном каталоге медка.


Signature
Допрацьовую:
- "Бухгалтерія для України 1.2";
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: iskander1977,

andr_andrey Подменю пользователя
сообщение 26.04.17, 11:43
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 316
Спасибо сказали: 69 раз
Рейтинг: 53.3

Прикрепил файлы в теме в Хранилище, админ одобрит, она появится.


Signature
#define private public

Спасибо сказали: Bernet,

Petre Подменю пользователя
сообщение 26.04.17, 12:00
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2196
Из: Київ, Україна
Спасибо сказали: 517 раз
Рейтинг: 483

Bernet @ Сегодня, 12:25 * ,
В вашем случае вы получили таблицу реестра, и читаете его поля.
Прочитайте поле идентификатора документа в медке;
CardCode = Reestr.FldVal("CardCode");

получите сам документ:
Doc = App.OpenDocumentByCode(CardCode);

получите нужную таблицу, или основную:
rsMain = Doc.DataSets("MAIN");

или табличную часть:
rsTab = Doc.DataSets("TAB1");

и далее читайте поля этих таблиц.


Signature
Допрацьовую:
- "Бухгалтерія для України 1.2";
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Bernet,

Bernet Подменю пользователя
сообщение 26.04.17, 12:01
Сообщение #5

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

Petre @ Сегодня, 13:00 * ,
Спасибо, тоже уже понял, что не туда полез


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Vofka Подменю пользователя
сообщение 26.04.17, 12:59
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 12459
Из: Киев
Спасибо сказали: 3703 раз
Рейтинг: 2830.3

Цитата(andr_andrey @ 26.04.17, 12:43) *
Прикрепил файлы в теме в Хранилище, админ одобрит, она появится.

Опубликовано.


Signature
Услуги 1С программиста

Спасибо сказали: Bernet,

Gazulo Подменю пользователя
сообщение 26.04.17, 21:38
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 100
Спасибо сказали: 9 раз
Рейтинг: 9

Bernet @ Сегодня, 13:01 * ,
можете кинуть пример что у Вас получилось, спасибо.

Bernet Подменю пользователя
сообщение 27.04.17, 8:54
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

Gazulo @ Вчера, 22:38 * ,
что-то вроде такого:
    App = Неопределено;
    Попытка
        App = Новый COMОбъект("Medoc.ZApplication")
    Исключение
        Возврат;
    КонецПопытки;                
    
    // Описание входящих параметров Медка:
    // ТипДокумента - "10100" - Налоговая накладная
    // ТипДокумента - "10101" - Приложение 2
    // ТипДокумента - "10100" - Регистрация входящего налогового документа
    
    // Направление - 1 - исходящие
    // Направление - 2 - входящие
        
    prim = App.GetPrimaryDocs();
    Reestr = prim.GetPrimaryReestr("10100", 2, НачалоГода(ТекущаяДата()), КонецДня(ТекущаяДата()));
    Reestr.First();
    Счетчик = Reestr.RecordCount;
    Пока Счетчик <> 0 Цикл
        
        //ВнешИд             = Reestr.Fields.Item("EXDOC_ID").Value;
        //НомерДокМед         = Reestr.Fields.Item("DOC_NUM").Value;
        МедИД                 = Reestr.Fields.Item("DOC_ID").Value;
        ДатаДокМед          = Reestr.Fields.Item("DOC_DATE").Value;
        СуммаДокМед         = Reestr.Fields.Item("DOCSUM").Value;      
        
        CardCode = Reestr.FldVal("CardCode");
        
        Doc = App.OpenDocumentByCode(CardCode);
        
        rsMain = Doc.DataSets("MAIN");
        КонтрагентИНН    = rsMain.Fields.Item("FIRM_INN").Value;
            
        rsTab = Doc.DataSets("TAB1");
        
        СчетчикТЧ = rsTab.RecordCount;
        Пока СчетчикТЧ <> 0 Цикл
            
            Номенклатура     = rsTab.Fields.Item("TAB1_A13").Value;
            КодУКТЗЕД         = rsTab.Fields.Item("TAB1_A131").Value;
            ЦенаБезНДС        = rsTab.Fields.Item("TAB1_A16").Value;
            
            НоваяСтрока = ТабДанныхМедка.Добавить();
            НоваяСтрока.ДокументИД      = МедИД;
            НоваяСтрока.ДатаДок         = ДатаДокМед;
            НоваяСтрока.СуммаДок        = СуммаДокМед;
            НоваяСтрока.КонтрагентИНН     = КонтрагентИНН;
            НоваяСтрока.Номенклатура    = Номенклатура;
            НоваяСтрока.КодУКТЗЕД        = КодУКТЗЕД;
            НоваяСтрока.ЦенаБезНДС        = ЦенаБезНДС;
            
            СчетчикТЧ = СчетчикТЧ-1;
              rsTab.Next();    
        КонецЦикла;
                
        Счетчик = Счетчик-1;
          Reestr.Next();
    КонецЦикла;


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Спасибо сказали: Gazulo, iskander1977,

Gazulo Подменю пользователя
сообщение 27.04.17, 9:36
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 100
Спасибо сказали: 9 раз
Рейтинг: 9

Bernet @ Сегодня, 9:54 * ,
Спасибо.

Vofka Подменю пользователя
сообщение 27.04.17, 10:02
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 12459
Из: Киев
Спасибо сказали: 3703 раз
Рейтинг: 2830.3

Цитата(Gazulo @ 27.04.17, 10:36) *
Спасибо.

Для спасибо у нас специальная кнопочка имеется.


Signature
Услуги 1С программиста

Спасибо сказали: Gazulo,

Bernet Подменю пользователя
сообщение 20.11.17, 10:25
Сообщение #11

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

Кстати если кто будет страдать похожей фигней - чтобы не морочить Медовую стыковку, COM-объекты и уйти от необходимости запуска Медка для чтения данных из него - есть способ лучше и проще - обращение к базе медка Firebird напрямую через ODBC драйвер. Работает быстрее и надежнее. Простым SQL запросом можно вытянуть все что необходимо.

P.S. Однако стоит помнить что такую связку лучше использовать только на чтение из Медка, записывать в базу ничего из вне не рекомендуется, т.к. хз как поведет себя потом Медок.


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

awp Подменю пользователя
сообщение 01.12.17, 8:52
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 324
Спасибо сказали: 23 раз
Рейтинг: 17

Bernet @ 20.11.17, 10:25 * ,
Есть описание таблиц и полей?


Signature
Бухгалтер - это не профессия! Это диагноз!

Bernet Подменю пользователя
сообщение 01.12.17, 9:14
Сообщение #13

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

awp @ Сегодня, 8:52 * ,
Нет, в Инете не нашел, Медок тоже сморозился. Как уже мне выше подсказывали, иена большей части полей базы совпадает с той структурой которая видна в пользовательском режиме, когда переходим в режим просмотра структуры документа (есть там такая функция точно не помню как называется, когда пользователь прямо на документе видит как эти поля называются в макете). Может это немного поможет и упростит работу


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Bernet Подменю пользователя
сообщение 01.12.17, 11:58
Сообщение #14

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 524
Из: Хмельницкий
Спасибо сказали: 158 раз
Рейтинг: 140.5

У меня была задача: в налоговую автоматом подтягивать коды УКТЗЕД и признак импортного товара, проблема в том что ещё и наименования товаров у нас в базе и у поставщиков не совпадают.
Логика такая: формируем налоговую накладную - смотрим по какой реализации она создана, дальше по реализации по проводкам смотрим с какой партии списало товар (ищем поступление товаров и услуг), далее ищем по партии созданную Входящую налоговую накладную. Получаю её дату и номер. Далее по этой дате и номеру нахожу в Медке в базе нужный мне документ, перебираю все товары и проверяю есть ли товар с таким количеством, ценой и суммой как у нас в поступлении (тут конечно это пальцем в небо, если учесть что могут быть две позиции с одинаковой ценой и количеством, но бухи такое захотели, пусть теперь мучаются 19000000.gif
Если у вас что-то похожее могу дать имена таблиц и реквизитов, которые использовал - сэкономит время.


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

AT-2000 Подменю пользователя
сообщение 04.01.18, 17:59
Сообщение #15

Молчаливый
*
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 6 раз
Рейтинг: 7.8

Bernet @ 27.04.17, 8:54 * ,
а я пітаюсь прописать ИД в 1С звит потому как DOCID без дефисов а EXDOCID пустой
                Пока Счетчик <> 0 Цикл
                    Если ПустаяСтрока(Reestr.Fields.Item("EXDOC_ID").Value)Тогда
                         МедИд = Reestr.Fields.Item("DOC_ID").Value=СтрЗаменить(ИД,"-","");
                     Иначе
                         МедИд = Reestr.Fields.Item("EXDOC_ID").Value=ИД;
                    КонецЕсли;
                    НомерДокаМед = Reestr.Fields.Item("DOC_NUM").Value;
                    КонтрМед = Reestr.Fields.Item("PATRNER_IPN").Value;
                
                    Если МедИд и НомерДока = НомерДокаМед и КонтрМед = Контр Тогда
                        НаличиеВМедке = Истина;
                        ЕРНН = Reestr.Fields.Item("REGDATE").Value;
                        Если ПустаяСтрока(Reestr.Fields.Item("EXDOC_ID").Value)Тогда
                            orgId  = App.SelectFirm(СокрЛП(КодПоЕДРПОУ), СокрЛП(пФил));
                            CardCode = Reestr.FldVal("CardCode");
                            Doc = App.OpenDocumentByCode(CardCode);
                            Doc.DisableScripts();
                            rsMain=Doc.DataSets("MAIN");
                            rsMain.Edit();
                            rsMain.Fields.Item("EXDOC_ID").Value=ИД;
                            rsMain.Post();
                            Doc.EnableScripts();//включаем скрипты  
                            Doc.Save(1);  
                            Doc.Close();
                        КонецЕсли;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 1 -=Юч=-

 

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

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне