Быстрый старт. Мастер-группа Q&A от 14.04.2012

Отвечаем на вопросы участников курса “Быстрый старт”.

1. Системные поля.
Как можно пронумеровать строки в отчете, т.е. добавить колонку номер по порядку?

2. Параметр ЗначенияЗаполнения.
Решаю домашнее задания 4.7.2:

Процедура СоздатьЭлемент(Команда)
ЗначенияФормы = Новый Структура(“Наименование”, Наименование);
    ЗначенияФормы.Вставить(“ИНН”, ИНН);
    ЗначенияФормы.Вставить(“Телефон”, Телефон);
    ОткрытьФорму(“Справочник.Контрагенты.ФормаОбъекта”, Новый Структура(“ЗначенияЗаполнения”, ЗначенияФормы));
КонецПроцедуры

Почему ЗначениеЗаполнения не передает в форму справочника нужные реквизиты?

3. Условное оформление полей.
Как можно раскрасить строки отчета на СКД, в зависимости от условия?

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментариев 8 на “Быстрый старт. Мастер-группа Q&A от 14.04.2012”

  1. Проблема возникла при попытке выполнить эту строчку кода в модуле формы.  <code> ЗначениеВРеквизитФормы(ТабличнаяЧасть, “Элементы.Товары”);</code> 

    • Андрей Шнитов 17.05.2012 в 07:48

      Я так понял, что вы уже самостоятельно разобрались с проблемой? Видел ваш отчет в блоге.

  2. Владислав Ильюхин 19.04.2012 в 12:45

    FoxQuery =  «SELECT * FROM _1C_OLAPS»;
    Здесь название вашей дбфки разумеется
    FoxQuery =  «SELECT * FROM »+ИмяВашейДбфки;

  3. Здравствуйте! У меня вопрос по работе. Мне нужно соединить данные трех таблиц. Две я получаю из 1С, третья приходит ко мне по почте в Excel. Я перебрасываю таблицы из 1С в dbf формат, Excel в txt и обрабатываю в программе, в которой работали до 1С. Получаю отчет.  В результате никто кроме меня этот отчет сделать не может. Как мне в 1С закачать данные с Exsel или хотя бы с txt или с dbf. Я бы этот отчет в 1С написала

    • Добрый день!

      В 1С есть возможность работать со внешними источниками, среди которых могут быть и файлы Excel.
      Но это возможность новая, и есть ряд подводных камней.
      Поэтому в Вашем случае я бы поступил проще – создал регистр сведений нужной структуры (соответствующей внешним данным), и написал бы обработку по заполнению этого регистра из текстового файла (или дбф, или таблицы Excel).
      Самый простой вариант – обработать текстовый файл, если в нем каждое значение хранится в отдельной строке.

      Подробно разбирать не будем, так как тема выходит за рамки курса.
      Но сказу, что нужно использовать тип данных ТекстовыйДокумент, в нем ничего сложного нет.

      Если у Вас куплен базовый курс, то в одной из тематических сессий мастер-группы мы разбираем работу в Excel – Вам может пригодиться.

      • Спасибо, я планирую в ближайшее время купить Базовый и Атестацию, а может и Продвинутый. Только будет ли у меня доступ к старых вопросам Мастер класса?

        • К тематическим сессиям мастер-группы (именно там находится интересующая Вас тема) доступ будет.

    • Владислав Ильюхин 19.04.2012 в 12:43

      ПутьКДанным = “с:\КакойТоТамКаталог\”;
       Соединение = Новый COMОбъект(“ADODB.Connection”);   
       ConnectionString = “Provider=VFPOLEDB.1;Data Source=”+ПутьКДанным +”;Password=;Collating Sequence=MACHINE”;
       Соединение.ConnectionTimeOut =600;
       Соединение.CursorLocation = 3;
       try
         Соединение.Open(ConnectionString);  
       except
         Сообщить(“Не удалось установить соединение с данными! ” +ОписаниеОшибки());
         Возврат;
        endtry;
       FoxQuery =  “SELECT * FROM _1C_OLAPS”;

       RS = Новый COMОбъект(“ADODB.Recordset”);
       try
        RS.Open(FoxQuery, Соединение);
       except
          Сообщить(“Проблемы с выполнением запроса к FOXPRO “+ ОписаниеОшибки());
        Возврат;
       endtry;
        Пока RS.EOF() = 0 Цикл
      // тут анализируете, что лежит в рекордсете и пишете куда хотите, хоть в регистр хоть во временную табличку, типы приводяься от балды у вас будут свои
          Колонка1  = СокрЛП(RS.Fields(0).value);
          Колонка2   = ЗначениеИзСтрокиВнутр(RS.Fields(1).value);    
          Колонка3 = RS.Fields(2).value;    
          RS.MoveNext();
        КонецЦикла;