8.х как загрузить с внешнего отчета в ЗаказПокупателя

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем mixaluk, 26 ноя 2008.

  1. TopicStarter Overlay
    mixaluk
    Offline

    mixaluk

    Регистрация:
    17 ноя 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    есть файл Екселя, в котором три колонки.
    В ЗаказПокупателя добавляю вызов внешнего отчета.
    Внешний отчет заполняет свою ТЗ по данным Екселя.
    Как потом загрузить из ТЗ в документ

    В 7-ке это было бы так

    Док.ТМЦ = ТЗ.ТМЦ
    Док.Кво=ТЗ.Кво


    а как тут?
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    1С под рукой нет, но все же
    Если в ТЗ колонки совпадают по наименованиям с колонкати ТЗ
    Или по сторочно

    Код:
    Для каждого Стр из ТЗ Цикл
    СтрокаДокумента =  Док.товары.Добавить();
    СтрокаДокумента.номенклатура = Стр.Номенклатура;
    //...
    КонецЦикла;
    
  3. TopicStarter Overlay
    mixaluk
    Offline

    mixaluk

    Регистрация:
    17 ноя 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    к сожалению - еще проблема.
    Так как отчет внешний, то данные отчета не видны из документа. Что делать??
  4. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну этим же отчетом и создавай документ. Заполняй и вперед.
  5. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Я бы на вашем месте действовал не так, но ладно, расскажу как исправить.

    1. Из заказа вы вызываете отчет (лучше бы встроить его в конфигурацию). Сам отчет открываете Модально (Функция ОткрытьМодально()).
    2. В отчете на кнопку ОК, например или еще куда вам надо вешаете ЗАкрытие формы с возвратом таблицы значений
    3. В отчете будет код примерно такой
    Код:
    ФормаВНОтчета = ОТЧЕТ.ПолучитьФорму();
    Результат = ФормаВНОтчета.ОткрытьМодально();
    //Заполняем по результату (в нем таблица значений) вашу табличную часть
    
    
  6. TopicStarter Overlay
    mixaluk
    Offline

    mixaluk

    Регистрация:
    17 ноя 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    1. Из заказа вы вызываете отчет (лучше бы встроить его в конфигурацию). Сам отчет открываете Модально (Функция ОткрытьМодально())....
    пожалуйста подробнее. Первый пункт я сделала.
    Отчет = Отчеты.Загрузка.Создать();
    Форма =Отчет.ПолучитьФорму("ФормаОтчета");
    Форма.ОткрытьМодально();
    потом в открывшемся отчете нажимаю кнопку, заполнилась ТЗ из Екселя
    лист=внешний.Sheets(1); //// Sheets - листы
    пока сокрл(лист.cells(ном,5).value)<>"" цикл
    таб=тз.Добавить();
    таб.тмц=сокрл(лист.cells(ном,НомерНаименование).value);
    таб.кво=сокрл(лист.cells(ном,НомерКво).value);
    Как теперь выполнить пункт второй? (ЗАкрытие формы с возвратом таблицы значений) и запись в документ?
  7. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    В форме в обработчике нажатия кнопки "ОК":

    Закрыть(тз);
  8. TopicStarter Overlay
    mixaluk
    Offline

    mixaluk

    Регистрация:
    17 ноя 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    спасибо... начала делать, но по наименованию не могу находить, только по штрихкоду. У меня есть
    ТЗ.ТМЦ
    ТЗ.Штрихкод

    тип значения штрихкода в 8-ке - это Характеристика.ТипыШтрихкодов
    Я пробовала по наименованию,

    Для каждого Стр из ТЗ Цикл
    СтрокаДокумента = товары.Добавить();
    СтрокаНаименования = ТЗ.тмц ;
    НайденнаяСсылка = Номенклатура.НайтиПоНаименованию(СтрокаНаименования);
    Если НайденнаяСсылка = Номенклатура.ПустаяСсылка() Тогда
    Сообщить("Номенклатуры """ + СтрокаНаименования + """ еще нет");
    КонецЕсли; ////не получается т.к. оно укорочено и не совпадает,

    надо по штрихкоду! А как? в 7-ке это было бы так

    .... .НайтиПореквизиту(Тмц.Штрихкод)
  9. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Штрихкоды привязаны к единицам измерения.
    ВЫ можете найти единицу измерения номенклатуры и ее владельца - это и будет ваша номенклатура.

    А вообще посмотрите "обработку внешнего события" в той же реализации товаров и услуг. Там как раз будет описано как по штрихкоду все ищется.

Поделиться этой страницей