|
|
УПП 1.3 Ввод на основании док-та ОтчетПроизводстваЗаСмену |
☑ |
|
0
sidalexsandr
10.04.17
✎
14:08
|
Написал процедуру ввода на основании документа ОтчетПроизводстваЗаСмену документа УстановкаЦенНоменклатуры. Вот процедура:
Процедура ЗаполнитьТабличнуюЧастьПоОтчетПроизводстваЗаСмену(ДокументОтчетПроизводстваЗаСмену,Перезаполнение=Ложь)
ТипЦенБазовый = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Продажи");
// Получим подчиненные типы цен.
ПодчиненныеТипыЦен = ПолучитьПодчиненныеТипыЦен(ТипЦенБазовый);
ПодчиненныеТипыЦен.Добавить(ТипЦенБазовый);
//Обойдем массив в обратном порядке.
КоличествоПодчиненныхТипов = ПодчиненныеТипыЦен.Количество();
Для Тмп = 1 По КоличествоПодчиненныхТипов Цикл
СтрокаТабличнойЧасти = ТипыЦен.Добавить();
СтрокаТабличнойЧасти.ТипЦен = ПодчиненныеТипыЦен[КоличествоПодчиненныхТипов - Тмп];
КонецЦикла;
// 10.04.17
Для Каждого СтрОтчетПроизводстваЗаСмену Из ДокументОтчетПроизводстваЗаСмену.Продукция Цикл
ТипЦенНоменклатуры = ТипЦенБазовый;
НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[ТипЦенНоменклатуры];
// Добавить следующую номенклатуру
НоваяСтрока = ТаблицаЦен.Добавить();
НоваяСтрока.Номенклатура = СтрОтчетПроизводстваЗаСмену.Номенклатура;
// 10.04.17 Для примера цену установим = 5
СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = 5;
КонецЦикла;
КонецПроцедуры // ЗаполнитьТабличнуюЧастьПоОтчетПроизводстваЗаСмену()
|
|
|
1
sidalexsandr
10.04.17
✎
14:09
|
Процедура выдает ошибку {Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента.Форма(1282)}: Поле объекта не обнаружено (цена)
СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = 5;
Вопрос: как исправить ошибку?
|
|
|
2
sidalexsandr
10.04.17
✎
14:40
|
Делал по образцу ввода на основание ПоступлениеТоваровУслуг документа УстановкаЦенНоменклатуры
|
|
|
3
Strogg
10.04.17
✎
14:43
|
1) сделать точку останова в отладчике на строке:
СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = 5;
2) посмотреть, что содержится в СтрокаТабличнойЧасти
3) посмотреть, что содержится в НомерСоответствияТекущейКолонки
4) сопоставить данные в строке табличной части с именем колонки, получаемой из конкатенации.
5) ???
6) Profit
|
|
|
4
ВикторП
10.04.17
✎
15:06
|
В документе Отчет производства за смену в табличной части Продукция реквизита с таким названием Цена-нет
|
|
|
5
sidalexsandr
10.04.17
✎
15:52
|
(4) Ты не прав. Я про документ УстановкаЦенНоменклатуры, а в нем есть цена.
|
|
|
6
Джинн
10.04.17
✎
16:30
|
(5) "Цена" есть. А "цена" + НомерСоответствияТекущейКолонки нет.
|
|
|
7
PCcomCat
10.04.17
✎
16:38
|
СтрокаТабличнойЧасти - это строка из предыдущего цикла, где ты заполняешь таблицу типов цен - нет там такой колонки "цена".
|
|
|
8
PCcomCat
10.04.17
✎
16:39
|
+(7) НоваяСтрока["цена" + НомерСоответствияТекущейКолонки] = 5;
|
|
|
9
sidalexsandr
10.04.17
✎
16:46
|
(8) Спасибо. Всё заработало.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший