8.х Вывод в ТЧ ОстатковСклада и ОстатковОрганизации

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем malcevm, 24 июл 2015.

  1. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Доброго дня друзья! Помогите, пожалуйста разобраться с кодом, 1С 8.2 УТ 10.3.
    Есть код:
    Функция ОстатокНаСкладе(Номенклатура) Экспорт
    ВидСклада = Склад.ВидСклада;
    Если ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда
    Текст = "ВЫБРАТЬ
    | ТоварыВНТТОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    | РегистрНакопления.ТоварыВНТТ.Остатки(&Дата, ) КАК ТоварыВНТТОстатки
    |ГДЕ
    | ТоварыВНТТОстатки.Склад = &Склад
    | И ТоварыВНТТОстатки.Номенклатура = &Номенклатура";
    ИначеЕсли ВидСклада = Перечисления.ВидыСкладов.Оптовый Тогда
    Текст = "ВЫБРАТЬ
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки
    |ГДЕ
    | ТоварыНаСкладахОстатки.Склад = &Склад
    | И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
    ИначеЕсли ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда
    Текст = "ВЫБРАТЬ
    | ТоварыВРозницеОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    | РегистрНакопления.ТоварыВРознице.Остатки(&Дата, ) КАК ТоварыВРозницеОстатки
    |ГДЕ
    | ТоварыВРозницеОстатки.Склад = &Склад
    | И ТоварыВРозницеОстатки.Номенклатура = &Номенклатура";

    КонецЕсли;

    Если ПустаяСтрока(Текст) Тогда
    Возврат 0;
    КонецЕсли;

    Запрос = Новый Запрос;
    Запрос.Текст = Текст;
    Запрос.УстановитьПараметр("Дата", Неопределено);
    Запрос.УстановитьПараметр("Склад",Склад);
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Количество = ?(Выборка.Следующий(),Выборка.Количество,0);
    Возврат Количество;
    КонецФункции

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

    Процедура ПоказатьОстатокСклада(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура) Экспорт
    Если КолонкиТабПоля.ОстатокСклада.Видимость Тогда
    Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
    Остаток = ОстатокНаСкладе(Номенклатура);
    ЯчейкиСтрокиТабПоля.ОстатокСклада.УстановитьТекст(Остаток);
    Иначе
    ЯчейкиСтрокиТабПоля.ОстатокСклада.УстановитьТекст("");
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Процедура ПоказатьОстатокОрганизации(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура) Экспорт
    Если КолонкиТабПоля.ОстатокОрганизации.Видимость Тогда
    Если ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
    Остаток = ОстатокОрганизации(Номенклатура);
    ЯчейкиСтрокиТабПоля.ОстатокОрганизации.УстановитьТекст(Остаток);
    Иначе
    ЯчейкиСтрокиТабПоля.ОстатокОрганизации.УстановитьТекст("");
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Выводит остатки в Чеки ККМ, но тут один нюанс, после проведения чека ОстаткиСклада списываются, а вот Организации нет, в чем секрет?

Поделиться этой страницей