Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:54

Заполнить табличную часть данными с mysql

Автор kot488, 13 сен 2017, 23:45

0 Пользователей и 1 гость просматривают эту тему.

kot488

Имеется обработка которая получает с mysql данные и заполняет документ. Нужно сделать заполнение табличной части УпаковочныйМатериал Что бы подставляло с справочника тип упаковочного материала и количество, подскажите пожалуйста как это реализовать можно?

&НаСервере
Процедура ПоехалиНаСервере()
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
|ldo56_zayavki_upakovka.mb3 Как Заказчик,
|ldo56_zayavki_upakovka.upakovka Как Упаковка,
        ldo56_zayavki_upakovka.kolichestvo Как Количество
|ИЗ
|ВнешнийИсточникДанных.Сайт.Таблица.ldo56_zayavki_upakovka КАК ldo56_zayavki_upakovka";   
         
Результат = Запрос.Выполнить().Выгрузить();
Для Каждого ЭлементРезультата из Результат Цикл
    Попытка
        НовыйДокумент = Документы.Упаковка.СоздатьДокумент();
        НовыйДокумент.Заказчик        = Справочники.Представительства.НайтиПоНаименованию(ЭлементРезультата.Заказчик);
        НовыйДокумент.Дата               = ТекущаяДата();

        НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
           Исключение
       КонецПопытки;
КонецЦикла;
   
КонецПроцедуры

&НаКлиенте
Процедура Поехали(Команда)
   ПоехалиНаСервере();
КонецПроцедуры


И возможно ли с помощью 1С удалять данные с mysql, что бы удалялись те данные которые были загружены в базу?

alex0402

Цитата: kot488 от 13 сен 2017, 23:45подставляло с справочника тип упаковочного материала
искать тип упаковочного материала (если нет можно создавать) и записывать в соответствующий реквизит.
Цитата: kot488 от 13 сен 2017, 23:45возможно ли с помощью 1С удалять данные с mysql, что бы удалялись те данные которые были загружены в базу?
возможно...
синтаксис для mysql: delete from <table> where <condition>
Спасибо за Сказать спасибо

kot488

Цитата: alex0402 от 14 сен 2017, 08:01искать тип упаковочного материала (если нет можно создавать) и записывать в соответствующий реквизит.
Вот так вышло добавить строку, а количество, не подскажите как вставить?

Попытка
        НовыйДокумент = Документы.Упаковка.СоздатьДокумент();
        НовыйДокумент.Заказчик        = Справочники.Представительства.НайтиПоНаименованию(ЭлементРезультата.Заказчик);
НовыйДокумент.УпаковочныйМатериал.Добавить().УпаковочныйМатериал = Справочники.УпаковочныйМатериал.НайтиПоНаименованию(ЭлементРезультата.Упаковка);

НовыйДокумент.Дата               = ТекущаяДата();

        НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
           Исключение
       КонецПопытки;


Цитата: alex0402 от 14 сен 2017, 08:01возможно...
синтаксис для mysql: delete from <table> where <condition>

А если просто не загружать те документы которые есть, в таблице Mysq есть колонка, номер заказа, что то типа поиска сделать? Если номер не найден то не загружать, или к примеру загружать только данные за сегодняшний день, а то так дубли создаются

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск