|
Добавление новой строки в ТЧ, если цена в предудущей строке была изменена | ☑ | ||
---|---|---|---|---|
0
Смертник
18.03.15
✎
09:50
|
УТ 10.3.15.9
Проблема такая, если в Чеке ККМ сканером выбрали товар и на него поменяли цену, нужно если следущим сканируют этот же товар, то добавлять новую строку, а не добавлять количество в существующую. Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура); РаботаСДиалогами.ПоказатьСуммуБезСкидок(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Цена, ДанныеСтроки.Количество); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &Дата, | ТипЦен = &ТипЦен | И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних | |СГРУППИРОВАТЬ ПО | ЦеныНоменклатурыСрезПоследних.Номенклатура"; Запрос.УстановитьПараметр("Дата",ЭтотОбъект.Дата); Запрос.УстановитьПараметр("ТипЦен",Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничные")); Запрос.УстановитьПараметр("Номенклатура",ДанныеСтроки.Номенклатура); СигаретыЦенаПервоначальная = Запрос.Выполнить().Выгрузить(); ГруппаСигареты = Константы.РазрешитьИзмененияЦен.Получить(); Если мМожноМенятьЦенуВДокументе = Ложь Тогда Если ДанныеСтроки.Номенклатура.НоменклатурнаяГруппа = ГруппаСигареты Тогда //bva Если НомСиг = 0 Тогда Для Каждого Строка Из ЭтотОбъект.Товары Цикл Если Строка.Номенклатура = ДанныеСтроки.Номенклатура Тогда Цена = ДанныеСтроки.Сумма/ДанныеСтроки.Количество; Если Цена > СигаретыЦенаПервоначальная[0].Цена Тогда ЭлементыФормы.Товары.ДобавитьСтроку(); ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура = ДанныеСтроки.Номенклатура; ЭлементыФормы.Товары.ТекущиеДанные.Количество = 1; ЭлементыФормы.Товары.ТекущиеДанные.Артикул = ДанныеСтроки.Артикул; ЭлементыФормы.Товары.ТекущиеДанные.ШтрихКод = ДанныеСтроки.Штрихкод; НомСиг = 1; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; мКолонкиТовары.Цена.ТолькоПросмотр = Ложь; мКолонкиТовары.Цена.Доступность = Истина; мКолонкиТовары.Цена.ЭлементУправления.ТолькоПросмотр = Ложь; Иначе мКолонкиТовары.Цена.ТолькоПросмотр = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры // ТоварыПриВыводеСтроки() НомСиг - переменная, объявленнная, служит для того чтобы избежать зацикливания. Если убрать, то идет зацикливания и 1С завершает работу, помогите разобраться в чем дело... |
|||
1
Смертник
18.03.15
✎
10:26
|
помогите
|
|||
2
Смертник
18.03.15
✎
10:50
|
sos
|
|||
3
chelentano
18.03.15
✎
10:57
|
(0) Это всё делается при выводе строки? Жесть...
|
|||
4
butterbean
18.03.15
✎
10:59
|
(0) вы что, в одном чеке на один и тот же товар ставите разную цену??
|
|||
5
Смертник
18.03.15
✎
11:04
|
(4)да, на сигареты...
(3) а больше негде((( |
|||
6
Смертник
18.03.15
✎
11:06
|
(4) Директора магазинов сказали что так должно быть
|
|||
7
butterbean
18.03.15
✎
11:08
|
(6) очень странно, как одно и то же может по разному стоить...
тебе нужно ковырять ОбработкаВнешнегоСобытия, смотреть что там происходит при сканировании |
|||
8
Смертник
18.03.15
✎
11:12
|
(7)Процедура ВнешнееСобытие(Источник, Событие, Данные)
НомСиг = 0; Если Не ВводДоступен() Тогда Возврат; КонецЕсли; ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма); КонецПроцедуры // ВнешнееСобытие() Уходит в Истину и переходит при выводе строки....и тут наступает ж... |
|||
9
D_E_S_131
18.03.15
✎
11:16
|
Ну и пиши все, чтотебе нужно после "ПолучитьСерверТО()...".
|
|||
10
Смертник
18.03.15
✎
11:17
|
Так я же еще вроде не получил ни товар - ни цену или я ошибаюсь
|
|||
11
chelentano
18.03.15
✎
11:25
|
(5) ну если "а больше негде(((" тогда срочно зовите программиста
|
|||
12
chelentano
18.03.15
✎
11:29
|
а вообще, насколько я помню, должна вызываться процедура "ОбработкаПодбора", в ЧекККМ она находится в форме документа
|
|||
13
Смертник
18.03.15
✎
11:31
|
зависает все равно...не могу понять причину
|
|||
14
Смертник
18.03.15
✎
14:51
|
(12) Вызывается, то есть надо это в обработке подбора сделать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |