redking500 @ Вчера, 16:19
, СКД славится своими способностями перекомпоновывать данные по своему усмотрению. Попробуйте отключить "Автозаполнение" на закладке "Наборы данных" в СКД и поместите выводимые в отчет поля во вкладке "Компоновка данных"
ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Сделка КАК Сделка, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаВзаиморасчетовКонечныйОстаток, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход / 1.2 КАК СуммаВзаиморасчетовПриход, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход / 1.2 КАК СуммаВзаиморасчетовРасход ПОМЕСТИТЬ ТзОстаткиОборотыПоЗаказам ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Сделка = &Ссылка) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиОбороты.Сделка КАК Сделка, ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход, ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход {ВЫБРАТЬ Сделка.*, СуммаВзаиморасчетовПриход, СуммаВзаиморасчетовРасход} ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты( &НачалоПериода, &КонецПериода, Регистратор, Сделка В (ВЫБРАТЬ Тз.Сделка ИЗ ТзОстаткиОборотыПоЗаказам КАК Тз ГДЕ Тз.СуммаВзаиморасчетовКонечныйОстаток = 0)) КАК ВзаиморасчетыСКонтрагентамиОбороты {ГДЕ ВзаиморасчетыСКонтрагентамиОбороты.Сделка.*, ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход, ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход}
sava1 @ Сегодня, 13:44
, Не совсем понял вопрос. В "Ресурсах" Сумма(Собрано), Сумма(Отгружено). В структуре отчета указываем группировки и ы выбранных полях ресурсы Что Вас смущает?
kolkovyj @ Сегодня, 1:05
, Я решал похожую задачу следующим образом 1. Сортируем события по времени, присваиваем каждому событию НомПП 2. Выбираем все пары, где НомПП - вход, НомПП+1 - выход 3. Для каждой пары вычисляем интервал и складываем их в пределах дня. 4. Остальные "шумы", которые не найдут себе пару, не учитываем Например
08:00:01 Вход 08:00:03 Вход 17:01:03 Выход 17:01:04 Выход
sava1 @ 16.12.24, 22:14
, Это поменяет то, что не нужно будет разбираться с Максимумами и ВычислитьВыражениеСГруппировкойМассив и думать, как будет выглядеть отчет при расшифровке . Используем сумму, да и всё. Впрочем, я не настаиваю, дело вкуса)
ВЫБРАТЬ ВложенныйЗапрос1.Регистратор, ВложенныйЗапрос1.Номенклатура, ВложенныйЗапрос1.Характеристика, ВложенныйЗапрос1.Собрано, 0 КАК Отгружено ИЗ (ВЫБРАТЬ "Регистратор1" КАК Регистратор, "Номенклатура1" КАК Номенклатура, "Характеристика1" КАК Характеристика, 100 КАК Собрано
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Регистратор2", "Номенклатура1", "Характеристика2", 200) КАК ВложенныйЗапрос1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ВложенныйЗапрос2.Регистратор, ВложенныйЗапрос2.Номенклатура, "ПустаяХарактеристика", 0, ВложенныйЗапрос2.Отгружено ИЗ (ВЫБРАТЬ "Номенклатура1" КАК Номенклатура, "Регистратор3" КАК Регистратор, 25 КАК Отгружено
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Номенклатура2", "Регистратор4", 50) КАК ВложенныйЗапрос2
Думаю, что тут проблема в типах. Теоретически ВремяВход и ВремяВыход может быть НЕОПРЕДЕЛЕНО, а РазностьДат() актуально только для Даты. Замените НЕОПРЕДЕЛЕНО, например, на ДАТАВРЕМЯ(1,1,1,0,0,0)
ВЫБОР КОГДА РеєстрСистемиКонтролюДоступу.Вид = ЗНАЧЕНИЕ(Перечисление.ВходящееИсходящееСобытие.Входящее) ТОГДА РеєстрСистемиКонтролюДоступу.Период ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ВремяВход,
Ну, как по-мне, зря Вы используете в Запросе левое соединение. Я бы соединил запросы через Объединение. Даже можно не в одном запросе, а воспользовавшись возможностями СКД (набор данных - Объединение)
Ну, там не все так просто. Проводки по большей части описываются в ТекстОтраженияВРеглУчетеУКР() модуля менеджера объекта. Но счета, субконто и суммы могут потом корректироваться в общем модуле проведения. Само отражение в РеглУчетПроведениеСервер.ВыполнитьОтражение(). А если чуть глубже, то само формирование движений - в РеглУчетВыборкиСерверПовтИсп.ЗапросДанных() Но я бы туда не лез: оно там капитально переплетено для всех документов. Хотя, конкретно для этого документа может быть все и прозрачно
Как вариант, попробуйте другой способ: сделайте подписку на РегистрБухгалтерии ПередЗаписью() и ковыряйте полученные проводки сколько душе угодно: типовые модули не трогаете, а сумму уже навернете, какую Вам нужно
У меня схожая проблема при закрытии месяца в ЕРП. Проявляется она в том, что Система видит, что нужно сделать корректировку НДС по условной продаже, но документ расчета НДС не является регистратором для этого Регистра В ЕРП причина оказалась такая. В документе поступления ТМЦ налог. назначение Обл. НДС, но движения в регистре, если я не ошибаюсь, ПартииТоваровОрганизаций были Необл НДС. Причем, перепроведение не помогало: нужно было распровести документ и провести его заново. Потом на эту хромую ТМЦ накручивались доп. расходы и Система при расчете себестоимости пыталась сделать какие-то правильные движения на все эти манипуляции. УТ под рукой нет, но советую проверять налоговое назначение при приходе. Думаю, ошибка примерна та же
Ну, у Вас "Контрагенты Левое соединение ВременнаяТаблица", значит результат конечного запроса от ВременнаяТаблица не сильно зависит. Значит, если результат пустой, что-то не то с выборкой из Справочника.Контрагенты. Например Параметр &Ссылка не заполнен
Ну, можно извернуться в запросе построения Динамического списка формы (сделать произвольный запрос). Типа:
... ВЫБОР КОГДА &Язык = "EN" ТОГДА СправочникНоменклатура.НаименованиеПоАнглийски ИНАЧЕ СправочникНоменклатура.Наименование КОНЕЦ КАК Наименование, ...
А в ПриСозданииНаСервере()
... КодЯзыка = ""; Если РольДоступна("Англичанин")Тогда КодЯзыка = "EN"; КонецЕсли; ЗначениеПараметраКомпоновкиДанных = Список.Параметры.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Язык")); Если ЗначениеПараметраКомпоновкиДанных <> Неопределено Тогда ЗначениеПараметраКомпоновкиДанных.Значение = КодЯзыка; ЗначениеПараметраКомпоновкиДанных.Использование = ИСТИНА; КонецЕсли; ...
Но есть у меня чуйка, что должен быть более изящный способ в платформе
название месяца в строке номенклатуры(формирование из "представление в счете перион/групировка ")
Расшифруйте, что это значит? Что такое "Представление в счете"? Это процедура? По факту где-то стоит что-то типа Формат(НашаДата, "ДФ='MMMM yyyy'"). В модуле, в макете или представлении СКД. Нужно принудительно изменить на Формат(НашаДата, "Л=uk; ДФ='MMMM yyyy'")
ИмяКомандыНаФорме = "ФормаОбщаяКомандаСтруктураПодчиненности"; ЭлСтруктураПодчиненности = ЭтаФорма.КоманднаяПанель.ПодчиненныеЭлементы.Найти(ИмяКомандыНаФорме); Если НЕ ЭлСтруктураПодчиненности=НЕОПРЕДЕЛЕНО Тогда ЭлСтруктураПодчиненности.Видимость = ЛОЖЬ; КонецЕсли;
Вот так я убирал стандартные команды из формы списка:
ЭлСкопировать = Элементы.Список.КонтекстноеМеню.ПодчиненныеЭлементы.Найти("СписокКонтекстноеМенюСкопировать"); Если НЕ ЭлСкопировать=НЕОПРЕДЕЛЕНО Тогда ЭлСкопировать.Видимость = ЛОЖЬ; КонецЕсли;
ЭлСкопировать2 = Элементы.Список.КоманднаяПанель.ПодчиненныеЭлементы.КоманднаяПанельСписок.ПодчиненныеЭлементы.Найти("СписокСкопировать"); Если НЕ ЭлСкопировать2=НЕОПРЕДЕЛЕНО Тогда ЭлСкопировать2.Видимость = ЛОЖЬ; КонецЕсли;
Из .cf, как мне кажется, не очень получится создать чистую Базу. Но на 100% утверждать не берусь: ни разу не пробовал Попробуйте загрузить из ЧИСТОЙ .dt
Чудеса какие-то аж интересно посмотреть. Нашел ближайший релиз 8.3.15.1830. Выкачаю - попробую. 8.3.15.1700 не нашел. Если сможете, куда-то залейте; посмотрим. Может быть какая-то дурацкая проблема типа кеша?
Попробуйте условие по периоду после ГДЕ перенести в условие для соединения таблиц
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаправкиТС КАК ЗаправкиТС | ПО м_ТранспортныеСредства.Ссылка = ЗаправкиТС.ТранспортноеСредство | И ЗаправкиТС.Период МЕЖДУ &НачПериод И &КонПериод
У Вас был перечень выпускаемых работ (продукции). Добавилась еще одна. Если там свой расчет затрат, ну выделите её в отдельное Подразделение. Или положите на отдельную номенклатурную группу, где и собирайте затраты конкретно на эти работы. Или я недостаточно вник в вопрос?
ВЫБРАТЬ ВрТабл2.Сформировал КАК Сформировал, МАКСИМУМ(ВрТабл2.КолВоДокументов) КАК КолВоДокументов, СУММА(ЕСТЬNULL(ВрТабл21.Рейтинг, 0)) КАК Рейтинг1 ИЗ ВрТабл2 КАК ВрТабл2 ЛЕВОЕ СОЕДИНЕНИЕ ВрТабл2 КАК ВрТабл21
ПО ВрТабл2.КолВоДокументов < ВрТабл21.КолВоДокументов ИЛИ ВрТабл2.КолВоДокументов = ВрТабл21.КолВоДокументов И ВрТабл2.Сформировал < ВрТабл21.Сформировал
Не пробовали заменить обработку ее копией (заменив в ней что-то незначительно, например, название)? Возможно, в Рабочей базе что-то не так стало с вспомогательными таблицами (пройтись SQL-средствами по Базе), а при копировании ваши журналы становятся в правильное положение. Но в этом случае да, желательно присмотреться к выполняемым в обработке запросам повнимательнее
Какой именно процесс Вам хочется автоматизировать?
Если у Вас в Системе есть Документ реализации товаров, используете механизм ввода на основании, либо Заполнить - добавить из Реализации Если у Вас в Системе этого документа нет, то укажите себестоимость вручную. По-другому никак
У Вас есть ПериодМес - выводится в столбцах таблицы. Добавляете вычисляемое поле ПериодКвартал = НачалоПериода(ПериодМес, "Квартал"), указываете ему в оформлении форматную строку типа ДФ='к "квартал" yyyy' Затем в столбцах таблицы группировка верхнего уровня - ПериодКвартал, в неё вложенная ПериодМес. Как-то так
Надеюсь во всех алгоритмах работы с партиями Вы предусмотрели закрытие регистра по этому измерению. Иначе УПП умрет.
Не отмахивайтесь от этого вопроса. Если Ваш регистр не будет закрываться (а он в УПП обычно и так немаленький), можно спрогнозировать проблемы с работой Вашей Базы в будущем Возможно, если Вам нужен отчет по данному реквизиту только по оборотам, есть смысл добавить его не в измерения Регистра, а в Реквизиты?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!