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

Автор Тема: Вопросы начинающего программиста  (Прочитано 14988 раз)

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

Оффлайн SatiS77

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-14
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет!
Начал недавно изучать 1С, делаю задания, разбираюсь. В некоторых моментах получается, в некоторых (порой очень простых) происходит какой-то затуп.
Здесь буду писать некоторые глупые вопросы. Просьба не ругать, т.к. опыта в программировании до сели не имею.
Буду благодарен за помощь.

Вопрос:
В Отчете создаю Табличное поле (тип Таблица Значений), куда вывожу одну колонку с Ф.И.О. из справочника Сотрудники (там помимо Ф.И.О. есть еще должность и оклад человека) плюс еще несколько пустых колонок для своих отметок.
Нужно сделать, чтобы при выделении строки человека с Ф.И.О. снизу в поле Надпись появлялась его должность из справочника Сотрудники.

Надписи на форме я сделал, использую процедуру "При активизации строки". Собственно, дальше затуп :)


Оффлайн Dethmontt

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

Оффлайн SatiS77

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

Оффлайн Dethmontt

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

//Для того что бы вытащить должность нужно понимать как сотрудник связан с должностью
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн SatiS77

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-14
  • Сайт: 
  • Профессия: Ученик 1С
Процедура ПриАктивизацииСтроки()
   ТекущаяСтрока = ЭлементыФормы.ИмяТабличногоПоляКакЗаданоВконфигураторе.ТекущиеДанные;
   ЭлементыФормы.ИмяНадписиНаФорме.Заголовок = ТекущаяСтрока.ФИО.Должность; //тест
КонецПроцедуры

//Для того что бы вытащить должность нужно понимать как сотрудник связан с должностью

Ошибка лезет: Значение не является значением объектного типа (Должность).
В справочнике есть 3 реквизита: ФИО, Должность и Оклад. Т.е. в таблицу значений мы добавляем реквизит ФИО, и надо чтобы при активизации строки с ФИО показывалась должность этого ФИО.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Процедура ПриАктивизацииСтроки()
   ТекущаяСтрока = ЭлементыФормы.ИмяТабличногоПоляКакЗаданоВконфигураторе.ТекущиеДанные;
   ЭлементыФормы.ИмяНадписиНаФорме.Заголовок = ТекущаяСтрока.ФИО.Должность; //тест
КонецПроцедуры

//Для того что бы вытащить должность нужно понимать как сотрудник связан с должностью

Ошибка лезет: Значение не является значением объектного типа (Должность).
В справочнике есть 3 реквизита: ФИО, Должность и Оклад. Т.е. в таблицу значений мы добавляем реквизит ФИО, и надо чтобы при активизации строки с ФИО показывалась должность этого ФИО.

Скриншот, ты пишешь одно, а говоришь другое.
Вариант 1: Управляемое приложение и тебе за должностью надо идти на сервер
Вариант 2: Ты в таб поле ФИО записал информацию с типом "строка", а не ссылку "СправочникСсылка.Сотрудники ".

Решение: Зайди отладчиком, при попытке обратиться к полю "Должность" и посмотри.

Оффлайн SatiS77

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-14
  • Сайт: 
  • Профессия: Ученик 1С
Процедура ПриАктивизацииСтроки()
   ТекущаяСтрока = ЭлементыФормы.ИмяТабличногоПоляКакЗаданоВконфигураторе.ТекущиеДанные;
   ЭлементыФормы.ИмяНадписиНаФорме.Заголовок = ТекущаяСтрока.ФИО.Должность; //тест
КонецПроцедуры

//Для того что бы вытащить должность нужно понимать как сотрудник связан с должностью

Ошибка лезет: Значение не является значением объектного типа (Должность).
В справочнике есть 3 реквизита: ФИО, Должность и Оклад. Т.е. в таблицу значений мы добавляем реквизит ФИО, и надо чтобы при активизации строки с ФИО показывалась должность этого ФИО.

Скриншот, ты пишешь одно, а говоришь другое.
Вариант 1: Управляемое приложение и тебе за должностью надо идти на сервер
Вариант 2: Ты в таб поле ФИО записал информацию с типом "строка", а не ссылку "СправочникСсылка.Сотрудники ".

Решение: Зайди отладчиком, при попытке обратиться к полю "Должность" и посмотри.

Да, ребят, спасибо.
Записал в строку ссылку вида:
Выборка = Справочники.Сотрудники.Выбрать();
НоваяСтрока = тпСотрудники.Добавить();
НоваяСтрока.ФИО = Выборка.ПолучитьОбъект();
И все заработало!

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Процедура ПриАктивизацииСтроки()
   ТекущаяСтрока = ЭлементыФормы.ИмяТабличногоПоляКакЗаданоВконфигураторе.ТекущиеДанные;
   ЭлементыФормы.ИмяНадписиНаФорме.Заголовок = ТекущаяСтрока.ФИО.Должность; //тест
КонецПроцедуры

//Для того что бы вытащить должность нужно понимать как сотрудник связан с должностью

Ошибка лезет: Значение не является значением объектного типа (Должность).
В справочнике есть 3 реквизита: ФИО, Должность и Оклад. Т.е. в таблицу значений мы добавляем реквизит ФИО, и надо чтобы при активизации строки с ФИО показывалась должность этого ФИО.

Скриншот, ты пишешь одно, а говоришь другое.
Вариант 1: Управляемое приложение и тебе за должностью надо идти на сервер
Вариант 2: Ты в таб поле ФИО записал информацию с типом "строка", а не ссылку "СправочникСсылка.Сотрудники ".

Решение: Зайди отладчиком, при попытке обратиться к полю "Должность" и посмотри.

Да, ребят, спасибо.
Записал в строку ссылку вида:
Выборка = Справочники.Сотрудники.Выбрать();
НоваяСтрока = тпСотрудники.Добавить();
НоваяСтрока.ФИО = Выборка.ПолучитьОбъект();
И все заработало!

Выборка = Справочники.Сотрудники.Выбрать();
НоваяСтрока = тпСотрудники.Добавить();
НоваяСтрока.ФИО = Выборка.Ссылка;

Попробуй, получать не надо!

Оффлайн SatiS77

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-06-14
  • Сайт: 
  • Профессия: Ученик 1С
Да, спасибо. Со ссылкой тоже работает :)

Еще вопрос. Я вывожу в табличное поле на форму Таблицу значений. Первая колонка ФИО, далее пустые колонки по количеству дней в месяце.
Процедура ПриОткрытии()

тпСотрудники.Колонки.Добавить("ФИО");

Дата1 = НачалоМесяца(ТекущаяДата());

Для Кол = 0 по 29 Цикл
Дата2 = Дата1+Кол*24*60*60;
НоваяКолонка = тпСотрудники.Колонки.Добавить(,,,9);
НоваяКолонка.Заголовок = " "+Формат(Дата2, "ДФ=ддММММ")+Символы.ПС+Формат(Дата2, "ДФ=ддд");
КонецЦикла;

Выборка = Справочники.Сотрудники.Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;

НоваяСтрока = тпСотрудники.Добавить();
НоваяСтрока.ФИО = Выборка.Ссылка;

КонецЦикла;


ЭлементыФормы.тпСотрудники.СоздатьКолонки();
КонецПроцедуры

Далее, хочу вставлять в пустые поля плюсики.
Процедура тпСотрудникиПередНачаломИзменения(Элемент, Отказ)

    Отказ = Истина;
ТС = ЭлементыФормы.тпСотрудники.ТекущаяСтрока;
ТК = ЭлементыФормы.тпСотрудники.ТекущаяКолонка;

ТС[ТК.Имя] = "+";

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

Но тут при попытке добавить плюсик вылетает ошибка: "Поле объекта не обнаружено".
В каком месте я ошибся?

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
А зачем? xDDD

Для Каждого Строка Из ТабЧасть Цикл
    Для Каждого Колонка Из ТабЧасть.Колонки Цикл
        Если Строка[Колонка.Имя] = "" Тогда
            Строка[Колонка.Имя] = "+"
        КонецЕсли;
    КонецЦикла;
КонецЦикла;


Теги:
 

Вопросы к экзамену "1С Профессионал Бухгалтерия 8" с ответами

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

Ответов: 0
Просмотров: 321
Последний ответ 02 Апр 2018, 07:56
от drago404
Нужна помощь специалиста 1С (v8.1) (программиста) по работе с "Бухгалтерией"

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

Ответов: 2
Просмотров: 2638
Последний ответ 24 Фев 2011, 15:25
от lx470
Бесплатная конференция «Отчетность за I полугодие: актуальные вопросы подготовки и требования законодательства"

Автор mixqnРаздел Мероприятия

Ответов: 0
Просмотров: 1740
Последний ответ 15 Июн 2014, 18:16
от mixqn
ответы на вопросы экзамена 1С профессионал версии 8.2 по технологической платфор

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

Ответов: 0
Просмотров: 2511
Последний ответ 18 Янв 2012, 21:41
от gokusa
Вот когда поотвечать хочется, как назло вопросы не задают )))

Автор DDDРаздел Беседка

Ответов: 3
Просмотров: 3806
Последний ответ 25 Дек 2009, 23:16
от DDD

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
128 Сообщений
AIFrame AIFrame
118 Сообщений
alexandr_ll
57 Сообщений
alex0402
47 Сообщений
pavl_vs
47 Сообщений
buketov.av buketov.av
40 Сообщений
ilyay ilyay
36 Сообщений
trialex3
24 Сообщений
magnifico61
20 Сообщений
wise wise
15 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal