|
V8: розница 2.2.5 добавить реквизит остаток на форму выбора товаров с идентичным ШК | ☑ | ||
---|---|---|---|---|
0
andrewrocker
03.08.17
✎
20:36
|
Всем привет!
На кассе, если кассир пикнул "Березовая на Бруньках", то мы решили, что у нас будет столько карточек Номенклатуры "Березовая на Бруньках", сколько у нас заводов, выпускающих "Березовую на Бруньках", чтобы в алкашных декларациях не обламываться. Делаю через расширение, чтобы обновлять розницу без проблем, и не могу решить ошибку "итератор не определен". На самом начале, когда открываю первый цикл. Пытаюсь обойти ТЧ общей формы через нажатие дополнительной кнопки. И и не могу обойти - т.к. как будто в форме нет массива, хотя он там логически есть. Для Каждого СтрочкаВыбора Из ЭтаФорма.ДеревоВыбора Цикл НоменклатураОстатка = СтрочкаВыбора.Номенклатура; ХарактеристикаОстатка = СтрочкаВыбора.Характеристика; СкладОстатка = Справочники.Склады.СкладПоУмолчанию(ПользователиИнформационнойБазы.ТекущийПользователь()); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Характеристика, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, | ТоварыНаСкладахОстаткиИОбороты.РезервНачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.РезервКонечныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.РезервОборот, | ТоварыНаСкладахОстаткиИОбороты.РезервПриход, | ТоварыНаСкладахОстаткиИОбороты.РезервРасход |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты |ГДЕ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура = &НоменклатураОстатка | И ТоварыНаСкладахОстаткиИОбороты.Склад = &СкладОстатка | И ТоварыНаСкладахОстаткиИОбороты.Характеристика = &ХарактеристикаОстатка" ; Запрос.УстановитьПараметр("НоменклатураОстатка",НоменклатураОстатка); Запрос.УстановитьПараметр("СкладОстатка",СкладОстатка); Запрос.УстановитьПараметр("ХарактеристикаОстатка",ХарактеристикаОстатка); РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл ДеревоВыбора.Остаток = РезультатЗапроса.КоличествоКонечныйОстаток; КонецЦикла; КонецЦикла; |
|||
1
andrewrocker
03.08.17
✎
20:37
|
отдельное большое спасибо будет за идею, как сделать автозапуск этой процедуры именно из этой же формы.
|
|||
2
lenochka-semicova
07.08.17
✎
13:15
|
Начать с того, что
ЭлементыДерева = ЭтаФорма.ДеревоВыбора.ПолучитьЭлементы(); Для Каждого ЭлементДерева Из ЭлементыДерева Цикл ... |
|||
3
lenochka-semicova
07.08.17
✎
13:16
|
Ну и запрос в цикле, это конечно же ужасно.
|
|||
4
IVT_2009
07.08.17
✎
15:51
|
Знакомая тема, как смогли расширение подключить если до самого последнего релиза стоял режим совместимости ?
|
|||
5
andrewrocker
08.08.17
✎
03:54
|
(4) странно, но проблем не возникло.
|
|||
6
andrewrocker
08.08.17
✎
19:35
|
Спасибо, я значительно продвинулся. Осталось дать дереву значений - непосредственно значение.
Пишу вот что: Пока РезультатЗапроса.Следующий() Цикл ЭлементыДерева.Остаток = РезультатЗапроса.КоличествоКонечныйОстаток; КонецЦикла; Получаю ошибку: Поле объекта не обнаружено (Остаток) Работаю из расширения. На старте пишу вот это: ЭлементыДерева = ЭтаФорма.ДеревоВыбора.ПолучитьЭлементы(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |