Добавление в журнал "Заказы покупателей" Суммы договора, Суммы оплат, Налично, Пластиковой картой, Перечислением, Остаток от договора

07.07.21

Задачи пользователя - Монитор заказов

Организация "Журнала Заказов" таким образом, чтобы при открытии журнала показывались : Даты документов "Заказы покупателей", Документы оплат, Сумму договора, Суммы оплат : Налично, Пластиковой картой, Перечислением, Остаток от договора. Долг показывает красным цветом.

Скачать исходный код

Наименование Файл Версия Размер
Показать в журнале "Заказы покупателей" Сумму договора, Суммы оплат, Налично, Пластиковой картой, Перечислением, Остаток от договора:
.txt 13,02Kb
1
.txt 1 13,02Kb 1 Скачать

Использовано на "Управление торговлей", редакция 10.3 (10.3.18.3), можно адаптировать на другие конфигурации.

Итак, заходим в Журнал документов->Заказы покупателей->Форма списка->Модуль

Меняем в модуле две процедуры или добавляем, если их нет:

///////////////////////////////////////////////////////////////////////////////////////
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)

    ДатаНач = '00010101000000';
    ДатаКон = ТекущаяДата();
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Заказы.Контрагент,
                   |    Заказы.СуммаСогласовано КАК СуммаСогласовано,
                   |    Заказы.СуммаЗаказа КАК СуммаЗаказ,
                   |    0 КАК СуммаПластик,
                   |    0 КАК СуммаПлатежка,
                   |    0 КАК СуммаОрдер,
                   |    0 КАК СуммаНалично,
                   |    Заказы.Дата,
                   |    ""1"" КАК ВидДокумента,
                   |    Заказы.Ссылка КАК Ссылка,
                   |    Заказы.Контрагент.Код + Заказы.Ссылка.Номер КАК КонтИЗаказ
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        ЗаказПокупателя.СуммаДокумента КАК СуммаСогласовано,
                   |        СУММА(ЗаказПокупателяТовары.Сумма) КАК СуммаЗаказа,
                   |        ЗаказПокупателя.Контрагент КАК Контрагент,
                   |        ЗаказПокупателя.Дата КАК Дата,
                   |        ЗаказПокупателя.Ссылка КАК Ссылка
                   |    ИЗ
                   |        Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
                   |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
                   |            ПО ЗаказПокупателяТовары.Ссылка = ЗаказПокупателя.Ссылка
                   |    ГДЕ
                   |        ЗаказПокупателя.Дата <= &ДатаКон
                   |        И ЗаказПокупателя.Проведен
                   |    
                   |    СГРУППИРОВАТЬ ПО
                   |        ЗаказПокупателя.Контрагент,
                   |        ЗаказПокупателя.СуммаДокумента,
                   |        ЗаказПокупателя.Дата,
                   |        ЗаказПокупателя.Ссылка) КАК Заказы
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ОплатаОтПокупателяПлатежнойКартой.Контрагент,
                   |    0,
                   |    0,
                   |    ВЫБОР
                   |        КОГДА ОплатаОтПокупателяПлатежнойКартой.СуммаДокумента > 0
                   |            ТОГДА ОплатаОтПокупателяПлатежнойКартой.СуммаДокумента
                   |        ИНАЧЕ 0
                   |    КОНЕЦ,
                   |    0,
                   |    0,
                   |    0,
                   |    ОплатаОтПокупателяПлатежнойКартой.Дата,
                   |    ""2"",
                   |    ОплатаОтПокупателяПлатежнойКартой.ДокументОснование,
                   |    ОплатаОтПокупателяПлатежнойКартой.Контрагент.Код + ОплатаОтПокупателяПлатежнойКартой.ДокументОснование.Номер
                   |ИЗ
                   |    Документ.ОплатаОтПокупателяПлатежнойКартой КАК ОплатаОтПокупателяПлатежнойКартой
                   |ГДЕ
                   |    ОплатаОтПокупателяПлатежнойКартой.Дата <= &Датакон
                   |    И ОплатаОтПокупателяПлатежнойКартой.Проведен
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ПлатежноеПоручениеВходящее.Контрагент,
                   |    0,
                   |    0,
                   |    0,
                   |    ВЫБОР
                   |        КОГДА ПлатежноеПоручениеВходящее.СуммаДокумента > 0
                   |            ТОГДА ПлатежноеПоручениеВходящее.СуммаДокумента
                   |        ИНАЧЕ 0
                   |    КОНЕЦ,
                   |    0,
                   |    0,
                   |    ПлатежноеПоручениеВходящее.Дата,
                   |    ""3"",
                   |    ПлатежноеПоручениеВходящее.ДокументОснование,
                   |    ПлатежноеПоручениеВходящее.Контрагент.Код + ПлатежноеПоручениеВходящее.ДокументОснование.Номер
                   |ИЗ
                   |    Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
                   |ГДЕ
                   |    ПлатежноеПоручениеВходящее.Дата <= &Датакон
                   |    И ПлатежноеПоручениеВходящее.Проведен
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ПлатежныйОрдерПоступлениеДенежныхСредств.Контрагент,
                   |    0,
                   |    0,
                   |    0,
                   |    0,
                   |    ВЫБОР
                   |        КОГДА ПлатежныйОрдерПоступлениеДенежныхСредств.СуммаДокумента > 0
                   |            ТОГДА ПлатежныйОрдерПоступлениеДенежныхСредств.СуммаДокумента
                   |        ИНАЧЕ 0
                   |    КОНЕЦ,
                   |    0,
                   |    ПлатежныйОрдерПоступлениеДенежныхСредств.Дата,
                   |    ""4"",
                   |    ПлатежныйОрдерПоступлениеДенежныхСредств.ДокументОснование,
                   |    ПлатежныйОрдерПоступлениеДенежныхСредств.Контрагент.Код + ПлатежныйОрдерПоступлениеДенежныхСредств.ДокументОснование.Номер
                   |ИЗ
                   |    Документ.ПлатежныйОрдерПоступлениеДенежныхСредств КАК ПлатежныйОрдерПоступлениеДенежныхСредств
                   |ГДЕ
                   |    ПлатежныйОрдерПоступлениеДенежныхСредств.Дата <= &Датакон
                   |    И ПлатежныйОрдерПоступлениеДенежныхСредств.Проведен
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ПриходныйКассовыйОрдер.Контрагент,
                   |    0,
                   |    0,
                   |    0,
                   |    0,
                   |    0,
                   |    ВЫБОР
                   |        КОГДА ПриходныйКассовыйОрдер.СуммаДокумента > 0
                   |            ТОГДА ПриходныйКассовыйОрдер.СуммаДокумента
                   |        ИНАЧЕ 0
                   |    КОНЕЦ,
                   |    ПриходныйКассовыйОрдер.Дата,
                   |    ""5"",
                   |    ПриходныйКассовыйОрдер.ДокументОснование,
                   |    ПриходныйКассовыйОрдер.Контрагент.Код + ПриходныйКассовыйОрдер.ДокументОснование.Номер
                   |ИЗ
                   |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
                   |ГДЕ
                   |    ПриходныйКассовыйОрдер.Дата <= &Датакон
                   |    И ПриходныйКассовыйОрдер.Проведен
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Ссылка,
                   |    ВидДокумента";
    Запрос.УстановитьПараметр("ДатаКон",ДатаКон);               
    Остатки = Запрос.Выполнить().Выгрузить();
    Остатки.Свернуть("КонтИЗаказ,Ссылка,Контрагент,ВидДокумента,Дата","СуммаСогласовано,СуммаЗаказ,СуммаПластик,СуммаПлатежка,СуммаОрдер,СуммаНалично");
    Остатки.Индексы.Добавить("Контрагент");
    //Остатки.Индексы.Добавить("ВидДокумента");
    
    Для каждого Оформление Из ОформленияСтрок Цикл
        СтрокаПоиска = Оформление.ДанныеСтроки.Покупатель.Код+Оформление.ДанныеСтроки.Ссылка.Номер;
        Ост = Остатки.Найти(СтрокаПоиска,"КонтИЗаказ");
        Если Оформление.Ячейки.ВидДокумента.Текст = "Заказ покупателя" Тогда
           Попытка    
        Остаток = Ост.СуммаСогласовано-Ост.СуммаНалично-Ост.СуммаОрдер-Ост.СуммаПластик-Ост.СуммаПлатежка;
           Исключение
        Остаток = 0;    
           КонецПопытки;    
           Если Строка(Типзнч(Оформление.ДанныеСтроки.Ссылка)) = "Заказ покупателя" Тогда
        Оформление.ЦветТекста = Новый Цвет(0,0,0);
        Оформление.Ячейки.Остаток.ОтображатьТекст = Истина;
        Оформление.Ячейки.Остаток.Текст = Строка(Остаток);
           иначе
        Оформление.ЦветТекста = Новый Цвет(0,0,0);
        Оформление.Ячейки.Остаток.ОтображатьТекст = Истина;
        Оформление.Ячейки.Остаток.Текст = Строка(Остаток);
               Если Оформление.Ячейки.ОплатаНалично.Значение <> Null Тогда
                 Оформление.Ячейки.ОплатаНалично.ЦветФона = WEBЦвета.ЗеленоЖелтый;  
               КонецЕсли;     
               Если Оформление.Ячейки.ОплатаПеречислен.Значение <> Null Тогда
                 Оформление.Ячейки.ОплатаПеречислен.ЦветФона = WEBЦвета.ЗеленаяЛужайка;  
               КонецЕсли;     
               Если Оформление.Ячейки.Пластик.Значение <> Null Тогда
                 Оформление.Ячейки.Пластик.ЦветФона = WEBЦвета.ЗеленоватоЖелтый;  
               КонецЕсли;     
           КонецЕсли;
        Иначе
            ОтборПок = Новый Структура;                    
            ОтборПок.Вставить("КонтИЗаказ",СтрокаПоиска);
            //ОтборПок.Вставить("Дата",Оформление.ДанныеСтроки.Дата);
            ОтборПоКонтрагенту = Остатки.НайтиСтроки(ОтборПок);
            ОтборПокДат = Новый Структура;                    
            ОтборПокДат.Вставить("КонтИЗаказ",СтрокаПоиска);
            ОтборПокДат.Вставить("Дата",Оформление.ДанныеСтроки.Дата);
            ОтборПоДате = Остатки.НайтиСтроки(ОтборПокДат);
            Если ОтборПоКонтрагенту <> неопределено Тогда
                    Для Каждого СтрокаДат из ОтборПоДате Цикл                
                         Прервать;
                    КонецЦикла;    
                Ост = Остатки.Найти(СтрокаПоиска,"КонтИЗаказ");                        
                Остаток = Ост.СуммаСогласовано;
                МаксДата = Дата('00010101');
                Для Каждого Строка из ОтборПоКонтрагенту Цикл
                      Попытка
                      Если Строка.Дата<=СтрокаДат.Дата Тогда
                Остаток = Остаток-Строка.СуммаНалично-Строка.СуммаОрдер-Строка.СуммаПластик-Строка.СуммаПлатежка;
                      КонецЕсли;
                      Если (Строка.Дата>МаксДата) и (Строка.ВидДокумента<>"1") Тогда
                            МаксДата=Строка.Дата;
                      КонецЕсли;    
                      Исключение
                      КонецПопытки
                    КонецЦикла;
                    
               Оформление.ЦветТекста = Новый Цвет(0,0,0);
               Оформление.Ячейки.Остаток.ОтображатьТекст = Истина;

               Оформление.Ячейки.Остаток.Текст = Строка(Остаток);
               Если Остаток>0 Тогда
                  Если Оформление.ДанныеСтроки.Дата = МаксДата Тогда
                  Оформление.Ячейки.Остаток.ЦветФона = WEBЦвета.СветлоКоралловый;
                  КонецЕсли;
               //Иначе  
               //    Оформление.Ячейки.Остаток.ЦветФона = WEBЦвета.БледноБирюзовый;
               КонецЕсли;    
               Если Оформление.Ячейки.ОплатаНалично.Значение <> Null Тогда
                 Оформление.Ячейки.ОплатаНалично.ЦветФона = WEBЦвета.БледноЗеленый;  
               КонецЕсли;     
               Если Оформление.Ячейки.ОплатаПеречислен.Значение <> Null Тогда
                 Оформление.Ячейки.ОплатаПеречислен.ЦветФона = WEBЦвета.ЗеленаяЛужайка;  
               КонецЕсли;     
               Если Оформление.Ячейки.Пластик.Значение <> Null Тогда
                 Оформление.Ячейки.Пластик.ЦветФона = WEBЦвета.ЗеленоватоЖелтый;  
               КонецЕсли;     
           
            КонецЕсли;
        КонецЕсли;    
    Последний = Оформление;    
    Конеццикла;    
    ЖурнПок = ОформленияСтрок;
КонецПроцедуры


Целиком инструкция в тексте приложенного файла.

Журнал Заказы покупателей

См. также

Программа "Мобильный ТСД сканер для 1С" - приложение для телефона для инвентаризации и сбора штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    93218    533    186    

303

Состояние обеспечения заказов 2021 для новых УТ 11.5, КА 2.5 и ERP 2.5

Логистика, склад и ТМЦ Рабочее место Монитор заказов Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Хит продаж 2023 года! Расширение "Состояние обеспечения заказов 2021" добавляет дизайн и возможности "Состояние обеспечения заказов" из старых УТ 11.4 / КА 2.4 / ERP 2.4 в новые УТ 11.5 / КА 2.5 / ERP 2.5.

4900 руб.

20.09.2022    13838    41    39    

46

Сравнение и обработка заказов поставщикам (УТ 11, КА2)

Монитор заказов Оптовая торговля Пользователь Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Многие делают заказы поставщикам, и обработка ответа от поставщика иной раз занимает много времени. А если поставщик не один, то время обработки заказов увеличивается кратно! Данная обработка позволяет сравнивать и обрабатывать заказы поставщикам, будь он один или несколько. Заказы формируются по лучшей цене, но имеется возможность указать приоритетных или нежелательных поставщиков (мы должны, нам должны, и т.д.).

2400 руб.

22.06.2020    12480    4    12    

8

Закупки, продажи, сколько осталось закупить 1С:УТ11.4/11.5, КА 2.4/2.5, EPR 2.4/2.5

Монитор заказов Логистика, склад и ТМЦ Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Внешний отчет предназначен для получения текущей информации по товарным остаткам, закупленным товарам, продажам, резервам, а также заказам поставщику. УТ 11.4, КА 2.4, EPR 2.4,УТ 11.5, КА 2.5, EPR 2.5

3000 руб.

24.12.2021    5132    38    3    

8

CASH DISPLAY 2.0: Дисплей покупателя под Windows, Android, Wi-Fi

Монитор заказов Оптовая торговля Розничная торговля Рабочее место Бытовые услуги, сервис Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Ювелирная промышленность и торговля Платные (руб)

Используйте второй монитор или Android планшет в качестве дисплея покупателя на кассе для работы с клиентами и просмотра рекламы. Интеграция с любой версией 1С. Подходит для использования в торговой сети. Обновленная версия.

6000 руб.

20.01.2022    11495    15    21    

23

Объединение заказов клиентов (УТ 11 / КА 2 / ERP 2)

Монитор заказов Подбор и обработка объектов Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Управленческий учет Абонемент ($m)

Позволяет объединять заказы клиентов, оставляя в них строки к отгрузке и перенеся прочие строки в отдельный новый заказ.

2 стартмани

02.05.2024    384    2    denmax    0    

2
Оставьте свое сообщение