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

Помогите новичку запустить обработку.

Автор commiethebeastie, 14 апр 2015, 14:43

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

commiethebeastie

Скачал из интернетов обработку для экспорта в CSV. Изменил запрос в ней. Конфигуратор ошибок не показывает.

Если запускать через 1С:предприятие рарус, то получаю пустое окошко. Конструктор запросов ругается на функцию. Как вообще определить ошибку? В си например я использую valgrind + символы. Разрешение записи в C:\Обмен есть.


// Выполним запрос к справочнику Номенклатуры
// Получим Таблицу Значений
Функция ПолучитьНоменклатуру()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ //ПЕРВЫЕ 1000
| мфоДоговорыКонтрагентов.ДатаНачалаДействия,
| мфоДоговорыКонтрагентов.ДатаОкончанияДействия,
|   мфоДоговорыКонтрагентов.Дата,
| мфоДоговорыКонтрагентов.Контрагент,
|ИЗ
| Справочник.мфоДоговорыКонтрагентов КАК мфоДоговорыКонтрагентов";
Результат = Запрос.Выполнить();
ТаблицаЗначений = Результат.Выгрузить();
возврат ТаблицаЗначений;
КонецФункции //

// Создаем строку загоовков для CSV-файла
Функция СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель)
//разделитель = "|";
колонкиТЗ=ТаблицаЗначений.колонки;
Для каждого колонка Из колонкиТЗ Цикл
стрКолонки = "" + стрКолонки + колонка.Имя + разделитель ;
КонецЦикла;
Возврат стрКолонки;
КонецФункции

// Создаем текст CSV:
// текст заголовков и
// текст данных
Функция СоздатьДанныеCSV(ТаблицаЗначений,разделитель)

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

сообщить(запись.Наименование);
текст = текст + запись.Ссылка
+ разделитель + запись.Код
+ разделитель + запись.Родитель
+ разделитель + запись.Наименование
+ Символы.ПС;
КонецЦикла;

    //сообщить(текст);
Возврат текст;

КонецФункции //

// Запишем данные в файл
Функция ЗаписатьCSV(текст,имяФайла)         
кодировка = КодировкаТекста.ANSI;

    ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
ТекстовыйФайлЗапись.ЗаписатьСтроку(текст);
ТекстовыйФайлЗапись.Закрыть();
Возврат 0;

КонецФункции //

// Основная логика:
Функция ВыгрузитьВCSV(имяФайлаCSV);
    разделитель = "|";
ТаблицаЗначений = ПолучитьНоменклатуру();
текст = СоздатьДанныеCSV(ТаблицаЗначений,разделитель);
ЗаписатьCSV(текст,имяФайлаCSV);

КонецФункции

ВыгрузитьВCSV("C:\Обмен\my.csv");
 

cska-fanat-kz

1. а вы чего код на встроенном языке запихнули в КОНСОЛЬ ЗАПРОСОВ?? однако!
2. в СИ нет точек останова? открыли обработку в конфигураторе, наставили точки, запустили режим "Предприятие" из этого же конфигуратора и отлаживайте себе на здоровье
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

commiethebeastie

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

А то что пустое окошко открывается это реакция на неправильный код?
Добавлено: 14 апр 2015, 15:57


Я меня глупый вопрос. А как main определяется?

MuI_I_Ika

В обработке есть просто модуль обработки. Дополнительно его не нужно объявлять.
Он по умолчанию присутствует в контексте.

Dethmontt

Цитата: commiethebeastie от 14 апр 2015, 15:44Я меня глупый вопрос. А как main определяется?
main определяется под текстом всех функций и процедур

в твоем случае
Цитата: commiethebeastie от 14 апр 2015, 14:43ВыгрузитьВCSV("C:\Обмен\my.csv");


Добавлено: 15 апр 2015, 03:36


commiethebeastie, ты хоть бы текст ошибки привел, а то так сложно сориентироваться где ты чего ломаешь...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

cska-fanat-kz

commiethebeastie, тут по ходу нужен принцип "забудьте все что вы знали до этого" )))
возьмите книжки по 1С для начинающих и вперед изучать.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги: Рарус 

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

Рейтинг@Mail.ru

Поиск