Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 21:12
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ссылка на документ из таблицы значений  (Прочитано 4658 раз)

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

Оффлайн v.kh

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, вопрос, наверное, будет совсем простой, но я только начинаю изучать 1С и с данным вопросом возникли трудности. В 1С 8.3 имеется таблица значений на форме внешней обработки. Тип ячейки таблицы первой колонки - ссылка на документ. Пользователь выбирает документ и он отображается в ячейке. Мне нужно из этой ячейки получить тип документа, выбранный пользователем, номер документа и дату документа. Подскажите пожалуйста как мне получить эти данные. Спасибо.


Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
на клиенте (тонком), свойства объекта, недоступны через точку, но их можно получить с сервера с помощью функции, вот простой вариант (пример с номенклатурой, легко заменить на ваш документ)

&НаКлиенте
Процедура ПереченьНоменклатурыПриАктивизацииСтроки(Элемент)
лкТов = Элементы.ПереченьНоменклатуры.ТекущиеДанные.Номенклатура;
//получаем с сервера ПРОСТЫЕ (дата, строка, число, ссылка, ...) свойства из ссылки на объект
лкСвт = ПолучитьСвойства(лкТов,"Код,Наименование");
Сообщить("" + ТипЗнч(лкТов) + ", " + лкСвт.Код + ", " + лкСвт.Наименование);
КонецПроцедуры

&НаСервере
Функция ПолучитьСвойства(лкСсылка,лкПоля)
лкСвойства = Новый Структура(лкПоля);
ЗаполнитьЗначенияСвойств(лкСвойства,лкСсылка);
возврат лкСвойства;
КонецФункции



если объекты большие, оптимальнее, для получения только нужных свойств использовать запрос,
но это наверно пока еще очень сложно для вас.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
лкСвт = ПолучитьСвойства(лкТов,"Код,Наименование");

Оригинально. очередной раз убеждаюсь в универсальности ЗаполнитьЗначенияСвойств

Оффлайн v.kh

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-06
  • Сайт: 
  • Профессия: Ученик 1С
на клиенте (тонком), свойства объекта, недоступны через точку, но их можно получить с сервера с помощью функции, вот простой вариант (пример с номенклатурой, легко заменить на ваш документ)

&НаКлиенте
Процедура ПереченьНоменклатурыПриАктивизацииСтроки(Элемент)
лкТов = Элементы.ПереченьНоменклатуры.ТекущиеДанные.Номенклатура;
//получаем с сервера ПРОСТЫЕ (дата, строка, число, ссылка, ...) свойства из ссылки на объект
лкСвт = ПолучитьСвойства(лкТов,"Код,Наименование");
Сообщить("" + ТипЗнч(лкТов) + ", " + лкСвт.Код + ", " + лкСвт.Наименование);
КонецПроцедуры

&НаСервере
Функция ПолучитьСвойства(лкСсылка,лкПоля)
лкСвойства = Новый Структура(лкПоля);
ЗаполнитьЗначенияСвойств(лкСвойства,лкСсылка);
возврат лкСвойства;
КонецФункции



если объекты большие, оптимальнее, для получения только нужных свойств использовать запрос,
но это наверно пока еще очень сложно для вас.

Спасибо большое за помощь, все получилось, получила все нужные данные.
Добавлено: 06 Апр 2015, 12:00

Подскажите пожалуйста еще как сделать так, чтобы прикреплялось значение типа документа, к примеру:
Я получила тип документа: НазваниеДокумента = ТипЗнч(лкТов);
Теперь мне нужно к нему обратиться на сервере ДокТип = Документы.НазваниеДокумента;
И вот именно здесь мне пишет 1С, что поле НазваниеДокумента на существует... Как правильно это сделать, чтобы это все соединялось вместе?

   

Последний раз редактировалось: v.kh; 06 Апр 2015, 12:00. Причина: Объединение сообщений

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
ДокТип = Новый(НазваниеДокумента);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ну обратитесь вы к нему, а дальше что? контекст обращения непонятен.

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Подскажите пожалуйста еще как сделать так, чтобы прикреплялось значение типа документа, к примеру:
Я получила тип документа: НазваниеДокумента = ТипЗнч(лкТов);
Теперь мне нужно к нему обратиться на сервере ДокТип = Документы.НазваниеДокумента;
И вот именно здесь мне пишет 1С, что поле НазваниеДокумента на существует... Как правильно это сделать, чтобы это все соединялось вместе?

Давайте начнем с начала! У вас вообще какая задача, что вы хотите сделать с/из Ссылки документа?
Сама ссылка уже содержит в себе Тип документа, Номер и Дата!

пример:
Сборка компьютера 000000003 от 11.01.2012 22:20:17
где
Сборка компьютера - Тип документа (синоним)
000000003 - Номер
11.01.2012 22:20:17 - Дата

чего с чем и для чего вы хотите соединить?
пример нарисуйте!
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн v.kh

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-06
  • Сайт: 
  • Профессия: Ученик 1С
Цитировать
Подскажите пожалуйста еще как сделать так, чтобы прикреплялось значение типа документа, к примеру:
Я получила тип документа: НазваниеДокумента = ТипЗнч(лкТов);
Теперь мне нужно к нему обратиться на сервере ДокТип = Документы.НазваниеДокумента;
И вот именно здесь мне пишет 1С, что поле НазваниеДокумента на существует... Как правильно это сделать, чтобы это все соединялось вместе?

Давайте начнем с начала! У вас вообще какая задача, что вы хотите сделать с/из Ссылки документа?
Сама ссылка уже содержит в себе Тип документа, Номер и Дата!

пример:
Сборка компьютера 000000003 от 11.01.2012 22:20:17
где
Сборка компьютера - Тип документа (синоним)
000000003 - Номер
11.01.2012 22:20:17 - Дата

чего с чем и для чего вы хотите соединить?
пример нарисуйте!

Моя задача заключается в создании внешней обработки для рассылки электронных писем из 1С 8.3. Документ, который хочет отправить пользователь по электронной почте прикрепляется в данную таблицу значений. В обработке мне необходимо получить информацию о том, какой именно документ указал пользователь, далее я формирую данный документ в табличный документ (беру макет документа и заполняю данными, как на печать), записываю его в формате, указанном пользователем (pdf или ексель) и отправляю адресату.
Во внешней обработке у меня есть процедура записи в ексель, туда я должна передать данные о документе (тип документа, дата и номер), выбранном пользователе, сформировать этот документ и сохранить в ексель, ну и далее отправить. Вот сама процедура:
&НаСервере
Процедура ЭкспортВЭксельНаСервере(Путь,дата, номер, тип)
         
   ПутьКФайлу = Путь;
      
   ДокТип = Документы.тип;      
   НомерДокумента = номер;
        ДатаДокумента = дата;   
   ДокСсылка = ДокТип.НайтиПоНомеру(НомерДокумента,ДатаДокумента).Ссылка;
   Док = ДокСсылка.ПолучитьОбъект();
   ДокТЧ = Док.ТЧ;
      
   Макет = Обработки.РассылкаЭлектронныхДокументов.ПолучитьМакет("МакетУчебныйПланДФО");
   
    //заголовок
   ОблЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ТаблицаСохранение.Вывести(ОблЗаголовок);

   //шапка
   ОблШапка = Макет.ПолучитьОбласть("Шапка");
   ОблШапка.Параметры.Заполнить(Док);
   ТаблицаСохранение.Вывести(ОблШапка);

   //шапка табличной части
   ОблТЧШапка = Макет.ПолучитьОбласть("ТЧШапка");
   ТаблицаСохранение.Вывести(ОблТЧШапка);

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

   //подвал
   ОблПодвал = Макет.ПолучитьОбласть("Подвал");
   ОблПодвал.Параметры.Заполнить(Док);
   ТаблицаСохранение.Вывести(ОблПодвал);
   
   
   ТаблицаСохранение.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры

Номер и дату я получила так как вы мне писали выше, вот как теперь увязать имя документа, именно указанного пользователем через точку с объектом Документы, я что-то не допонимаю... Мне получается нужен не синоним документа, а имя его, как оно указано... А еще тоже самое, передаю Путь в процедуру, к примеру, название документа и как сделать чтобы было "D://"+Путь+".xlsx", где Путь какая-то строка, к примеру название документа... Может быть это все и просто, но я запуталась...

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ужос. Стратегия выполнения задания - правильная. А вот тактика конкретного исполнения - отвратительная. У вас изначально таблица заполнена ссылками на документ - так печатайте себе из ссылок.

Оффлайн v.kh

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-06
  • Сайт: 
  • Профессия: Ученик 1С
Ужос. Стратегия выполнения задания - правильная. А вот тактика конкретного исполнения - отвратительная. У вас изначально таблица заполнена ссылками на документ - так печатайте себе из ссылок.

Может быть тактика исполнения у меня и отвратительная, но я же только учусь. Это мое первое задание в 1С, поэтому и обращаюсь за помощью...


Теги:
 

не находить контрагента (Выбрать * Из Документ ГДЕ контрагент = "имя контрагента")

Автор Ivan94Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 234
Последний ответ 23 Окт 2017, 23:14
от Ivan94
Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4396
Последний ответ 25 Ноя 2008, 10:43
от DDD
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9331
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
не могу вывести отображение цен в "подборе" документ "Заявка покупателя" УТ 10.3

Автор Виталий ЕмельяновРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3906
Последний ответ 05 Окт 2015, 19:22
от Виталий Емельянов
Как программно открыть документ программно

Автор СерьезныйЧеловекРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 19014
Последний ответ 10 Ноя 2010, 14:08
от Lexius

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
169 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
49 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 317
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal