Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



3 страниц V   1 2 3 >

>  Расчет себестоимости не делает расход по НЗП
rpervak
Отправлено: 22.11.19, 0:57


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Підприємство 8.3 (8.3.10.2505)
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.64.1)
Ведется партионный учет.
Используются серии и спецификации
Есть 2 подразделения, учет ведется по переделам.
Работаем по схеме: ТН-ОПЗ(автоматически распределяются материалы).
После проведения себестоимости НПЗ не должно быть (так и было до августа месяца)
СС при проведении не ругается.
В отчете "Ведомость по производственным затратам" в августе одна позиция осталась на конечном остатке, а в сентябре почти все затраты (скрин прилагаю).
Аналитики проверял, все сходятся.

Кто, может, знает как исправить, буду благодарен.



  Форум: 1С Управление производственным предприятием 8 · Просмотр сообщения: #157828 · Ответов: 0 · Просмотров: 1296
 

>  Привязка зарплаты к номенклатурной единице
rpervak
Отправлено: 19.01.18, 8:31


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


1С:Предприятие 8.3 (8.3.10.2252)
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.53.1)

Может кто знает, как можно реализовать такую логику формирования цены единицы готовой продукции:
Цена ГП = сумма цен материалов + сумма зарплаты + процент прочих затрат;

где сумма цен материалов - это сырье;
сумма зарплаты - каждой номенклатурной единице прописана зарплата (от 5 до 50 грн. на штуке), которая входит в цену изделия;
процент прочих затрат - это также установленый процент (от 50% до 100%), который накручивается сверху на цену изделия с зарплатой.

Пример:

Есть ГП1. Что-бы ее изготовить, надо потратить Сырье1 - 5 шт. по цене 10 грн, сырье2 - 10 шт. по цене 15 грн. Для ГП1 прописана зарплата 5 грн. и процент прочих затрат - 50%.

Тогда цена ГП1 = (5*10 + 10*15 + 5) + (5*10 + 10*15 + 5)*0,9

Как можна привязать зарплату и процент прочих затрат к кажой номенклатуре ?
Спасибо
  Форум: 1С Управление производственным предприятием 8 · Просмотр сообщения: #137390 · Ответов: 2 · Просмотров: 1765
 

>  Сравнение 2-х таблиц значений по 3-м полям
rpervak
Отправлено: 10.09.17, 23:07


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Спасибо ! Все получилось.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #131937 · Ответов: 2 · Просмотров: 1578
 

>  Сравнение 2-х таблиц значений по 3-м полям
rpervak
Отправлено: 08.09.17, 23:01


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Предприятие 8.3 (8.3.9.1850)
УПП 1.3.39.1 (Обычное приложение)

Помогите, пожалуйста, реализовать такую задачу, хотя бы подскажите логику:
Есть ТЗ1(из остатков и оборотов "Партии товаров на складах" за период) и ТЗ2(из таб. части документа, заполненного из того же регистра в начале периода)
ТЗ1 и ТЗ2 с идентичными полями ("Номенклатура", "ХарактеристикаНоменклатуры", "КоличествоПриход")

1. в начале периода заполняется таб. часть документа остатками и приходом из вышеуказанного регистра.
2. на протяжении периода может меняться количество прихода по той номенклатуре, которая уже есть в ТЗ2, или же появляться новая.

Задача состоит в том, что бы при нажатии кнопки "Обновить таб. часть" сравнивались остатки и приходы (ТЗ1) на текущий момент периода с ТЗ2, заполненной таб. части документа в начале периода.
а) Если такая номенклатура и характеристика есть в ТЗ2, то обновить приход
б) Если в ТЗ1 есть новые приходы, то добавить их в таб. часть документа

P.S. Естественно выборки в рамках одного склада и периода (месяца)

Пробовал и через отбор и циклами, не вышло
Заранее благодарен !
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #131911 · Ответов: 2 · Просмотров: 1578
 

>  Не могу найти где формируется таблица по таб. части "Продукция" Отчета производства за смену
rpervak
Отправлено: 31.03.17, 14:12


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Bernet @ Сегодня, 11:22 * ,
В структуре поле есть, в результате запроса тоже, а в регистре - нет
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #125129 · Ответов: 3 · Просмотров: 1604
 

>  Не могу найти где формируется таблица по таб. части "Продукция" Отчета производства за смену
rpervak
Отправлено: 31.03.17, 10:11


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Предприятие 8.3 (8.3.9.1850)
УПП (1.3.39.1)

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

Сделал все то же в д-те "ПоступлениеТоваровИУслуг" - все получилось. А вот в Отчете производства как-то сложнее все.

Буду благодарен за подсказки.


 ! 

Правила: 4
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #125098 · Ответов: 3 · Просмотров: 1604
 

>  Передача параметра в запрос
rpervak
Отправлено: 31.05.16, 18:19


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Я имел ввиду не Родителя, а Владельца.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #113085 · Ответов: 5 · Просмотров: 2060
 

>  Передача параметра в запрос
rpervak
Отправлено: 31.05.16, 14:41


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Цитата(sava1 @ 31.05.16, 10:28) *
Не надо ничего прередавать -уберите оттуда ГДЕ. Внутреннее соединение само все сделает.


Убрал, но в отчет попадает первое значение справочника СпецификацииДоговоров не фильтруя по Родителю
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #113073 · Ответов: 5 · Просмотров: 2060
 

>  Передача параметра в запрос
rpervak
Отправлено: 31.05.16, 9:28


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Предприятие 8.2 (8.2.19.130)
УПП (1.3.39.1)
Помогите, пожалуйста с запросом.
Есть запрос в универсальном отчете:

Код
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ДебиторкскаяКредиторскаяЗадолженность.Организация КАК Организация,
    ДебиторкскаяКредиторскаяЗадолженность.Контрагент КАК Контрагент,
    ДебиторкскаяКредиторскаяЗадолженность.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ДебиторкскаяКредиторскаяЗадолженность.Регистратор КАК Регистратор,
    ДебиторкскаяКредиторскаяЗадолженность.СуммаЗадолженностиВСЕГО КАК СуммаЗадолженностиВСЕГО,
    ДебиторкскаяКредиторскаяЗадолженность.СуммаДокумента КАК СуммаДокумента,
    ДебиторкскаяКредиторскаяЗадолженность.ДатаВозникновенияЗадолженности КАК ДатаВозникновенияЗадолженности,
    ДОБАВИТЬКДАТЕ(ДебиторкскаяКредиторскаяЗадолженность.ДатаВозникновенияЗадолженности, ДЕНЬ, 90) КАК ДатаОплаты,
    РАЗНОСТЬДАТ(&ДатаКонца, ДОБАВИТЬКДАТЕ(ДебиторкскаяКредиторскаяЗадолженность.ДатаВозникновенияЗадолженности, ДЕНЬ, 90), ДЕНЬ) КАК ДнейОсталосьДоПлатежа,
    ДебиторкскаяКредиторскаяЗадолженность.ДнейПросрочкиПлатежа КАК ДнейПросрочкиПлатежа,
    ДебиторкскаяКредиторскаяЗадолженность.ОтсроченаяЗадолженность КАК ОтсроченаяЗадолженность,
    ДебиторкскаяКредиторскаяЗадолженность.ДниОтсрочки КАК ОтсрочкаДни
{ВЫБРАТЬ
    Организация,
    Контрагент.*,
    ДоговорКонтрагента.*,
    Регистратор.*,
    СуммаЗадолженностиВСЕГО,
    СуммаДокумента,
    ДатаВозникновенияЗадолженности,
    ДнейОсталосьДоПлатежа,
    ДнейПросрочкиПлатежа,
    ОтсроченаяЗадолженность}
ИЗ
    (ВЫБРАТЬ
        ПРЕДСТАВЛЕНИЕ(РасчетВзаиморасчетов.Организация) КАК Организация,
        РасчетВзаиморасчетов.Организация КАК ОрганизацияПредставление,
        РасчетВзаиморасчетов.Контрагент КАК Контрагент,
        ПРЕДСТАВЛЕНИЕ(РасчетВзаиморасчетов.Контрагент) КАК КонтрагентПредставление,
        РасчетВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента,
        ПРЕДСТАВЛЕНИЕ(РасчетВзаиморасчетов.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление,
        РасчетВзаиморасчетов.Регистратор КАК Регистратор,
        ПРЕДСТАВЛЕНИЕ(РасчетВзаиморасчетов.Регистратор) КАК РегистраторПредставление,
        МАКСИМУМ(РасчетВзаиморасчетов.ОплатитьПоДокументу) КАК СуммаЗадолженностиВСЕГО,
        МАКСИМУМ(РасчетВзаиморасчетов.СуммаДокумента) КАК СуммаДокумента,
        РасчетВзаиморасчетов.Регистратор.Дата КАК ДатаВозникновенияЗадолженности,
        СУММА(ДЕНЬ(РасчетВзаиморасчетов.Регистратор.Дата) + 90) КАК ДнейОсталосьДоПлатежа,
        МАКСИМУМ(ВЫБОР
                КОГДА РасчетВзаиморасчетов.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0
                        И РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(РасчетВзаиморасчетов.Регистратор.Дата, ДЕНЬ, РасчетВзаиморасчетов.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ) <= 0
                    ТОГДА РасчетВзаиморасчетов.ОплатитьПоДокументу
                ИНАЧЕ 0
            КОНЕЦ) КАК ОтсроченаяЗадолженность,
        СУММА(ВЫБОР
                КОГДА РасчетВзаиморасчетов.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0
                    ТОГДА ВЫБОР
                            КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(РасчетВзаиморасчетов.Регистратор.Дата, ДЕНЬ, РасчетВзаиморасчетов.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ) < 0
                                ТОГДА 0
                            ИНАЧЕ РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(РасчетВзаиморасчетов.Регистратор.Дата, ДЕНЬ, РасчетВзаиморасчетов.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ)
                        КОНЕЦ
                ИНАЧЕ 0
            КОНЕЦ) КАК ДнейПросрочкиПлатежа,
        ВложенныйЗапрос.ДниОтсрочки КАК ДниОтсрочки
    ИЗ
        (ВЫБРАТЬ
            ВзаиморасчетыПоФИФО.Организация КАК Организация,
            ВзаиморасчетыПоФИФО.Контрагент КАК Контрагент,
            ВзаиморасчетыПоФИФО.ДоговорКонтрагента КАК ДоговорКонтрагента,
            ВзаиморасчетыПоФИФО.Регистратор КАК Регистратор,
            ВзаиморасчетыПоФИФО.СуммаДокумента КАК СуммаДокумента,
            ВзаиморасчетыПоФИФО.ОплатитьПоДокументу КАК ОплатитьПоДокументу,
            ВзаиморасчетыПоФИФО.СуммаДолга КАК СуммаДолга,
            ВзаиморасчетыПоФИФО.ДатаВозникновенияЗадолженности КАК ДатаВозникновенияЗадолженности
        ИЗ
            (ВЫБРАТЬ
                ТаблицаОстатков.ДоговорКонтрагента.Организация КАК Организация,
                ТаблицаОстатков.ДоговорКонтрагента.Владелец КАК Контрагент,
                ТаблицаОстатков.ДоговорКонтрагента КАК ДоговорКонтрагента,
                ТаблицаДокументов.Регистратор КАК Регистратор,
                ТаблицаДокументов.Регистратор.СуммаДокумента КАК СуммаДокумента,
                ВЫБОР
                    КОГДА СУММА(ТаблицаНакопления.СуммаВзаиморасчетовПриход) < МАКСИМУМ(ТаблицаОстатков.СуммаВзаиморасчетовОстаток)
                        ТОГДА МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовПриход * КурсВалюты.Курс / КурсВалюты.Кратность)
                    ИНАЧЕ МАКСИМУМ(ТаблицаОстатков.СуммаВзаиморасчетовОстаток * КурсВалюты.Курс / КурсВалюты.Кратность) - (СУММА(ТаблицаНакопления.СуммаВзаиморасчетовПриход * КурсВалюты.Курс / КурсВалюты.Кратность) - МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовПриход * КурсВалюты.Курс / КурсВалюты.Кратность))
                КОНЕЦ КАК ОплатитьПоДокументу,
                ТаблицаОстатков.СуммаВзаиморасчетовОстаток КАК СуммаДолга,
                ТаблицаДокументов.Период КАК ДатаВозникновенияЗадолженности
            ИЗ
                РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, , ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаНакопления
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, , ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаДокументов
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКонца, ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаОстатков
                        ПО ТаблицаДокументов.ДоговорКонтрагента = ТаблицаОстатков.ДоговорКонтрагента
                    ПО (ТаблицаДокументов.Период <= ТаблицаНакопления.Период)
                        И ТаблицаНакопления.ДоговорКонтрагента = ТаблицаДокументов.ДоговорКонтрагента
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКонца, ) КАК КурсВалюты
                    ПО (КурсВалюты.Валюта = ТаблицаНакопления.ДоговорКонтрагента.ВалютаВзаиморасчетов)
            ГДЕ
                ТаблицаНакопления.СуммаВзаиморасчетовПриход > 0
                И ТаблицаДокументов.СуммаВзаиморасчетовПриход > 0
                И ТаблицаДокументов.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
                И ТаблицаНакопления.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
                И ТаблицаОстатков.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
            
            СГРУППИРОВАТЬ ПО
                ТаблицаОстатков.ДоговорКонтрагента,
                ТаблицаДокументов.Регистратор,
                ТаблицаДокументов.СуммаВзаиморасчетовПриход,
                ТаблицаОстатков.СуммаВзаиморасчетовОстаток,
                ТаблицаОстатков.ДоговорКонтрагента.Организация,
                ТаблицаОстатков.ДоговорКонтрагента.Владелец,
                ТаблицаДокументов.Период,
                ТаблицаДокументов.Регистратор.СуммаДокумента
            
            ИМЕЮЩИЕ
                МАКСИМУМ(ТаблицаОстатков.СуммаВзаиморасчетовОстаток) - (СУММА(ТаблицаНакопления.СуммаВзаиморасчетовПриход) - МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовПриход)) > 0
            
            ОБЪЕДИНИТЬ ВСЕ
            
            ВЫБРАТЬ
                ТаблицаОстатков.ДоговорКонтрагента.Организация,
                ТаблицаОстатков.ДоговорКонтрагента.Владелец,
                ТаблицаОстатков.ДоговорКонтрагента,
                ТаблицаДокументов.Регистратор,
                ТаблицаДокументов.Регистратор.СуммаДокумента,
                ВЫБОР
                    КОГДА СУММА(ТаблицаНакопления.СуммаВзаиморасчетовРасход) < МАКСИМУМ(ВЫБОР
                                КОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток < 0
                                    ТОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * -1
                                ИНАЧЕ ТаблицаОстатков.СуммаВзаиморасчетовОстаток
                            КОНЕЦ)
                        ТОГДА МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовРасход * КурсВалюты.Курс / КурсВалюты.Кратность)
                    ИНАЧЕ МАКСИМУМ(ВЫБОР
                                КОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * КурсВалюты.Курс / КурсВалюты.Кратность < 0
                                    ТОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * КурсВалюты.Курс / КурсВалюты.Кратность * -1
                                ИНАЧЕ ТаблицаОстатков.СуммаВзаиморасчетовОстаток * КурсВалюты.Курс / КурсВалюты.Кратность
                            КОНЕЦ) - (СУММА(ТаблицаНакопления.СуммаВзаиморасчетовРасход * КурсВалюты.Курс / КурсВалюты.Кратность) - МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовРасход * КурсВалюты.Курс / КурсВалюты.Кратность))
                КОНЕЦ,
                ВЫБОР
                    КОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток < 0
                        ТОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * -1
                    ИНАЧЕ ТаблицаОстатков.СуммаВзаиморасчетовОстаток
                КОНЕЦ,
                ТаблицаДокументов.Период
            ИЗ
                РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, , ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаНакопления
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Регистратор, , ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаДокументов
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКонца, ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ЛОЖЬ {(ДоговорКонтрагента.Владелец).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДоговорКонтрагента.Организация).* КАК Организация}) КАК ТаблицаОстатков
                        ПО ТаблицаДокументов.ДоговорКонтрагента = ТаблицаОстатков.ДоговорКонтрагента
                    ПО (ТаблицаДокументов.Период <= ТаблицаНакопления.Период)
                        И ТаблицаНакопления.ДоговорКонтрагента = ТаблицаДокументов.ДоговорКонтрагента
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКонца, ) КАК КурсВалюты
                    ПО (КурсВалюты.Валюта = ТаблицаНакопления.ДоговорКонтрагента.ВалютаВзаиморасчетов)
            ГДЕ
                ТаблицаНакопления.СуммаВзаиморасчетовРасход > 0
                И ТаблицаДокументов.СуммаВзаиморасчетовРасход > 0
                И ТаблицаДокументов.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)
                И ТаблицаНакопления.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)
                И ТаблицаОстатков.ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)
            
            СГРУППИРОВАТЬ ПО
                ТаблицаОстатков.ДоговорКонтрагента,
                ТаблицаДокументов.Регистратор,
                ТаблицаОстатков.ДоговорКонтрагента.Организация,
                ТаблицаОстатков.ДоговорКонтрагента.Владелец,
                ТаблицаДокументов.Период,
                ТаблицаДокументов.СуммаВзаиморасчетовРасход,
                ВЫБОР
                    КОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток < 0
                        ТОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * -1
                    ИНАЧЕ ТаблицаОстатков.СуммаВзаиморасчетовОстаток
                КОНЕЦ,
                ТаблицаДокументов.Регистратор.СуммаДокумента
            
            ИМЕЮЩИЕ
                МАКСИМУМ(ВЫБОР
                        КОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток < 0
                            ТОГДА ТаблицаОстатков.СуммаВзаиморасчетовОстаток * -1
                        ИНАЧЕ ТаблицаОстатков.СуммаВзаиморасчетовОстаток
                    КОНЕЦ) - (СУММА(ТаблицаНакопления.СуммаВзаиморасчетовРасход) - МАКСИМУМ(ТаблицаДокументов.СуммаВзаиморасчетовРасход)) > 0) КАК ВзаиморасчетыПоФИФО
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ВзаиморасчетыПоДокументам.Организация,
            ВзаиморасчетыПоДокументам.Контрагент,
            ВзаиморасчетыПоДокументам.ДоговорКонтрагента,
            ВзаиморасчетыПоДокументам.Регистратор,
            ВзаиморасчетыПоДокументам.СуммаДокумента,
            ВзаиморасчетыПоДокументам.ОплатитьПоДокументу,
            ВзаиморасчетыПоДокументам.СуммаДолга,
            ВзаиморасчетыПоДокументам.ДатаВозникновенияЗадолженности
        ИЗ
            (ВЫБРАТЬ
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация КАК Организация,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.Владелец КАК Контрагент,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Регистратор,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.СуммаДокумента КАК СуммаДокумента,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК ОплатитьПоДокументу,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаДолга,
                ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата КАК ДатаВозникновенияЗадолженности
            ИЗ
                РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаКонца, ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки) КАК ВзаиморасчетыПоДокументам) КАК РасчетВзаиморасчетов
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
                СпецификацииДоговоров.Ссылка КАК Ссылка,
                СпецификацииДоговоров.Владелец КАК Владелец,
                СпецификацииДоговоров.Дата КАК Дата,
                СпецификацииДоговоров.ДниОтсрочки КАК ДниОтсрочки
            ИЗ
                Справочник.СпецификацииДоговоров КАК СпецификацииДоговоров
            ГДЕ
                СпецификацииДоговоров.Владелец = &Владелец
            
            УПОРЯДОЧИТЬ ПО
                СпецификацииДоговоров.Код) КАК ВложенныйЗапрос
            ПО РасчетВзаиморасчетов.ДоговорКонтрагента = ВложенныйЗапрос.Владелец
    {ГДЕ
        РасчетВзаиморасчетов.Организация.*,
        РасчетВзаиморасчетов.Контрагент.*,
        РасчетВзаиморасчетов.ДоговорКонтрагента.*,
        РасчетВзаиморасчетов.Регистратор.*}
    
    СГРУППИРОВАТЬ ПО
        РасчетВзаиморасчетов.Организация,
        РасчетВзаиморасчетов.Регистратор,
        РасчетВзаиморасчетов.ДоговорКонтрагента,
        РасчетВзаиморасчетов.Контрагент,
        РасчетВзаиморасчетов.Регистратор.Дата,
        ВложенныйЗапрос.ДниОтсрочки) КАК ДебиторкскаяКредиторскаяЗадолженность
{ГДЕ
    ДебиторкскаяКредиторскаяЗадолженность.Организация,
    ДебиторкскаяКредиторскаяЗадолженность.Контрагент.*,
    ДебиторкскаяКредиторскаяЗадолженность.ДоговорКонтрагента.*,
    ДебиторкскаяКредиторскаяЗадолженность.Регистратор.*}

УПОРЯДОЧИТЬ ПО
    Контрагент,
    Регистратор УБЫВ
{УПОРЯДОЧИТЬ ПО
    Организация,
    Контрагент.*,
    ДоговорКонтрагента.*,
    Регистратор.*,
    СуммаДокумента,
    ДатаВозникновенияЗадолженности,
    ДнейОсталосьДоПлатежа,
    ДнейПросрочкиПлатежа,
    ОтсроченаяЗадолженность}
ИТОГИ
    СУММА(СуммаЗадолженностиВСЕГО),
    ВЫБОР
        КОГДА Регистратор ЕСТЬ НЕ NULL
            ТОГДА СУММА(СуммаДокумента)
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаДокумента,
    ВЫБОР
        КОГДА Регистратор ЕСТЬ НЕ NULL
            ТОГДА МИНИМУМ(ДатаВозникновенияЗадолженности)
        ИНАЧЕ 0
    КОНЕЦ КАК ДатаВозникновенияЗадолженности,
    СУММА(ДнейОсталосьДоПлатежа),
    МАКСИМУМ(ДнейПросрочкиПлатежа),
    СУММА(ОтсроченаяЗадолженность)
ПО
    ОБЩИЕ,
    Организация,
    Контрагент,
    ДоговорКонтрагента,
    Регистратор
{ИТОГИ ПО
    Организация,
    Контрагент.*,
    ДоговорКонтрагента.*,
    Регистратор.*}


Во вложенном запросе
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
                СпецификацииДоговоров.Ссылка КАК Ссылка,
                СпецификацииДоговоров.Владелец КАК Владелец,
                СпецификацииДоговоров.Дата КАК Дата,
                СпецификацииДоговоров.ДниОтсрочки КАК ДниОтсрочки
            ИЗ
                Справочник.СпецификацииДоговоров КАК СпецификацииДоговоров
            ГДЕ
                СпецификацииДоговоров.Владелец = &Владелец
            
            УПОРЯДОЧИТЬ ПО
                СпецификацииДоговоров.Код) КАК ВложенныйЗапрос
            ПО РасчетВзаиморасчетов.ДоговорКонтрагента = ВложенныйЗапрос.Владелец

Справочник.СпецификацииДоговоров является подчиненным справочника ДоговораКонтрагентов

Как в самом запросе параметру &Владелец передать значение текущего Договора контрагента ?
Спасибо !


 ! 

Не нужно писать капслоком.
 
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #113052 · Ответов: 5 · Просмотров: 2060
 

>  Поле с итогом по условию в таб. части документа
rpervak
Отправлено: 25.05.16, 17:47


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


В печатной форме сделал, так видите ли надо лишние кнопки нажимать. Соглашусь, что надо было НЕ лепить такие "хотелки"....
Спасибо всем ! Получилось через менеджер временных таблиц.
Тему можно закрывать.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #112872 · Ответов: 8 · Просмотров: 2664
 

>  Поле с итогом по условию в таб. части документа
rpervak
Отправлено: 25.05.16, 14:04


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


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


При выполнении запроса выдает ошибку:

Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Не установлен менеджер временных таблиц
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #112856 · Ответов: 8 · Просмотров: 2664
 

>  Поле с итогом по условию в таб. части документа
rpervak
Отправлено: 24.05.16, 17:45


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
УПП, редакция 1.3 (1.3.39.1)
Помогите, пожалуйста, реализовать следующее:
Есть документ, в котором имеется таб. поле "Заказы".
Нужно добавить колонку в которой будет суммироваться количество товара с нарастающим итогом, пока артикул номенклатуры добавляемых строк одинаковый.
Если в следующей строке другой артикул, то и значение итогового поля сбрасывается на итог по новому артикулу.

Пример:

1. Заказ1 - Арт1 - кол1 - Ит=кол1
2. Заказ2 - Арт1 - кол2 - Ит=кол1+кол2
......................................................
n. Заказn - Арт.1 - колn - Ит=кол1+кол2+...+колn

n+1. Заказ(n+1) - Арт.2 - Кол(n+1) - Ит=Кол(n+1)
n+2. Заказ(n+2) - Арт.2 - Кол(n+2) - Ит=Кол(n+1)+Кол(n+2)

И т.д.
Для упрощения задачи, артикула в разброс добавляться не будут, а строго по порядку.

Пробовал через свойство ПриПолученииДанных() - не получилось.
Как можно сделать обход строк таб. части сравнивая с предыдущей строкой ?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #112816 · Ответов: 8 · Просмотров: 2664
 

>  Интеграционная стыковка для 1С 8.2 и M.E.Doc
rpervak
Отправлено: 23.03.16, 16:30


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Еще один момент проявился в 35-й версии на нашей конфигурации УПП.
При получении НН из Медка не записывалось автоматически поле "СтатьяКнигиПриобретения".
Изменил условие в модуле объекта процедуры "ТЧВхНН":
Если ЕстьРеквизитТабЧастиДокумента("СтатьяКнигиПриобретения", МетаданныеДокумента, ИмяТабЧасти) Тогда
        СтатьяНалоговойДекларации = ?(СтДеклВхАвтоматически, ННвх.ОпределитьСтатьюНалоговойДекларации(НоваяСтрока), СТННПользователя);
        НоваяСтрока.СтатьяКнигиПриобретения = СтатьяНалоговойДекларации;
КонецЕсли;


Прилагаю обработку с данными исправлениями
  Форум: Прочее 1С 8 · Просмотр сообщения: #110240 · Ответов: 611 · Просмотров: 234585
 

>  Интеграционная стыковка для 1С 8.2 и M.E.Doc
rpervak
Отправлено: 23.03.16, 10:36


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
При выгрузке НН из 1С пишет ошибку:
{Форма.Форма.Форма(2044)}: Преобразование значения к типу Число не может быть выполнено
                ИтогоНН_НДС20  =  ИтогоНН_НДС20+ СтрокаТЧ.G7;

Это из-за того, что значение поля Сумма НДС = 0.

Решение:
В модуле формы в процедуре "Найти_НалоговаяНакладная()" вместо
ИтогоНН_НДС20  =  ИтогоНН_НДС20+ СтрокаТЧ.G7;


добавить условие:
Если НЕ СтрокаТЧ.G7=Неопределено Тогда
        ИтогоНН_НДС20  =  ИтогоНН_НДС20+ СтрокаТЧ.G7;
КонецЕсли;

Видимо случайно упущено разработчиком
  Форум: Прочее 1С 8 · Просмотр сообщения: #110217 · Ответов: 611 · Просмотров: 234585
 

>  Отчет о залежавшейся ГП на складе
rpervak
Отправлено: 01.03.16, 12:40


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Цитата(Егор Динин @ 01.03.16, 12:15) *
А если в отчете производства за смену выпуск продукции по двум заказам разных контрагентов?


У нас каждый отчет производства под одну номенклатуру и соответственно один заказ покупателя
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109277 · Ответов: 19 · Просмотров: 3193
 

>  Отчет о залежавшейся ГП на складе
rpervak
Отправлено: 01.03.16, 11:49


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


У нас в "отчете производства за смену" стоит в таб. части "Заказы" заказ, который является резервом данной продукции.
Можно попробовать вывести остатки по партиям товаров на складах и использовать данную ссылку для получения полей договора, контрагента и т.д ?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109273 · Ответов: 19 · Просмотров: 3193
 

>  Отчет о залежавшейся ГП на складе
rpervak
Отправлено: 29.02.16, 23:36


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Да, Вы правы, заказ на производство можно не использовать.
Увы, но резервы выпущенной продукции не используются.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109235 · Ответов: 19 · Просмотров: 3193
 

>  Отчет о залежавшейся ГП на складе
rpervak
Отправлено: 29.02.16, 22:21


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


logist @ Сегодня, 21:16 *,
Проблема в практической реализации.

Если я правильно соображаю, то надо взять РН: ПартииТоваровНаСкладах.ОстаткиИОбороты объеденить с ЗаказПокупателяТовары каким то образом

Хотя, наверное, я не прав. Если сформировать стандартный отчет "Товары на складах" с детализацией "Период+Регистратор", то оборот и остатки формируются по д-там "Перемещение товаров" и "Реализация товаров и услуг"
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109229 · Ответов: 19 · Просмотров: 3193
 

>  Отчет о залежавшейся ГП на складе
rpervak
Отправлено: 29.02.16, 20:00


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


1С:Предприятие 8.2 (8.2.19.130)
УПП (1.3.39.1)

Здравствуйте ! Очень нужна помощь по логике создания отчета.
Отчет должен формировать остатки номенклатуры по складу ГП с полями: Дата поступления его на склад; Номенклатура; Остаток; Контрагент(чей заказ был); К-тво дней сколько товар может лежать на складе не отгруженным(прописано в поле договора); К-тво дней просрочки(ДатаОтчета-ДатаПоступленияГПНаСклад-ДниОтстрочкиВДоговоре).

У нас производство начинается с заказа покупателя.
ЗаказПокупателя - ЗаказНаПроизводство - ОтчетПроизводстваЗаСмену-ПеремещениеТоваровНаСкладГП-РеализацияТоваров.
То есть Контрагент делает заказ, после чего его производят. После поступления товара на склад ГП он должен забрать его в течении дней, указанных в договоре.
Он может забрать часть заказа или не забирать, по-этому товар висит на складе.
Для этого и нужен отчет, что-бы отследить чей товар и в каком количестве висит на складе и сколько по нему дней просрочки, согласно договора.

Спасибо!

  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109227 · Ответов: 19 · Просмотров: 3193
 

>  Отчет по залежавшейся ГП на складе
rpervak
Отправлено: 25.02.16, 12:42


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Спасибо ! Действительно, достаточно стандартного отчета по партиям товаров на складах
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109036 · Ответов: 4 · Просмотров: 1946
 

>  Отчет по залежавшейся ГП на складе
rpervak
Отправлено: 25.02.16, 1:26


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Предприятие 8.2 (8.2.19.130)
УПП (1.3.39.1)

Знатоки, подскажите, пожалуйста, как сделать запрос по остаткам ГП на складе, которая лежит дольше года, например ?

Исходя от моих познаний, думаю в запросе использовать регистр "ТоварыНаСкладхОстаткиИОбороты", объединив его с выборкой д-тов "Перемещение товаров", по которым ГП перемещалась со склада производства на склад ГП. Но по каждой Номенклатуре может быть много перемещений, а надо выбрать последнее и проверить не была ли его дата более года тому. Если "Да", то вывести в отчет.

Я пока добился, что выводятся все перемещения в разрезе номенклатуры, по которой есть остатки на складе.

Спасибо.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #109012 · Ответов: 4 · Просмотров: 1946
 

>  Оренда транспорта для перевозок готовой продукции
rpervak
Отправлено: 27.01.16, 18:34


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Я могу сделать "Заказ поставщика" по данной услуге и потом на основании Поступление товаров и услуг ?
  Форум: 1С Управление производственным предприятием 8 · Просмотр сообщения: #107652 · Ответов: 3 · Просмотров: 1660
 

>  Оренда транспорта для перевозок готовой продукции
rpervak
Отправлено: 27.01.16, 17:03


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Здравствуйте !
1С:Предприятие 8.2 (8.2.19.121)
УПП (1.3.39.1)

Кто подскажет, какими документами отобразить в бух. учете аренду транспортного средства сторонней организации для перевозки нашей готовой продукции покупателю ?
Спасибо!
  Форум: 1С Управление производственным предприятием 8 · Просмотр сообщения: #107647 · Ответов: 3 · Просмотров: 1660
 

>  Вывод массива табличных документов на печать
rpervak
Отправлено: 30.12.15, 11:20


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Спасибо ! Все получилось.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #106782 · Ответов: 4 · Просмотров: 3859
 

>  Вывод массива табличных документов на печать
rpervak
Отправлено: 29.12.15, 16:11


Говорящий
***

Группа: Пользователи
Сообщений: 73
Регистрация: 08.11.11
Пользователь №: 12627


Процедура КнопкаСформироватьНажатие(Кнопка)
    
    ЗапросНачало = Новый Запрос;
    ЗапросНачало.Текст =
    "ВЫБРАТЬ
    |    ДоговорыКонтрагентов.Владелец КАК Контрагент,
    |    ДоговорыКонтрагентов.Ссылка КАК Договор,
    |    ДоговорыКонтрагентов.ВалютаВзаиморасчетов КАК Валюта
    |ИЗ
    |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    |ГДЕ
    |    ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
    |    И ДоговорыКонтрагентов.ВалютаВзаиморасчетов <> &Валюта
    |
    |УПОРЯДОЧИТЬ ПО
    |    Контрагент";
    
    ЗапросНачало.УстановитьПараметр("Валюта", Справочники.Валюты.НайтиПоКоду(980));
    РезультатНачало = ЗапросНачало.Выполнить();

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

    Запрос.УстановитьПараметр("ДоговорКонтрагента", Договор);
    Запрос.УстановитьПараметр("Контрагент",         Контрагент);

    Результат = Запрос.Выполнить();

    ТЗ = Результат.Выгрузить();
    
    НайденныеСтроки = ТЗ.НайтиСтроки(Новый Структура("СуммаВзаиморасчетовРасход",0));
    
    Для Каждого Стр Из НайденныеСтроки Цикл
        ТЗ.Удалить(Стр);
    КонецЦикла;
    
    ТЗ.Сортировать("ДатаДокумента");
    
    ТабДок = Новый ТабличныйДокумент;
    Макет  = ПолучитьМакет("Макет");
    
    ОбластьШапка              = Макет.ПолучитьОбласть("Шапка");
    ОбластьОплата             = Макет.ПолучитьОбласть("Оплата");
    ОбластьПоступление        = Макет.ПолучитьОбласть("Отгрузка");
    ОбластьПоступлениеКрасная = Макет.ПолучитьОбласть("ОтгрузкаКрасная");
    
    ОбластьДолг               = Макет.ПолучитьОбласть("Долг");
    ОбластьДолгПоДокументу    = Макет.ПолучитьОбласть("ДолгПоДокументу");
    
    ОбластьДолгПоПоступлению  = Макет.ПолучитьОбласть("ДолгПоПоступлению");
    
    ОбластьШапка.Параметры.Контрагент = Контрагент;
    ОбластьШапка.Параметры.Договор = Договор;
    ОбластьШапка.Параметры.Валюта =  Договор.ВалютаВзаиморасчетов;
    
    ТабДок.Вывести(ОбластьШапка);    
    
    // СЕКЦИЯ ДОЛГ
    Фильтр = Новый Структура("Контрагент,ДоговорКонтрагента", Контрагент, Договор);
    ДолгНаНачало = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.Остатки(НачПериода, Фильтр, "Контрагент,ДоговорКонтрагента", "СуммаВзаиморасчетов");
    
    ОбластьДолг.Параметры.ТекстСальдо = "Сальдо на початок періоду:";
    ОбластьДолг.Параметры.Долг        = ДолгНаНачало.Итог("СуммаВзаиморасчетов");
    ТабДок.Вывести(ОбластьДолг);    
    
    Выборка = Результат.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        Если Выборка.СуммаВзаиморасчетовПриход = 0 Тогда
            Продолжить;
        КонецЕсли;
        
        Если Выборка.СуммаВзаиморасчетовПриход = Выборка.СуммаВзаиморасчетовРасход Тогда
            Продолжить;
        КонецЕсли;
        
        ДатаОплаты         = НачалоДня(Выборка.ДатаДокумента);
        ГраницаПоступления = ДатаОплаты + (ОтсрочкаПоставкиДней - 1) * 24 * 60 * 60;
        
        СумаОплаты = Выборка.СуммаВзаиморасчетовПриход;
        
        ОбластьОплата.Параметры.ДокОплаты          = Выборка.Регистратор;
        ОбластьОплата.Параметры.СумаОплаты         = СумаОплаты;
        ОбластьОплата.Параметры.ГраницаПоступления = ГраницаПоступления;
        
        Если ДатаОплаты >= НачалоДня(НачПериода) И ДатаОплаты <= КонецДня(КонПериода) Тогда
            ТабДок.Вывести(ОбластьОплата);            
        КонецЕсли;
        
        Для Каждого Стр Из ТЗ Цикл
            
            Если Стр.СуммаВзаиморасчетовРасход = 0 Тогда
                Продолжить;
            КонецЕсли;
            
            Если СумаОплаты <= 0 Тогда
                Прервать;
            КонецЕсли;
            
            СумаПоступления = Мин(Стр.СуммаВзаиморасчетовРасход, СумаОплаты);
            
            ОбластьВывода = ?(НачалоДня(Стр.ДатаДокумента) > ГраницаПоступления, ОбластьПоступлениеКрасная, ОбластьПоступление);
            
            ОбластьВывода.Параметры.ГраницаПоставки = ГраницаПоступления;
            ОбластьВывода.Параметры.СумаПоступления = СумаПоступления;
            ОбластьВывода.Параметры.ДокПоступления  = Стр.Регистратор;
            ОбластьВывода.Параметры.НомерВМД        = Стр.НомерВМД;
            
            ДатаРеализации = Стр.Регистратор.Дата;
            
            Если ДатаРеализации >= НачалоДня(НачПериода) И ДатаРеализации <= КонецДня(КонПериода) Тогда
                ТабДок.Вывести(ОбластьВывода);    
            КонецЕсли;
            
            Стр.СуммаВзаиморасчетовРасход = Стр.СуммаВзаиморасчетовРасход - СумаПоступления;
            
            СумаОплаты = СумаОплаты - СумаПоступления;
            
        КонецЦикла;
        
        Если СумаОплаты > 0 Тогда
            
            ОбластьДолгПоДокументу.Параметры.ДокОплаты  = Выборка.Регистратор;
            ОбластьДолгПоДокументу.Параметры.СуммаДолга = СумаОплаты;
            //ОбластьДолгПоДокументу.Параметры.НомерВМД   = Выборка.НомерВМД;
            
            ТабДок.Вывести(ОбластьДолгПоДокументу);    
            
        КонецЕсли;
        
        НайденныеСтроки = ТЗ.НайтиСтроки(Новый Структура("СуммаВзаиморасчетовРасход",0));
        
        Для Каждого Стр Из НайденныеСтроки Цикл
            ТЗ.Удалить(Стр);
        КонецЦикла;
        
        ТЗ.Сортировать("ДатаДокумента");
        
    КонецЦикла;
    
    // СЕКЦИЯ ПОСТУПЛЕНИЯ БЕЗ ОПЛАТЫ
    Для Каждого Стр Из ТЗ Цикл
        
        Если Стр.СуммаВзаиморасчетовРасход = 0 Тогда
            Продолжить;
        КонецЕсли;
                
        СумаПоступления = Стр.СуммаВзаиморасчетовРасход;
        
        ОбластьДолгПоПоступлению.Параметры.СумаПоступления = СумаПоступления;
        ОбластьДолгПоПоступлению.Параметры.ДокПоступления  = Стр.Регистратор;
        ОбластьДолгПоПоступлению.Параметры.НомерВМД        = Стр.НомерВМД;
        
        ДатаРеализации = Стр.Регистратор.Дата;
        
        Если ДатаРеализации >= НачалоДня(НачПериода) И ДатаРеализации <= КонецДня(КонПериода) Тогда
            ТабДок.Вывести(ОбластьДолгПоПоступлению);    
        КонецЕсли;
        
        Стр.СуммаВзаиморасчетовРасход = Стр.СуммаВзаиморасчетовРасход - СумаПоступления;
        
    КонецЦикла;

    // СЕКЦИЯ ДОЛГ
    ДолгНаНачало = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.Остатки(КонецДня(КонПериода), Фильтр, "Контрагент,ДоговорКонтрагента", "СуммаВзаиморасчетов");
    
    ОбластьДолг.Параметры.ТекстСальдо = "Сальдо на кінець періоду:";
    ОбластьДолг.Параметры.Долг        = ДолгНаНачало.Итог("СуммаВзаиморасчетов");
    ТабДок.Вывести(ОбластьДолг);    
    
    ТабДок.ТолькоПросмотр = Истина;        
    ТабДок.Показать();    
КонецЦикла;
    
КонецПроцедуры
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #106750 · Ответов: 4 · Просмотров: 3859
 

3 страниц V   1 2 3 >

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 02.05.24, 1:04
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!