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

Как добавить позицию характеристики номенклатуры в рмк

Автор sali, 25 ноя 2024, 10:51

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

sali

antoneus, как проще вытащить этот минимальный остаток?
я посмотрел это реквизит справочника кассы ккм с типом ОпределяемыйТип.ДенежнаяСуммаНеотрицательная который имеет тип число неотрицательное

sali


antoneus


sali

antoneus:D я забыл что уже сделал этот запрос и спросил у вас
&НаСервере
Процедура СоздатьВнесениеВыемкаДСНаСервере()
//Запрос = Новый Запрос;
//Запрос.Текст =
// "ВЫБРАТЬ
// | КассыККМ.МинимальныйОстатокВКассеККМ КАК МинимальныйОстатокВКассеККМ
// |ИЗ
// | Справочник.КассыККМ КАК КассыККМ";
//
//РезультатЗапроса = Запрос.Выполнить();
//
//ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
//
//Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// ОстатокВКассе = ВыборкаДетальныеЗаписи.МинимальныйОстатокВКассеККМ;
//КонецЦикла;

//
//Если Сумма <= 5000  Тогда
// Сумма = ВКассе - ОстатокВКассе;
//Иначе
// Сообщение = Новый СообщениеПользователю();
// Сообщение.Текст = "В кассе недостаточно средств для выемки. Всего: " + ВКассе;
// Сообщение.Сообщить();   
//КонецЕсли;

Если Сумма = 0 Тогда
Возврат;
КонецЕсли;

ДокументОбъект = Документы.ВнесениеВыемкаДС.СоздатьДокумент();
ДокументОбъект.Заполнить(Неопределено);
ДокументОбъект.Дата = ТекущаяДатаСеанса();
ДокументОбъект.КассоваяСмена = КассоваяСмена;
ДокументОбъект.КассаККМ = КассаККМ;
ДокументОбъект.ТипДенежныхСредств = ВидДвиженияНаличных; 
ДокументОбъект.ВидДвиженияНаличных = ВидДвиженияНаличных;
ДокументОбъект.Сумма = Сумма;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);


КонецПроцедуры

sali

antoneus, только вот я запутался в движениях и внесение и выемка у меня не считается в кассе остатка.
Процедура ОбработкаПроведения(Отказ, Режим)         
    Если ВидДвиженияНаличных = Перечисления.ВидыДвиженияНаличных.Внесение Тогда
        // регистр ДенежныеСредства Приход
        Движения.ДенежныеСредства.Записывать = Истина;
        Движение = Движения.ДенежныеСредства.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.КассаККМ = КассаККМ;
        Движение.Автор = Автор;
        Движение.ТипДенежныхСредств = ТипДенежныхСредств;
        Движение.Сумма = Сумма;
        Движение.ВидДвиженияНаличных = ВидДвиженияНаличных;
        Движение.ЭтоВнесение = Истина;
    КонецЕсли;   
                                               
     Если ВидДвиженияНаличных = Перечисления.ВидыДвиженияНаличных.Выемка Тогда
        // регистр ДенежныеСредства Расход
        Движения.ДенежныеСредства.Записывать = Истина;
        Движение = Движения.ДенежныеСредства.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.КассаККМ = КассаККМ;
        Движение.Автор = Автор;
        Движение.ТипДенежныхСредств = ТипДенежныхСредств;
        Движение.Сумма = Сумма;
        Движение.ВидДвиженияНаличных = ВидДвиженияНаличных;
        Движение.ЭтоВнесение = Ложь;
    КонецЕсли;   
КонецПроцедуры

Снимок экрана (49).png
ВидДвиженияНаличных - ПеречислениеСсылка.ВидыДвиженияНаличных (внесение/выемка)
ТипДенежныхСредств - СправочникСсылка.ВидыОплат - ТипОлат - ПеречислениеСсылка.ТипыОплатыККТ  (наличные/электронно)

sali

sali, &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Параметры.Свойство("КассоваяСмена", КассоваяСмена);
    Параметры.Свойство("КассаККМ", КассаККМ);
    Параметры.Свойство("ВидДвиженияНаличных", ВидДвиженияНаличных);
    //Параметры.Свойство("ТипДенежныхСредств", ТипДенежныхСредств);
   
    Если ВидДвиженияНаличных = Перечисления.ВидыДвиженияНаличных.Внесение Тогда
        Заголовок = "Внесение";
        Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВнесение;
    Иначе
        Заголовок = "Выемка";       
        Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВыемка;                       
       
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ДенежныеСредстваОстатки.СуммаОстаток КАК СуммаОстаток
        |ИЗ
        |    РегистрНакопления.ДенежныеСредства.Остатки КАК ДенежныеСредстваОстатки
        |ГДЕ
        |    (ДенежныеСредстваОстатки.ТипДенежныхСредств.Наименование = ""наличными""
        |            ИЛИ ДенежныеСредстваОстатки.ТипДенежныхСредств.Наименование = ""наличная оплата""
        |            ИЛИ ДенежныеСредстваОстатки.ТипДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ТипыОплатыККТ.Наличные))";
       
        РезультатЗапроса = Запрос.Выполнить();
       
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
       
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл   
            ВКассе = ВыборкаДетальныеЗаписи.СуммаОстаток;   
        КонецЦикла;   
    КонецЕсли; 

    СоздатьВнесениеВыемкаДСНаСервере();
КонецПроцедуры
 

Максим75

sali, да уж. сколько можно возить это гуано?
у Вас ТипДенежныхСредств - справочник, а что Вы в ГДЕ сравниваете?
справочник с перечислением, справочник со строкой? да блин, это НЕ РАБОТАЕТ, с типами разберитесь.
Вот если возьмете ДенежныеСредстваОстатки.ТипДенежныхСредств.ТипОплат - тогда это будет перечисление.

antoneus


sali

Максим75, да знаю что тупой в этом. у меня просто то высвечивался то нет

sali

antoneus, в форме скан маркировки кода товара, составляющие это: название формы, кнопка Очистить (по надобности) и поле ввода, верно?

Теги:

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

Рейтинг@Mail.ru

Поиск