Хотел бы проконсультироваться у спецов по поводу загрузки скидки на кассах. В первом рисунке колонки кассы нет. Это я сам добавил. Загрузка скидки на кассах происходит следующим образом. Выбирается справочнике "скидки и наценки" магазин и загрузка происходит на всех кассах. А хотелось бы реализовать чтобы был выбор конкретной кассы, т.е выбирается магазин и сам пос. Чтобы загрузка скидки проходила только конкретной кассе. Если не выбран пос, то на всех кассах. Первая картина это справочник скидки и наценки, сейчас она работает так как выше описал. Выбирается магазин тогда скидка загружается на все кассы, если нет то не выгружается. Второй картинке выбирается пос которой выгружается вся номенклатура. Как я понял схема скидок загружается по идентификатору выбранной кассы из рисунка 2, по магазину. Вот код загрузки скидки с обработки рисунок 5.
Процедура ЗагрузитьСкидки(Объект, Файл, Товары, ШтрихКассир5);
Разделитель = ";";
МенВрТаб = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Идентификатор", Объект.Идентификатор);
Запрос.Текст ="
|Выбрать КассаККМ.ВидКассы ВидКассы Из РегистрСведений.ТорговоеОборудование
|Где Идентификатор = &Идентификатор
|";
Выб = Запрос.Выполнить().Выбрать();
Если Выб.Следующий() Тогда
Если Выб.ВидКассы = Перечисления.ВидыКасс.Кассир5 Тогда;
ШтрихКассир5 = Истина;
КонецЕсли;
КонецЕсли;
Если ШтрихКассир5 Тогда
Запрос.Текст ="
|ВЫБРАТЬ Код, Наименование Из Справочник.СкидкиНаценки Где Не НеАктивна
|";
Выб = Запрос.Выполнить().Выбрать();
Пока Выб.Следующий() Цикл
Строка = "<group_tov code=""" + Выб.Код + """ name=""" + Выб.Наименование + """ />";
Файл.ДобавитьСтроку(Строка);
КонецЦикла;
КонецЕсли;
Запрос.УстановитьПараметр("НачДата", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("КонДата", КонецДня(ТекущаяДата()));
Запрос.Текст =
"ВЫБРАТЬ
| С.Родитель.Код КАК Код,
| С.Родитель.Наименование КАК Наименование,
| 1 КАК ТипСкидки,
| С.Код КАК КодГруппы,
| С.ТолькоПоКарте
|ИЗ
| Справочник.СкидкиНаценки КАК С
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки.КассыККМ КАК М
| ПО (М.Ссылка = С.Ссылка)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТорговоеОборудование КАК Т
| ПО (Т.КассаККМ.Магазин = М.Магазин)
| И (Т.Идентификатор = &Идентификатор)
|ГДЕ
| НЕ С.НеАктивна";
Выб = Запрос.Выполнить().Выбрать();
Если ШтрихКассир5 Тогда
Пока Выб.Следующий() Цикл
Строка = "!"
+ СокрЛП(Выб.Код) + ";"
+ Выб.Наименование + ";"
+ "0;"
+ ?(Выб.ТолькоПоКарте,"0","1") + ";"
+ "0;"
+ СокрЛП(Выб.КодГруппы) + ";";
Файл.ДобавитьСтроку(Строка);
КонецЦикла;
Иначе
Пока Выб.Следующий() Цикл
Строка = "!"
+ СокрЛП(Выб.Код) + ";"
+ Выб.Наименование + ";"
+ ?(Выб.ТолькоПоКарте,"1","0");
Файл.ДобавитьСтроку(Строка);
КонецЦикла;
КонецЕсли;
Запрос.Текст = "
|Выбрать
| С.Родитель.Код КодСхемы
| ,С.Код
| ,С.Наименование
| ,""1"" ТипСкидки
| ,Выбор ТипПреимуществаПоСкидке
| Когда Значение(Перечисление.ТипыПреимуществПоСкидкам.Процент) Тогда ""1""
| Иначе ""2""
| Конец ВидСкидки
| ,ЗначениеСкидкиНаценки РазмерСкидки
| ,С.Наименование ТекстДляЧека
| ,С.НачалоДействия ДатаНачала
| ,С.КонецДействия ДатаОкончания
| ,С.ОбщееВремяНачала ВремяНачала
| ,С.ОбщееВремяОкончания ВремяОкончания
| ,Представление(С.УсловиеПредоставленияСкидки) Условие
| ,С.ЗначениеУсловия Сумма
|Из Справочник.СкидкиНаценки С
| Внутреннее Соединение Справочник.СкидкиНаценки.КассыККМ М
| По М.ССылка = С.Ссылка
| Внутреннее Соединение РегистрСведений.ТорговоеОборудование Т
| ПО Т.КассаККМ.Магазин = М.Магазин И Т.Идентификатор = &Идентификатор
|Где Не НеАктивна
|";
Выб = Запрос.Выполнить().Выбрать();
Пока Выб.Следующий() Цикл
Строка = "@"
+ СокрЛП(Выб.КодСхемы) + ";"
+ СокрЛП(Выб.Код) + ";"
+ Выб.Наименование + ";"
+ Выб.ТипСкидки + ";"
+ Выб.ВидСкидки + ";"
+ Выб.РазмерСкидки + ";"
+ Выб.ТекстДляЧека + ";"
+ Формат(Выб.ДатаНачала, "дФ=""дд.ММ.гг""") + ";"
+ Формат(Выб.ДатаОкончания, "дФ=""дд.ММ.гг""") + ";"
+ Формат(Выб.ВремяНачала, "дФ=""ЧЧ:мм:сс""") + ";"
+ Формат(Выб.ВремяОкончания, "дФ=""ЧЧ:мм:сс""") + ";"
+ "0;0;" //Время недели не используется
+ ?(Выб.Условие = "По количеству", Выб.Сумма, "0") + ";0;"
+ ?(Выб.Условие = "По сумме", Выб.Сумма, "0") + ";0;"
+ "0;" +?(Выб.Условие = "По сумме", "1", "0") ; //Время недели не используется
Файл.ДобавитьСтроку(Строка);
КонецЦикла;
КонецПроцедуры
Показать
Если магазин выбран и берет идентификатор кассы из рисунка 2.
Вопрос, как сделать так чтобы он брал идентификатор именно со справочника скидки и наценки с выбранной кассой ?
Пытался в обработке указать конкретный идентификатор. Но все равно грузит скидку с выбранного на рис 2 кассы.