|
Ошибка Поле объекта недоступно для записи Получено | ☑ | ||
---|---|---|---|---|
0
shamsiaka
05.03.15
✎
15:41
|
Создал процедуру В Договора Купли продажи ТМЦ (Форма Списка) 1с8.1
Процедура ДействияФормыПереПроверитьДоговора(Кнопка) Выборка = Документы.ДоговорКуплиПродажиТМЦ.Выбрать(); Пока Выборка.Следующий() Цикл ПризнакДоговора = Выборка.Представление; ВсегоСтрокНоменклатур = Выборка.Список.Количество(); Для jj=0 по ВсегоСтрокНоменклатур-1 Цикл ТекДокумент = Выборка.Список.Получить(jj); ТекДокумент.Получено = 0; ?? Ошибка Поле объекта недоступно для записи Получено ТекДокумент.Записать(); КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
1
Анютик
05.03.15
✎
15:42
|
Объект получить нужно
|
|||
2
ДенисЧ
05.03.15
✎
15:42
|
Возьми бумажку А4, ручку и напишии на ней 100 раз фразу "Я всегда буду получать объект из ссылки для изменения!"
После того, как напишешь, используй метод ПолучитьОбъект() |
|||
3
DexterMorgan
05.03.15
✎
15:42
|
выходит что недоступно
|
|||
4
DexterMorgan
05.03.15
✎
15:44
|
обход документов доставил, такого не видел =)
|
|||
5
GROOVY
05.03.15
✎
15:49
|
(4) Да, отличный показатель. ТС не въезжает что такое "выборка" и зачем она нужна. А судя по вопросу и то, что такое "Объект" и "ссылка".
|
|||
6
shamsiaka
05.03.15
✎
15:54
|
Документ.ДоговорКуплиПродажиТМЦ.Форма.ФормаСписка(21)}: Метод объекта не обнаружен (ПолучитьОбъект)
ТекДокумент.ПолучитьОбъект(); |
|||
7
D_E_S_131
05.03.15
✎
15:56
|
Вероятно "Выборка.Список.Получить(jj)" получает строку ТЧ, из которой только потом нужно получить документ.
|
|||
8
shamsiaka
05.03.15
✎
16:01
|
Пробовал по всякому но метод ПолучитьОбъект() не доступен
|
|||
9
D_E_S_131
05.03.15
✎
16:01
|
А словами объяснить можно что и в каком объекте надо изменить?
|
|||
10
ДенисЧ
05.03.15
✎
16:01
|
Сообщить(ТипЗнч(ТекДокумент));
|
|||
11
shamsiaka
05.03.15
✎
16:07
|
Колонка ТЧ Получено (Это кол-во полученного товара по приходным накладным в договоре список номенклатуры)
нужно сначало обнулить , а потом обход накладных документов и подсчет количества товаров по номенклатуре |
|||
12
shamsiaka
05.03.15
✎
16:09
|
Сообщить(ТипЗнч(ТекДокумент));
Документ табличная часть строка: Список |
|||
13
salvator
05.03.15
✎
16:10
|
Обнуление:
Процедура ДействияФормыПереПроверитьДоговора(Кнопка) Выборка = Документы.ДоговорКуплиПродажиТМЦ.Выбрать(); Пока Выборка.Следующий() Цикл ПризнакДоговора = Выборка.Представление; ТекДокумент = Выборка.Ссылка.ПолучитьОбъект(); Для Каждого СтрТЧ ИЗ ТекДокумент.Список Цикл СтрТЧ.Получено = 0; КонецЦикла; ТекДокумент.Записать(); КонецЦикла; КонецПроцедуры |
|||
14
shamsiaka
05.03.15
✎
16:22
|
Для Каждого СтрТЧ ИЗ ТекДокумент.Список Цикл
СтрТЧ.Получено = 0; КонецЦикла; ТекДокумент.Список Поле объекта не обнаружено (Список) |
|||
15
salvator
05.03.15
✎
16:26
|
(14) Какое имя у табличной части документа?
|
|||
16
shamsiaka
05.03.15
✎
16:28
|
Вот так Документ Открывается
ДокОбразец = Выборка.ПолучитьОбъект().ПолучитьФорму(); ДокОбразец.Открыть(); но не открывая документ обнулить значение поля ТЧ |
|||
17
shamsiaka
05.03.15
✎
16:28
|
Список
|
|||
18
vicof
05.03.15
✎
16:34
|
(17) докажи
|
|||
19
salvator
05.03.15
✎
16:35
|
(17) Скинь сюда свою процедуру исправленную.
|
|||
20
shamsiaka
05.03.15
✎
16:40
|
Процедура ДействияФормыПереПроверитьДоговора(Кнопка)
Выборка = Документы.ДоговорКуплиПродажиТМЦ.Выбрать(); Пока Выборка.Следующий() Цикл ПризнакДоговора = Выборка.Представление; ВсегоСтрокНоменклатур = Выборка.Список.Количество(); ДокОбразец = Неопределено; Для jj=0 по ВсегоСтрокНоменклатур-1 Цикл ТекДокумент = Выборка.Список.Получить(jj); Для Каждого СтрТЧ ИЗ ТекДокумент.Список Цикл СтрТЧ.Получено = 0; КонецЦикла; ТекДокумент.Записать(); ДокОбразец = Выборка.ПолучитьОбъект).ПолучитьФорму(); ДокОбразец.Открыть(); ДокОбразец.Активизировать(); ДокОбразец.ТекущийЭлемент.Доступность = Истина; //Сообщить(ТипЗнч(ТекДокумент)); //ТекДокумент.ПолучитьОбъект(); //ТекДокумент.Получено = "0"; КонецЦикла; ВыборкаН = Документы.НоменклатураПоступление.Выбрать(); Пока ВыборкаН.Следующий() Цикл Если ВыборкаН.ДоговорКорреспондента=ПризнакДоговора Тогда // Получить количество строк Табличной части документа ВсегоСтрок = ВыборкаН.Список.Количество(); //Сообщить("Выборка.ДоговорКорреспондента = "+Выборка.ДоговорКорреспондента,СтатусСообщения.Важное); Если ВсегоСтрок>0 Тогда // Проход по списку табличной части документа Номенклатура Поступление //Сообщить("ВсегоСтрок "+ВсегоСтрок,СтатусСообщения.Важное); Для ii=0 по ВсегоСтрок-1 Цикл Выбор = ВыборкаН.Список.Получить(ii); Товар = Выбор.Номенклатура; Цена = Выбор.Цена; Колво = Выбор.Количество; //Сообщить(" "+товар+" "+цена+" "+колво,СтатусСообщения.Важное); // Проход по списку табличной части Договора Купли Продажи ТМЦ Для jj=0 по ВсегоСтрокНоменклатур-1 Цикл ТекДокумент = Выборка.Список.Получить(jj); //Сообщить("ТекДокумент.Номенклатура "+ТекДокумент.Номенклатура,СтатусСообщения.Важное); Если ТекДокумент.Номенклатура = Товар Тогда КолвоВСпец = ТекДокумент.Получено; //Сообщить(" "+ТекДокумент.Номенклатура+" "+КолвоВСпец+" "+колво,СтатусСообщения.Важное); // ТекДокумент.Получено = КолвоВСпец + Колво; //Сообщить("ТекДокумент.Количество "+ТекДокумент.Количество,СтатусСообщения.Важное); КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; //Если ЭлементыФормы.ДокументСписок.ТекущиеДанные = Неопределено Тогда // Сообщить("Возврат = ",СтатусСообщения.Важное); // //Возврат; // Иначе // //Договора = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка; // ОткрытьЖурналПроводок(ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка); // //ОткрытьДоговораКуплиПродажиТМЦ(ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка); // Договора = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка; // //Сообщить("ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка = "+Договора,СтатусСообщения.Важное); // Договора = ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка.Представление; // Сообщить("ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка.Представление = "+Договора,СтатусСообщения.Важное); // ФормаСписка =Документы.ДоговорКуплиПродажиТМЦ.ПолучитьФорму("ФормаДокумента"); // ФормаСписка.Открыть; //КонецЕсли; // КонецПроцедуры |
|||
21
salvator
05.03.15
✎
16:42
|
(20) И где ты изменил ее?
|
|||
22
shamsiaka
05.03.15
✎
16:44
|
с 11 по 13 строке
|
|||
23
shamsiaka
05.03.15
✎
16:48
|
Salvator Добав поле "Получено" в списке номенклатур ДоговорКуплиПродажиТМЦ и провер
|
|||
24
alle68
05.03.15
✎
16:51
|
(22) Смешно, но, боюсь, не всем.
Ты хоть понял о чём код в (13)? |
|||
25
salvator
05.03.15
✎
16:52
|
(23) Ты внятно можешь описать задачу? Кроме того, что тебе надо обнулить поле "Количество" я нихрена не понял.
|
|||
26
shamsiaka
05.03.15
✎
17:03
|
Обнулить нужно поле Получено , а не Количество
Все это Для контроля прихода материалов по договору согласно списка |
|||
27
salvator
05.03.15
✎
17:04
|
(26) Ну да, "Получено", опечатался. А дальше что?
|
|||
28
shamsiaka
06.03.15
✎
07:34
|
Salvator-у Спасибо
Недоглядел Ссылку в ТекДокумент = Выборка.Ссылка.ПолучитьОбъект(); |
|||
29
1976vas
06.03.15
✎
08:10
|
(28) Посмотри уроки Чистова, там в 4-м уроке все озвучено, что такое выборка, что такое ссылка и что такое объект и связи.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |