powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Метаданные
13 сообщений из 13, страница 1 из 1
Метаданные
    #37113797
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая ситуация не могу понять как написать процедуру на выгрузку документа в текстовый документ используя метаданные. Помогите пожалуста разобраться.

Как я понимаю принцип таков, необхомо выгрузить имя документа, реквизиты и табличную часть, если это не так поправте. Необходимо ли использовать при этом список значений или можно обойтись без этого?

Платформа 1С предприятие 8.2
...
Рейтинг: 0 / 0
Метаданные
    #37113920
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и... ?
Вопрос какой-то пространный, непонятно что непонятно.
...
Рейтинг: 0 / 0
Метаданные
    #37113937
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The Dim!Ну и... ?
Вопрос какой-то пространный, непонятно что непонятно.

Мне не понятно как обращаться к документу через метаданные, чтоб всю информацию о документе записать в тек. документ(имя, реквизиты, табличнцю часть) и можно ли не использовать список значений и уник. идентификатор?
...
Рейтинг: 0 / 0
Метаданные
    #37113943
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
curysМне не понятно как обращаться к документу через метаданные, чтоб всю информацию о документе записать в тек. документ
куда-куда записать?
Тыж говорил о текстовике.

curys...можно ли не использовать список значений и уник. идентификатор?
Что понимается под идентификатором?
ID - в том смысле в котором оно используется в базах данных в 1С нет(как-бы нет). Конечно, есть ID.. но из прикладной среды оно недоступно, в этом нет необходимости.
Документ идентифицируется в системе или по дате/номеру или... вариант "или", это когда используется штатные средства для распределенных баз данных.
...
Рейтинг: 0 / 0
Метаданные
    #37113945
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про тек. документ понял :)

Тебе нужно выгрузить какой-то конкретный вид документа или документ произвольного вида?
Отсюда и "пляши".
...
Рейтинг: 0 / 0
Метаданные
    #37113950
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конкретный документ, он выбирается в поле ввода и его необходимо записать в тек.документ. Приведите примерчик пожалуйста, я просто въехать не могу, как это должно происходить.

я на семерке это реализовал, а вот на 8-ке не могу(
...
Рейтинг: 0 / 0
Метаданные
    #37113962
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот как-то так...
...
Рейтинг: 0 / 0
Метаданные
    #37114334
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The Dim!Ну вот как-то так...

Спасибо, это мне теперь понятно)

Для кнопки Выгрузить я написал следующий код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Процедура Выгрузить(Команда)
   
	Если ПустаяСтрока(ДокументДлявыгрузки) =  1  Тогда
		Текст = "ru = ""Выберите документ!""";
        Предупреждение(НСтр(Текст));
		Возврат;
	КонецЕсли;
	Если  ПустаяСтрока(КаталогНаДиске) =  1  Тогда
	    Текст = "ru = ""Выберите путь!""";
		Предупреждение(НСтр(Текст));
		Возврат;
	КонецЕсли;
	
	ТД = Новый ТекстовыйДокумент;
	ТД.Прочитать(КаталогНаДиске);
	ТД.Очистить();

	ТД.ДобавитьСтроку(ДокументДляВыгрузки);
	
	ТД.Записать(КаталогНаДиске);
	Текст = "ru = ""Документ сохранен!""";
	Предупреждение(НСтр(Текст));
	
КонецПроцедуры

Сейчас у меня просто записывает в тек.док. значение поля ввода"ДокументДляВыгрузки".

Как мне выгрузить допустим "Имя" или "реквизит" выбранного документа используя метаданные, у метя отладчик постоянно ругается, пишет что "Переменная не определена (Метаданные)"

Вот то что я на данный момент сделал.
...
Рейтинг: 0 / 0
Метаданные
    #37115948
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С этим я разобался. Дело было в том что я метаданные определял На Клиенте, а необходимо было(Сервер, толтыйклиент)

Теперь ломаю голову как результаты работы метаданных записать в файл, т.е в текстовый документ.

Вот что у меня получилось на данный момент (НЕ СУДИТЕ СТРОГО Я ЕЩЕ НОВИЧОК):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
&НаСервере 
Процедура ВыполнитьНаСервере()  
  СП = Новый Структура("Номер,Дата"); 
  Для Каждого Реквизит Из СсылкаНаДокумент.Метаданные().Реквизиты Цикл 
       СП.Вставить(Реквизит.Имя); 
  КонецЦикла; 
   
  Для каждого Элемент Из СП Цикл 
   Сообщить(СсылкаНаДокумент[Элемент.Ключ]); 
  КонецЦикла; 

  ТЧ=СсылкаНаДокумент.Метаданные().ТабличныеЧасти; 
  Для каждого ТЧ Из СсылкаНаДокумент.Метаданные().ТабличныеЧасти Цикл     
   Сообщить("-------"+ТЧ.Имя+"-------"); 
         Для Каждого Стр Из СсылкаНаДокумент[ТЧ.Имя] Цикл 
             Строчка=""+СсылкаНаДокумент[ТЧ.Имя].Индекс(Стр); 
             Для Каждого Рек Из ТЧ.Реквизиты Цикл  
                 Строчка=Строчка+"."+Рек.Имя+"="+Стр[Рек.Имя]+","; 
    КонецЦикла; 
    Сообщить(Строчка); 
         КонецЦикла;     
  КонецЦикла; 

КонецПроцедуры        

&НаКлиенте 
Процедура Выгрузить(Команда) 
     
  Если ПустаяСтрока(СсылкаНадокумент) =  1  Тогда 
   Текст = "ru = ""Выберите документ!"""; 
   Предупреждение(НСтр(Текст)); 
   Возврат; 
  КонецЕсли; 
  Если  ПустаяСтрока(КаталогНаДиске) =  1  Тогда 
   Текст = "ru = ""Выберите путь!"""; 
   Предупреждение(НСтр(Текст)); 
   Возврат; 
  КонецЕсли; 
   
  ТД = Новый ТекстовыйДокумент; 
  ТД.Прочитать(КаталогНаДиске); 
  ТД.Очистить(); 

  ВыполнитьНаСервере(); 
   
  ТД.Записать(КаталогНаДиске); 
  Текст = "ru = ""Документ сохранен!"""; 
  Предупреждение(НСтр(Текст)); 
   
КонецПроцедуры
...
Рейтинг: 0 / 0
Метаданные
    #37115990
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
....
ВыполнитьНаСервере(ТД);
....

&НаСервере
Процедура ВыполнитьНаСервере( ТД )
СП = Новый Структура("Номер,Дата");
Для Каждого Реквизит Из СсылкаНаДокумент.Метаданные().Реквизиты Цикл
СП.Вставить(Реквизит.Имя);
КонецЦикла;

Для каждого Элемент Из СП Цикл
Сообщить(СсылкаНаДокумент[Элемент.Ключ]);
КонецЦикла;

ТД.ДобавитьСтроку("НачалоНовогоДокумента");

ТЧ=СсылкаНаДокумент.Метаданные().ТабличныеЧасти;
Для каждого ТЧ Из СсылкаНаДокумент.Метаданные().ТабличныеЧасти Цикл
Сообщить("-------"+ТЧ.Имя+"-------");
Для Каждого Стр Из СсылкаНаДокумент[ТЧ.Имя] Цикл
Строчка=""+СсылкаНаДокумент[ТЧ.Имя].Индекс(Стр);
Для Каждого Рек Из ТЧ.Реквизиты Цикл
ТД.Добавить(Рек.Имя+"="+Стр[Рек.Имя]);
Строчка=Строчка+"."+Рек.Имя+"="+Стр[Рек.Имя]+",";
КонецЦикла;
Сообщить(Строчка);
КонецЦикла;
КонецЦикла;

КонецПроцедуры
...
Рейтинг: 0 / 0
Метаданные
    #37116980
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Спасибо! Еще один такой вопросик, а как записать в тек.док имя(вид) документа? У меня что не получается((
...
Рейтинг: 0 / 0
Метаданные
    #37117273
curys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите реализовать загрузку документ из текстового файла!!!

Вот что я пока накидал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
	
		Если  ПустаяСтрока(КаталогНаДиске) =  1  Тогда
		Текст = "ru = ""Выберите файл!""";
		Предупреждение(НСтр(Текст));
		Возврат;
	КонецЕсли;
	
	ТД = Новый ТекстовыйДокумент();
	ТД.Прочитать(КаталогНаДиске);
           Док = Документы.[ИмяДокумента].СоздатьДокумент(); //ЗДЕСЬ ВЫДАЕТ ОШИБКУ "Ожидается идентификатор"


...
Рейтинг: 0 / 0
Метаданные
    #37117336
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тыб всю задачу... сразу... озвучил бы... ))))

Ну для начала, посмотреть что же ты прочитал из текстовика.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Метаданные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]