Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=18945)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Задание на поступление на работу

Автор: pt_denis 23.07.14, 10:33

Здравствуйте, хотелось бы попросить помощи у форумчан.
Я начал изучать програмирование 1с, и хотел бы устроится во франч. Там дали задание которое нужно выполнить в определенный срок. Вот собственно само задание:

Создать справочник Контрагенты, перечисление ВидыЦен(Приход, Опт, Розница), регистр сведений ЦеныНоменклатуры (ТМЦ, ВидЦены, Цена), Документ РасходнаяНаклданая: Контрагент, Склад,ВидЦены мн. ч. ТМЦ,Цена, Количество, Сумма - при изменении ТМЦ из регистра сведений переписываются цены, при изменении вида цены также переписывается из регистра сведений ЦеныНоменклатуры.

Застрял на выделенном тексте. Начал штудировать Радченко, и как в табличной форме при изменении ТМЦ заставить цену переписываться я разобрался. Но как прописать перепись цены при изменении ВидЦены, я немного не догоняю.
Сильно не ругайте, я только 5 день учу =)

Автор: Rayne 23.07.14, 10:37

Да ничем не отличается )) Код в студию, как читал цены из регистра сведений при изменении ТМЦ.

Автор: pt_denis 23.07.14, 10:46

Я взял пример из Радченко, до этого уже такое делал:

Создал общий модуль: РаботаСоСправочниками код

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


а потом в модуле формы РасходноНакладной прописал:
Процедура ТабличнаяЧасть1ТМЦПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.ТМЦ);
    РасчетСуммы.РасчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры


Ну а РасчетСуммы тоже общий модуль.

Автор: Rayne 23.07.14, 10:55

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


Совет: всегда давайте реквизитам и табличным частям осмысленные названия. Для примера, посмотрите, каким образом построен вызов процедур при изменении цен в стандартных документах (реализацию можно взять).

Автор: pt_denis 23.07.14, 11:00

Спасибо огромное.
Примеры реализации на этом форуме? Сейчас поищу, спасибо.

Автор: Егор Динин 23.07.14, 11:08

Цитата(pt_denis @ 23.07.14, 10:33) *
Сильно не ругайте, я только 5 день учу =)

Я учил 4 месяца, перед тем как хоть куда-то взяли. Удачи.

Автор: Rayne 23.07.14, 11:11

Меня взяли франчи, как программиста (пофиг на каком языке), за две недели впихнули мне в голову еще один язык (к моим С++, Делфи, С# это было просто), а дальше полевая работа сделала из меня программиста 1С и дала знания по бухгалтерскому учету. Начальник сказал, что главное не язык, а тип мышления.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua