Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Lerap
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 12
1

Автозаполнение табличной части

15.05.2016, 18:06. Просмотров 1397. Ответов 8
Метки нет (Все метки)

Создайте справочник "Основные средства", в который пользователь может вносить все оборудование, которое используется в организации. У каждого ОС должен быть срок использования (число) в месяцах и установленная амортизируемая стоимость. Амортизируемая стоимость может меняться ежегодно, хранить ее необходимо с учетом периодичности.
Создайте документ "Начисление амортизации", в табличной части которого находятся реквизиты:
Основное средство - выбирает пользователь из справочника "Основные средства", Амортизируемая стоимость, Срок использования, Сумма амортизации за месяц (АС/СрокИспользования)

1. Создала справочник "Основные средства"
2. Создала документ "Начисление амортизации" с реквизитами (ОсновноеСредство[тип СправочникСсылка.ОсновныеСредства]), амортизируемая стоимость, срок использования и сумма амортизации за месяц
3. На форме документа указала каким образом рассчитывается сумма амортизации за месяц

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

Подскажите, пожалуйста, как это реализовать
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 18:06
Ответы с готовыми решениями:

Автозаполнение табличной части
Автозаполнение табличной части ПроизводствоГотовойПродукции Как сделать автозаполнение материалов...

Автозаполнение табличной части
Добрый день, как поставить автозаполнение табличной части документа при выборе определённого...

Автозаполнение табличной части документа
Здравствуйте помогите пожалуйста, есть документ Заказ в котором в табличной части Заказ мы...

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

Автозаполнение табличной части документа
Здравствуйте, есть документ "цены на номенклатуру" и в нём реквизит "вид номенклатуры", как сделать...

8
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
15.05.2016, 18:40 2
Lerap, создаете периодический независимый регистр сведений, период - год. Измерение - ОсновноеСредство, ресурсы - Срок использования, Амортизируемая стоимость. Заполните регистр данными.
Далее в документе на событие поля "ОС" ПриИзменении() получайте данные из регистра через ПолучитьПоследнее() - см. синтакс-помощник:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&НаКлиенте
Процедура ТабличнаяЧасть1ОСПриИзменении(Элемент)
 ТекСтрока = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
 СтруктураДанных = ПолучитьСтруктуруПоОСНаСервере(ТекСтрока.ОсновноеСредство);
 ТекСтрока.АмортизируемаяСтоимость = СтруктураДанных.АмортизируемаяСтоимость;
 ТекСтрока.СрокИспользования = СтруктураДанных.СрокИспользования;
КонецПроцедуры
 
&НаСервере
Функция ПолучитьСтруктуруПоОСНаСервере(ОС)
 СтруктураДанных = Новый Структура;
 ДанныеПоРегистру = РегистрыСведений.ДанныеПоОС.ПолучитьПоследнее(Объект.Дата, Новый Структура("ОсновноеСредство", ОС);
 СтруктураДанных.Вставить("АмортизируемаяСтоимость", ДанныеПоРегистру.АмортизируемаяСтоимость);
 СтруктураДанных.Вставить("СрокИспользования ", ДанныеПоРегистру.СрокИспользования);
Возврат СтруктураДанных;
КонецФункции
0
Lerap
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 12
15.05.2016, 19:21  [ТС] 3
Выбрала в документе на событие поле ПриИзменении() ТабличнаяЧасть1ОСПриИзменении
При добавлении нового элемента в документе "Начисление амортизации", после выбора ОС выскакивает ошибка, что поле объекта не обнаружено(ДанныеПоОС)

{Документ.НачислениеАмортизации.Форма.ФормаДокумента.Форма(20)}: Поле объекта не обнаружено (ДанныеПоОС)
ДанныеПоРегистру = РегистрыСведений.ДанныеПоОС.ПолучитьПоследнее(Объект.Дата, Новый Структура("ОсновноеСредство", ОС));
0
Миниатюры
Автозаполнение табличной части   Автозаполнение табличной части  
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
15.05.2016, 19:42 4
Lerap, как вы регистр сведений назвали?

Добавлено через 7 минут
что-то вы видимо документы копируете, даже реквизиты ТЧ не переименовали...

Добавлено через 37 секунд
логично, что предложенные примеры кода надо подгонять под вашу конфигурацию, я не могу знать, как вы что назвали...
0
Lerap
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 12
15.05.2016, 20:20  [ТС] 5
назвала РегистрСведений1

изменила в вашем коде ДанныеПоОС на РегистрСведений1 и ошибка пропала

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

но при нажатии записать измененная сумма или срок не записываются в регистр сведений
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
15.05.2016, 20:38 6
Lerap, а это прописано в задании? Сделайте регистр "подчиненным регистратору" и с помощью Конструктора движений создайте движения в этот регистр документом "Начисление амортизации"
0
Lerap
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 12
16.05.2016, 12:27  [ТС] 7
изменила на подчиненный регистратору, указала регистратора как начисление амортизации
в конструкторе движений каждому полю выбрала соответствующие выражение
при отладке показалась предупреждение, что все сведения из регистра сведений будут удалены
согласилась

при открытии предприятия пропала вкладка регистр сведений

Добавлено через 15 часов 2 минуты
В командном интерфейсе поставила галочку видимости и стал отображается регистр сведений

При добавлении записи из документа данные в регистр сведений записывается автоматически на дату начало года(01.01)

Можно ли сделать так, что при изменении записи в документе, запись соответствующая в регистре перезаписывалась?

Сейчас выскакивает ошибка, что такая запись уже существует
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
16.05.2016, 14:09 8
Lerap, покажите обработку проведения документа. Вы наверное не выставили период.

Добавлено через 2 минуты
я у вас выше спрашивала, указано ли в задании, что при проведении "начисления амортизации" данные должны записываться в регистр? вы так ничего и не ответили. Как я подозреваю: нет, регистр должен был быть независимым, заполняться пользователем вручную(раз в год меняться могут данные!), а данные из регистра уже подставляются в документ "начисление амортизации"...
0
Lerap
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 12
16.05.2016, 15:27  [ТС] 9
Извините, не заметила этого.

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

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 
    // регистр РегистрСведений1
    Движения.РегистрСведений1.Записывать = Истина;
    Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
        Движение = Движения.РегистрСведений1.Добавить();
        Движение.Период = Дата;
        Движение.ОсновноеСредство = ТекСтрокаТабличнаяЧасть1.ОсновноеСредство;
        Движение.СрокИспользования = ТекСтрокаТабличнаяЧасть1.СрокИспользования;
        Движение.АмортизируемаяСтоимость = ТекСтрокаТабличнаяЧасть1.АмортизируемаяСтоимость;
    КонецЦикла;
 
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
0
16.05.2016, 15:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2016, 15:27

Автозаполнение табличной части из другого справочника
Доброе время суток! Ситуация следующая: Есть справочник К01_Профессии, где есть табличная...

Автозаполнение поля табличной части из справочника
Помогите пожалуйста сделать. Есть справочник Библиотека табличной частью. Нужно в Документе...

Автозаполнение поля табличной части из справочника
Здравствуйте. У меня есть несколько справочников. У них реквизиты "Наименование" и "Цена" (Тип...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru