Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 окт 2024, 08:21

не правильно отрабатывает условие

Автор sali, Вчера в 11:46

0 Пользователей и 3 гостей просматривают эту тему.

Максим75

sali, вот Вы и пришли к тому, что я Вам талдычил много раз. Надо курочить процедуру, которая на основании чеков создает ОРП, вот прямо в ней уже менять все таким образом, чтобы в ОРП сразу залетали товары с видом оплаты и "схлопывались" и по виду оплаты тоже.
А Вы сделали так, что после заполнения ОРП и "схлопывания" товаров начинаете что-то в товарах проставлять.

sali

Максим75, блин там запрос из 10+ запросов я боюсь там напортачить

Максим75

sali, так менять надо только в том, который заполняет нужную табличную часть. в ОРП вагон табличных частей, многие даже скрыты от пользователя. Смотрите какой номер там из пакетного запроса заполняет нужную табличную часть (в этом запросе товары из Чеков выбираются), вот туда и добавляете признак, какая оплата Чека была. И "схлопываете" номенклатуру еще с этим дополнительным признаком.

sali

Максим75, КАКИМ образом ? что за признак? КАК мне его там поставить чтобы у 2 одинаковых товаров не подставлялась галочка?

Максим75

sali, понимаете, у меня запрос явно будет отличаться от Вашего.
найдите сам запрос, который вызывается при закрытии кассовой смены и который заполняет ОРП.
у меня он находится в обработке ЗакрытиеКассовойСмены, где у Вас я не знаю.

sali

Максим75, как написать условие на то что
если (Строка.Номенклатура = СтрокаВТабличнойЧасти.Номенклатура И Строка.ФормаОплаты = Перечисления.ТипыДенежныхСредств.Безналичные) = (Строка.Номенклатура = СтрокаВТабличнойЧасти.Номенклатура И НЕ Строка.ФормаОплаты = Перечисления.ТипыДенежныхСредств.Безналичные) тогда 
к безналичному ставиться галка у наличного не ставиться ?????

Максим75

sali, вот честно говоря, по кругу пошли.
Вам же написали, как проверить.
Вы же сами уже написали, почему ставится у ВСЕХ одинаковых номенклатур.

sali

Максим75, я запутался, понимаете? я переписывал код по разному . и запрос добавлял и код переписывал

antoneus

Запасы.Колонки.Добавить("Счетчик");
Запасы.ЗаполнитьЗначения(1, "Счетчик");
Запасы.Свернуть("Номенклатура, ФормаОплаты", "Счетчик");
СтрокиБезнал = Запасы.НайтиСтроки(Новый Структура("ФормаОплаты", Перечисления.ТипыДенежныхСредств.Безналичные));
Для каждого стр из СтрокиБезнал Цикл
    Количество = стр.Счетчик;
    СтрокиЗапасы = ОтчетОРозничныхПродажахОбъект.Запасы.НайтиСтроки(Новый Структура("Номенклатура", стр.Номенклатура));
    Для каждого стрЗапас из СтрокиЗапасы Цикл
        стрЗапас.ОплатаБезналом = Истина;
        Количество = Количество - 1;
        Если Количество = 0 Тогда
            Прервать
        КонецЕсли;
    КонецЦикла;
КонецЦикла;

ну перед этим надо, чтобы везде в ОплатаБезналом была ложь.

sali


Похожие темы (5)

Рейтинг@Mail.ru

Поиск