Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 июн 2025, 16:43

Структурированный регламентный txt

Автор chesnauskis, 26 июн 2018, 15:03

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

chesnauskis

Всем вечер. Сильно не пинайте, совсем newbie.:dfbsdfbsdf:

1С:Предприятие 8.3 (8.3.10.2699)
Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.6.37)
Есть задача, создать структурированный список подразделений в текстовом файле с разделителем или структурированный стандартный xml

Наименование филиала/ Код филиала
Наименование подразделения / Код подразделения
Наименование родителя подразделения / Код родителя подразделения

Второй файл принятые и уволенные сотрудники.
Филиал/Код филиала /Дата приема / Дата увольнения / Табельный номер / ФИО/Должность / Код должности / Наименование Подразделения / Код подразделения


Эти файлы будут загружаться другой 1С программой.

Выгружать нужно регламентно, предположим раз в неделю.

Опять же повторюсь, в програмировании полный нуб, ищу помощи в разжевывании информации, что, как куда....

wise

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

chesnauskis

Цитата: wise от 26 июн 2018, 17:02
(0) читай, учись...

https://helpf.pro/faq8/view/547.html

https://helpme1c.ru/chtenie-i-zapis-xml-v-yazyke-1s-8-3-8-2-v-primerax

http://pro1c.ru/xml-1c.html


Спасибо!
Возникают вопросы по поводу написания кода.
Есть категория "Кадры" из них нужно составить выборку например по вкладкам Сотрудники внутри которой нужно учитывать параметры "ФИО, Таб. номер., Дата приема". Как отобразить это в коде чтобы все эти параметры выводились в txt в итоге, разделяясь например 2 знаками табуляции?


Пойдем от обратного, так чтобы выглядело в txt грубо говоря вот так.


Иванов Иван Иванович      02      02.02.2002
Петров Петр Петрович      03      03.03.2003
Сидоров Андрей Андреевич  04      04.04.2004

wise

(2)

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

chesnauskis

Цитата: wise от 27 июн 2018, 10:20
(2)

ТекстовыйДокумент = Новый ТекстовыйДокумент;
Запрос = Новый Запрос("Выбрать СпрСотрудники.ФИО, СпрСотрудники.ТабНомер, СпрСотрудники.ДатаПриема ИЗ Справочник.Сотрудники КАК СпрСотрудники");
ВыборкаЗапроса = Запрос.Выполнить.Выбрать();
Пока ВыборкаЗапроса.Следующий() Цикл
   ВыходСтрока = ВыборкаЗапроса.ФИО + Символы.Таб + ВыборкаЗапроса.ТабНомер+ Символы.Таб + Строка(ВыборкаЗапроса.ДатаПриема);
   ТекстовыйДокумент.ДобавитьСтроку(ВыходСтрока);
КонецЦикла;


Всё понятно, на другие категории тоже написал, все получилось с этим.
Теперь вопрос в следующем... :dfbsdfbsdf:

Для тренировки использовал пустую инфо. базу, сейчас установил демо версию и столкнулся с проблемой того, что Модуль управляемого приложения является только для чтения. Может быть я сам код не в том месте прогоняю? Хотя результат получился, txt файл на выходе был с необходимой информацией из пустой тестовой базы.

wise

(4) Меню "Конфигурация" -> "Поддержка" -> "Настройка поддержки"
разреши редактирование.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

chesnauskis

Цитата: wise от 27 июн 2018, 12:11
(4) Меню "Конфигурация" -> "Поддержка" -> "Настройка поддержки"
разреши редактирование.

Ругается.

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


{МодульУправляемогоПриложения(2,16)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос("ВЫБРАТЬ Сотрудники.Код КАК Код, Сотрудники.ФизическоеЛицо.ФИО КАК ФИО, ПриемНаРаботу.ДатаПриема КАК ДатаПриема ИЗ Документ.ПриемНаРаботу КАК ПриемНаРаботу ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники ПО ПриемНаРаботу.Сотрудник = Сотрудники.Ссылка"); (Проверка: Тонкий клиент)
{МодульУправляемогоПриложения(4,150)}: Обнаружено логическое завершение исходного текста модуля
Текст.ЗаписатьСтроку(Строка(РезультатДок.Контрагент)+Символы.Таб+Строка(Формат((РезультатДок.Дата),"ДЛФ=D"))+Символы.Таб+Строка(РезультатДок.Номер));<<?>> (Проверка: Тонкий клиент)

Добавлено: 28 июн 2018, 08:41


Цитата: chesnauskis от 28 июн 2018, 08:37
Цитата: wise от 27 июн 2018, 12:11
(4) Меню "Конфигурация" -> "Поддержка" -> "Настройка поддержки"
разреши редактирование.

Ругается.

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


{МодульУправляемогоПриложения(2,16)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос("ВЫБРАТЬ Сотрудники.Код КАК Код, Сотрудники.ФизическоеЛицо.ФИО КАК ФИО, ПриемНаРаботу.ДатаПриема КАК ДатаПриема ИЗ Документ.ПриемНаРаботу КАК ПриемНаРаботу ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники ПО ПриемНаРаботу.Сотрудник = Сотрудники.Ссылка"); (Проверка: Тонкий клиент)
{МодульУправляемогоПриложения(4,150)}: Обнаружено логическое завершение исходного текста модуля
Текст.ЗаписатьСтроку(Строка(РезультатДок.Контрагент)+Символы.Таб+Строка(Формат((РезультатДок.Дата),"ДЛФ=D"))+Символы.Таб+Строка(РезультатДок.Номер));<<?>> (Проверка: Тонкий клиент)


Хотя, я бы на такое не просто ругался, бил бы наверное....
Добавлено: 28 июн 2018, 12:13



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


РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;




{МодульУправляемогоПриложения(1,16)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос(



Что не так?

Sy4a

Ну в целом вам система и написала что тип "Запрос" не найден при проверке на тонком клиенте. Запросы можно только #НаСервере писать.
Ну или использовать Толстый клиент.

Теги:

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

Рейтинг@Mail.ru

Поиск