Здравствуйте ! 1С:Підприємство 8.3 (8.3.10.2505) "Управление производственным предприятием для Украины", редакция 1.3 (1.3.64.1) Ведется партионный учет. Используются серии и спецификации Есть 2 подразделения, учет ведется по переделам. Работаем по схеме: ТН-ОПЗ(автоматически распределяются материалы). После проведения себестоимости НПЗ не должно быть (так и было до августа месяца) СС при проведении не ругается. В отчете "Ведомость по производственным затратам" в августе одна позиция осталась на конечном остатке, а в сентябре почти все затраты (скрин прилагаю). Аналитики проверял, все сходятся.
Может кто знает, как можно реализовать такую логику формирования цены единицы готовой продукции: Цена ГП = сумма цен материалов + сумма зарплаты + процент прочих затрат;
где сумма цен материалов - это сырье; сумма зарплаты - каждой номенклатурной единице прописана зарплата (от 5 до 50 грн. на штуке), которая входит в цену изделия; процент прочих затрат - это также установленый процент (от 50% до 100%), который накручивается сверху на цену изделия с зарплатой.
Пример:
Есть ГП1. Что-бы ее изготовить, надо потратить Сырье1 - 5 шт. по цене 10 грн, сырье2 - 10 шт. по цене 15 грн. Для ГП1 прописана зарплата 5 грн. и процент прочих затрат - 50%.
Помогите, пожалуйста, реализовать такую задачу, хотя бы подскажите логику: Есть ТЗ1(из остатков и оборотов "Партии товаров на складах" за период) и ТЗ2(из таб. части документа, заполненного из того же регистра в начале периода) ТЗ1 и ТЗ2 с идентичными полями ("Номенклатура", "ХарактеристикаНоменклатуры", "КоличествоПриход")
1. в начале периода заполняется таб. часть документа остатками и приходом из вышеуказанного регистра. 2. на протяжении периода может меняться количество прихода по той номенклатуре, которая уже есть в ТЗ2, или же появляться новая.
Задача состоит в том, что бы при нажатии кнопки "Обновить таб. часть" сравнивались остатки и приходы (ТЗ1) на текущий момент периода с ТЗ2, заполненной таб. части документа в начале периода. а) Если такая номенклатура и характеристика есть в ТЗ2, то обновить приход б) Если в ТЗ1 есть новые приходы, то добавить их в таб. часть документа
P.S. Естественно выборки в рамках одного склада и периода (месяца)
Пробовал и через отбор и циклами, не вышло Заранее благодарен !
Не могу найти где формируется таблица по таб. части "Продукция" Отчета производства засмену для движения по приходу регистра "ТоварыНаСкладах". Добавил в регистре измерение, и соответственно поле в таб.части документа, но при проведении значение в регистр не записывается.
Сделал все то же в д-те "ПоступлениеТоваровИУслуг" - все получилось. А вот в Отчете производства как-то сложнее все.
ВЫБРАТЬ РАЗРЕШЕННЫЕ ДебиторкскаяКредиторскаяЗадолженность.Организация КАК Организация, ДебиторкскаяКредиторскаяЗадолженность.Контрагент КАК Контрагент, ДебиторкскаяКредиторскаяЗадолженность.ДоговорКонтрагента КАК ДоговорКонтрагента, ДебиторкскаяКредиторскаяЗадолженность.Регистратор КАК Регистратор, ДебиторкскаяКредиторскаяЗадолженность.СуммаЗадолженностиВСЕГО КАК СуммаЗадолженностиВСЕГО, ДебиторкскаяКредиторскаяЗадолженность.СуммаДокумента КАК СуммаДокумента, ДебиторкскаяКредиторскаяЗадолженность.ДатаВозникновенияЗадолженности КАК ДатаВозникновенияЗадолженности, ДОБАВИТЬКДАТЕ(ДебиторкскаяКредиторскаяЗадолженность.ДатаВозникновенияЗадолженности, ДЕНЬ, 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.3 (1.3.39.1) Помогите, пожалуйста, реализовать следующее: Есть документ, в котором имеется таб. поле "Заказы". Нужно добавить колонку в которой будет суммироваться количество товара с нарастающим итогом, пока артикул номенклатуры добавляемых строк одинаковый. Если в следующей строке другой артикул, то и значение итогового поля сбрасывается на итог по новому артикулу.
Еще один момент проявился в 35-й версии на нашей конфигурации УПП. При получении НН из Медка не записывалось автоматически поле "СтатьяКнигиПриобретения". Изменил условие в модуле объекта процедуры "ТЧВхНН":
Если ЕстьРеквизитТабЧастиДокумента("СтатьяКнигиПриобретения", МетаданныеДокумента, ИмяТабЧасти) Тогда СтатьяНалоговойДекларации = ?(СтДеклВхАвтоматически, ННвх.ОпределитьСтатьюНалоговойДекларации(НоваяСтрока), СТННПользователя); НоваяСтрока.СтатьяКнигиПриобретения = СтатьяНалоговойДекларации; КонецЕсли;
У нас в "отчете производства за смену" стоит в таб. части "Заказы" заказ, который является резервом данной продукции. Можно попробовать вывести остатки по партиям товаров на складах и использовать данную ссылку для получения полей договора, контрагента и т.д ?
logist @ Сегодня, 21:16 , Проблема в практической реализации.
Если я правильно соображаю, то надо взять РН: ПартииТоваровНаСкладах.ОстаткиИОбороты объеденить с ЗаказПокупателяТовары каким то образом
Хотя, наверное, я не прав. Если сформировать стандартный отчет "Товары на складах" с детализацией "Период+Регистратор", то оборот и остатки формируются по д-там "Перемещение товаров" и "Реализация товаров и услуг"
Здравствуйте ! Очень нужна помощь по логике создания отчета. Отчет должен формировать остатки номенклатуры по складу ГП с полями: Дата поступления его на склад; Номенклатура; Остаток; Контрагент(чей заказ был); К-тво дней сколько товар может лежать на складе не отгруженным(прописано в поле договора); К-тво дней просрочки(ДатаОтчета-ДатаПоступленияГПНаСклад-ДниОтстрочкиВДоговоре).
У нас производство начинается с заказа покупателя. ЗаказПокупателя - ЗаказНаПроизводство - ОтчетПроизводстваЗаСмену-ПеремещениеТоваровНаСкладГП-РеализацияТоваров. То есть Контрагент делает заказ, после чего его производят. После поступления товара на склад ГП он должен забрать его в течении дней, указанных в договоре. Он может забрать часть заказа или не забирать, по-этому товар висит на складе. Для этого и нужен отчет, что-бы отследить чей товар и в каком количестве висит на складе и сколько по нему дней просрочки, согласно договора.
Знатоки, подскажите, пожалуйста, как сделать запрос по остаткам ГП на складе, которая лежит дольше года, например ?
Исходя от моих познаний, думаю в запросе использовать регистр "ТоварыНаСкладхОстаткиИОбороты", объединив его с выборкой д-тов "Перемещение товаров", по которым ГП перемещалась со склада производства на склад ГП. Но по каждой Номенклатуре может быть много перемещений, а надо выбрать последнее и проверить не была ли его дата более года тому. Если "Да", то вывести в отчет.
Я пока добился, что выводятся все перемещения в разрезе номенклатуры, по которой есть остатки на складе.
Кто подскажет, какими документами отобразить в бух. учете аренду транспортного средства сторонней организации для перевозки нашей готовой продукции покупателю ? Спасибо!
ЗапросНачало = Новый Запрос; ЗапросНачало.Текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.Владелец КАК Контрагент, | ДоговорыКонтрагентов.Ссылка КАК Договор, | ДоговорыКонтрагентов.ВалютаВзаиморасчетов КАК Валюта |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ | И ДоговорыКонтрагентов.ВалютаВзаиморасчетов <> &Валюта | |УПОРЯДОЧИТЬ ПО | Контрагент";
ОбластьДолг.Параметры.ТекстСальдо = "Сальдо на початок періоду:"; ОбластьДолг.Параметры.Долг = ДолгНаНачало.Итог("СуммаВзаиморасчетов"); ТабДок.Вывести(ОбластьДолг);
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.СуммаВзаиморасчетовПриход = 0 Тогда Продолжить; КонецЕсли;
Если Выборка.СуммаВзаиморасчетовПриход = Выборка.СуммаВзаиморасчетовРасход Тогда Продолжить; КонецЕсли;
ОбластьДолг.Параметры.ТекстСальдо = "Сальдо на кінець періоду:"; ОбластьДолг.Параметры.Долг = ДолгНаНачало.Итог("СуммаВзаиморасчетов"); ТабДок.Вывести(ОбластьДолг);
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!