denis84 @ 24.03.23, 18:39
, Як вставити картику зрозуміло. Поки не зрозуміло як її закріпити на конкретному місці незалежно від об'єму табличної частини документа.
awp @ Вчера, 22:00
, А якщо ТЧ велика і буде виходити за першу сторінку? Як я зрозумів тоді футер з'явиться вже на другій сторінці. Хоча підхід подобається. Дякую.
Перестала работать настройка положения колонок в документе УстановкаЦенНоменклатуры. Отладка показала, что строка в строке параметров часть строки заместь слов "Да" и "Нет" появились "Так" и "Ні". Все произошло после после форс мажора, когда пришлось переставить систему на сервере терминалов, с которого работает часть пользователей 1С. Поставили 1С Предприятие, но при установке видимо выбрали где то в настройках язык "українська". Все менюшки стали на украинском, конфигуратор на укр, дерево конфигурации на укр. В той же конфигурации, но с другого сервера терминалов, где платформа на русском все работает. Вопрос. Как поменять язык платформы на рус. Спасибо. Система Windows Server 2022 Datacenter. Настройка региональных стандартов на двух серверах одинаковая. Інформаційна база: російська (Україна), Сеанс: російська (Україна) и Информационная база: русский (Украина), Сеанс: русский (Украина) Вопрос конечно шире. Может не из за этого не работает настройка положения колонок, но все вроде ведет к языку платформы.
Решено. C:\Program Files\1cv8\conf\conf.cfg
Строка должна быть "SystemLanguage=System" для моих настроек базы + должен быть установлен русский язык платформы при установке. У меня стоял только укр и eng. Спасибо за внимание. Может у кого то тоже подобная тупая ситуация будет.
И так, вернемся к вопросу. Не идет задание. Консоль заданий пишет, что задание периодически запускается, но действий никаких. Для отладки в процедуру привязанную к заданию написал следующий код.
Путь = "D:\www\attachments"; Маска = "*.xml";
мФайлы = ПроцедурыОбменаССайтом.НайтиФайлыВИерархии(Путь, Маска); Для каждого Ф Из мФайлы Цикл Приемник = Новый Файл("D:\www\"+Ф.Имя+".xml"); УдалитьФайлы(Путь,Ф.Имя); Прервать; КонецЦикла;
который по одному удаляет файлики из папки. В обработке все работает. В задании нет, хотя в консоли пишет, что задание выполнено. Процедуры экспортные, само собой.
AnryMc @ Сегодня, 16:29
, У меня в процедуре просто
Сообщить("Выполнить загрузку! "+ТекущаяДата());
Выполнилось один раз при входе в систему. Расписание упростил до "каждый день; каждые 180 секунд".
Плюс к тому, что в базе крутятся еще задания с расписанием каждые 150 секунд и они реально проходят каждые 150 секунд("каждый день; каждые 150 секунд"). Мое нет. Что то пошло не так.
Talkman @ Сегодня, 16:32
, Уточнение. В списке выполненных фоновых заданий, выполнение моего задания появилось, я просто не увидел выполнения метода сообщить. Видимо выполнился не под текущим пользователем. Запущу в процедуре процесс создания документа. Если создастся - все ок. Пока еще раз спасибо.
AnryMc @ Сегодня, 16:29
, Наименование есть, ключ пока не указан, но, возможно, он и не нужен будет. Отпишусь когда все получится либо если что то снова пойдет не так.
Запустил обработку. В перечне исполняющихся моего задания не было. Добавил. Перенастроил из клиента расписание "каждый день; с 8:00:00 по 17:00:00 каждые 180 секунд, завершать после 17:20:00, повторять после завершения через 60 секунд". Вышел из клиента. Зашел снова - задание выполнилось. Повторное выполнение не пошло. В чем ошибка? Еще заметил, что в конфигураторе поставил галочку в задании "Предопределенное". В обработке стоит, что задание не предопределенное. В чем подвох?
AnryMc @ Сегодня, 15:54
, Был в той теме. От нее и начал копать. Но без направляющих советов понять сложнее.
Добрый день. Помогите разобраться с работой регламентных заданий. УТ 2.3. Обычные формы. Толстый клиент.
Задача. Запустить процедуру поиска файлов и на основании данных из этих файлов создать документы.
Создал Регламентное задание. Поставил галочки Использовать и Предопределенное. В расписании: «Выполнять: каждый день; с 8:00:00 по 17:00:00 каждые 180 секунд, завершать после 17:20:00, завершать через 180 секунд». Подвязал процедуру из общего модуля с галочками «Вызов сервера», «Сервер», «Внешнее соединение», «Клиент (обычное приложение)». При запуске 1С процедура указанная в задании не выполняется. В смысле до выполнения процедуры не доходит без всяких ошибок. Попытался найти консоль регламентных заданий, там покопаться, но пока не нашел. Подскажите в какую сторону копать. Что делаю не так или про что не так понял. Запускаю под Пользователем с полными правами. В процедуре на данный момент просто метод Сообщить(). Спасибо.
Talkman @ Сегодня, 14:49
, SQL версия. Прочитал, что важно.
Добрый день. Хочу по кнопке из формы обработки открывать форму списка документов с заданным отбором. Делаю так.
Если ЗначениеЗаполнено(Контрагент) Тогда ФормаСписка = Документы.ЗаказПокупателя.ПолучитьФорму("ФормаСписка"); ФормаСписка.ДокументСписок.Отбор.Контрагент.Значение = Контрагент; ФормаСписка.ДокументСписок.Отбор.Контрагент.Использование = Истина; ФормаСписка.ДокументСписок.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно; ФормаСписка.ОткрытьМодально(); КонецЕсли;
Работает, если у пользователя уже не открыта открываемая форма списка. Тогда выдает ошибку. Если открывать не модально, при открытом списке документов, второй с отбором не открывается. Вопрос. Можно как то открыть второй список документов с нужным отбором при уже открытом списке документов без отбора?
Vofka @ Сегодня, 10:13
, Понял. Спасибо. А по поводу иерархии запретов доступа. Что может дать доступ к объекту, если RLS ограничение говорит, что доступ запрещен?
Разобрался. RLS ограничение доступа стояло на чтение объекта под ролью Пользователь. У юзера была выбрана еще одна роль с доступом на чтение без ограничений. Спасибо за внимание и помощь.
Vofka @ Сегодня, 14:59
, Из различных мануалов прочитал, что доступа не будет, если выборка запроса будет не пустой. У меня вопрос как можно соединять таблицы по ИСТИНА и в каких случаях доступ может быть дан, если это ограничение доступа сработало. Что может перебить данное правило и дать доступ?
Шаблон доступа на чтение типов цен номенклатуры для роли Пользователь. Смысл ограничения - для групп пользователей с выбранными типами цен в настройках дать доступ только к выбранным типам цен. После курения интернета разобрался, что доступ будет дан при условии, что выборка не пустая, иначе запрет. На данный момент запрос выглядит так. Запрос
ТекущаяТаблица ИЗ Справочник.ТипыЦенНоменклатуры КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей) ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ ИЛИ НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 КАК ПолеОтбора ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ТипыЦен) ТОГДА ВЫБОР КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ГДЕ НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.Ссылка И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ТипыЦен) И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ = ЛОЖЬ) И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
Вложенный запрос выдает единицу. Условие
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ ИЛИ НЕ 1 В ...
должно выдать ложь, чтобы доступа не было(?). По факту доступ есть. Код не мой, пробую разобраться. Подскажите что означают параметр
и как по такому параметру можно делать левое соединение . Скорее всего это обращение к одноименной константе, только тогда условие будет Истина, значение константы Истина. Меня смущает тот факт, что говорят, что раньше все работало, а сейчас перестало... Этот код должен работать?
Talkman @ Сегодня, 21:15
, Уточнение. Условие будет не Истина, а наоборот Ложь, так как Константа не Ложь и Не 1 в 1 тоже Ложь. Остались вопрос как можно связывать таблицы по Истине, что будет в результате и почему может не работать ограничение...
Vofka @ 22.07.22, 11:00
, Нашел правила обмена данными в базе выгрузки данных. Их можно сохранить во внешний файл и видимо открыть в конфигурации Конвертация данных для последующей правки. Так?
sava1 @ Вчера, 18:22
, В очень отдаленных чертах понял. Завтра на копиях баз буду отладчик насиловать на примере загрузки выгрузки одного документа. Спасибо, но чувствую будут еще вопросы... Смотреть же модуль обработки ОбменДаннымиXML, правильно?
sava1 @ Сегодня, 13:38
, Я в 8-ке так сказать начинающий. Событие какого объекта?
Уточню вопрос. После запуска загрузки в бухгалтерии в базе появляются документы созданные или измененные в аналитической базе. В какой момент и с какого модуля можно отловить для них событие ПослеЗагрузки?
sava1 @ 14.07.22, 17:18
, Извиняюсь, что пропал, дела. Вы имеете введу, что после синхронизации баз выбирать документы, по которым нужно сделать пересчет и пересчитывать по новому курсу валюты уже после синхронизации?
Платформа 8.3.16.1659. Существует необходимость при загрузке данных в БУХ документы с одной валютой конвертировать в другую валюту по другому курсу. Пример: есть Поступление Товаров и Услуг с товаром А в количестве 1 и ценой 100 в валюте Вал1. Нужно, чтобы при загрузке в БУХ если Вал1 в списке соответствий валют, документ загрузился в валюте Вал 2 по курсу Вал 2 на дату документа ( к примеру количество 1 цена 93). Вариант выбрать документы в бух с валютой Вал1 и конвертировать их в Вал2 по соответствующему курсу вроде как рабочий, но может существуют тонкие настройки синхронизации данных? Готов выслушать советы. Спасибо.
Vofka @ Сегодня, 9:01
, Спасибо, инфа интересная и нужная. Но есть одно но. Я с начала решил упростить задачу, чтобы было понятнее, чего я хочу, но видимо не получится. Есть отчет на базе универсального отчета с таким листингом запроса в начальных настройках. Внимание большой запрос...
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПродажиОбороты.ДокументПродажи.Ответственный КАК Ответственный, | ПродажиОбороты.Подразделение КАК Подразделение, | ПродажиОбороты.Контрагент КАК Контрагент, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.ЗаказПокупателя.Ответственный) КАК ОтветственныйПредставление, | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Подразделение), | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент), | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.ЗаказПокупателя), | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура), | ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетовОборот, | ПродажиОбороты.СтоимостьОборот / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ КАК СтоимостьОборот, | ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ, 0) КАК Себестоимость0, | ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1 / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ КАК Себестоимость1, | ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2 / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ КАК Себестоимость2, | ВЫБОР | КОГДА &ПоТипамЦен | ТОГДА ВЫБОР | КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0 | ТОГДА ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1 / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ | ИНАЧЕ ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2 / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ | КОНЕЦ | ИНАЧЕ ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ, 0) | КОНЕЦ КАК Себестоимость, | ЕСТЬNULL(ТЗРОбороты.СуммаОборот / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ, 0) КАК СуммаТЗР, | ЕСТЬNULL(БонусыОбороты.СуммаОборот / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ, 0) КАК СуммаБонусов, | ВЫБОР | КОГДА &ПоТипамЦен | ТОГДА ВЫБОР | КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0 | ТОГДА (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1) / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ | ИНАЧЕ (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2) / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ | КОНЕЦ | ИНАЧЕ (ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0)) / ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ | КОНЕЦ КАК ВаловаяПрибыль, | ВЫБОР | КОГДА ПродажиОбороты.СтоимостьОборот = 0 | ТОГДА 0 | ИНАЧЕ 100 * ВЫБОР | КОГДА &ПоТипамЦен | ТОГДА ВЫБОР | КОГДА ЕСТЬNULL(ЦеныНоменклатуры1.Цена, 0) > 0 | ТОГДА ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры1.Цена / ЦеныНоменклатуры1.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют1.Курс / КурсыВалют1.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен1 | ИНАЧЕ ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ПродажиОбороты.КоличествоОборот * (ЦеныНоменклатуры2.Цена / ЦеныНоменклатуры2.ЕдиницаИзмерения.Коэффициент) * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * (КурсыВалют2.Курс / КурсыВалют2.Кратность) / (УпрВалюты.Курс / УпрВалюты.Кратность) * &КоэффициентБазовогоТипаЦен2 | КОНЕЦ | ИНАЧЕ ПродажиОбороты.СтоимостьОборот - ЕСТЬNULL(ТЗРОбороты.СуммаОборот, 0) - ЕСТЬNULL(БонусыОбороты.СуммаОборот, 0) - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) | КОНЕЦ / ПродажиОбороты.СтоимостьОборот | КОНЕЦ КАК Рентабельность, | ПродажиОбороты.Регистратор, | ПродажиОбороты.Период, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ГОД) КАК ПериодГод, | ВЫБОР | КОГДА КурсыВалютСрезПоследних.Кратность = 0 | ТОГДА 1 | ИНАЧЕ КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность | КОНЕЦ КАК КурсРегистратора |{ВЫБРАТЬ | Ответственный.*, | Подразделение.*, | Контрагент.*, | ЗаказПокупателя.*, | Номенклатура.*, | КоличествоЕдиницОтчетовОборот, | СтоимостьОборот, | Себестоимость0, | Себестоимость1, | Себестоимость2, | Себестоимость, | СуммаТЗР, | СуммаБонусов, | ВаловаяПрибыль, | Рентабельность, | Регистратор, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаУпрУчета) КАК УпрВалюты, | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Подразделение).* КАК Подразделение, (Контрагент).* КАК Контрагент, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаКон, | ТипЦен = &БазовыйТипЦен1 | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры1 | ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатуры1.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &ДатаКон, | ТипЦен = &БазовыйТипЦен2 | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатуры2 | ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатуры2.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалют2 | ПО (ЦеныНоменклатуры2.Валюта = КурсыВалют2.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалют1 | ПО (ЦеныНоменклатуры1.Валюта = КурсыВалют1.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТЗР.Обороты(&ДатаНач, &ДатаКон, , {(Подразделение).* КАК Подразделение, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК ТЗРОбороты | ПО ПродажиОбороты.ЗаказПокупателя = ТЗРОбороты.ЗаказПокупателя | И ПродажиОбороты.Номенклатура = ТЗРОбороты.Номенклатура | И ПродажиОбороты.Регистратор = ТЗРОбороты.ДокументДвижения | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Бонусы.Обороты(&ДатаНач, &ДатаКон, , {(Подразделение).* КАК Подразделение, (ЗаказПокупателя).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура}) КАК БонусыОбороты | ПО ПродажиОбороты.ЗаказПокупателя = БонусыОбороты.ЗаказПокупателя | И ПродажиОбороты.Номенклатура = БонусыОбороты.Номенклатура | И ПродажиОбороты.Регистратор = БонусыОбороты.ДокументДвижения | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.Номенклатура КАК Номенклатура, | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ГДЕ | ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца | {ГДЕ | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость | ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура) | И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя) | И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(, Валюта = &ВалютаОтображения) КАК КурсыВалютСрезПоследних | ПО (НАЧАЛОПЕРИОДА(ПродажиОбороты.Регистратор.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(КурсыВалютСрезПоследних.Период, ДЕНЬ)) |{ГДЕ | ПродажиОбороты.ДокументПродажи.Ответственный.* КАК Ответственный, | ПродажиОбороты.Подразделение.* КАК Подразделение, | ПродажиОбороты.Контрагент.* КАК Контрагент, | ПродажиОбороты.ЗаказПокупателя.* КАК ЗаказПокупателя, | ПродажиОбороты.Номенклатура.* КАК Номенклатура, | ПродажиОбороты.Регистратор КАК Регистратор, | ПродажиОбороты.Период КАК Период, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ)) КАК ПериодДень, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, НЕДЕЛЯ)) КАК ПериодНеделя, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕКАДА)) КАК ПериодДекада, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)) КАК ПериодМесяц, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, КВАРТАЛ)) КАК ПериодКвартал, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие, | (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ГОД)) КАК ПериодГод} |{УПОРЯДОЧИТЬ ПО | Ответственный.*, | Подразделение.*, | Контрагент.*, | ЗаказПокупателя.*, | Номенклатура.*, | СтоимостьОборот, | СуммаТЗР, | СуммаБонусов, | ВаловаяПрибыль, | Рентабельность, | Регистратор, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |ИТОГИ | СУММА(КоличествоЕдиницОтчетовОборот), | СУММА(СтоимостьОборот), | СУММА(Себестоимость0), | СУММА(Себестоимость1), | СУММА(Себестоимость2), | СУММА(Себестоимость), | СУММА(СуммаТЗР), | СУММА(СуммаБонусов), | СУММА(ВаловаяПрибыль), | ВЫБОР | КОГДА СУММА(СтоимостьОборот) = 0 | ТОГДА 0 | ИНАЧЕ 100 * СУММА(ВаловаяПрибыль) / СУММА(СтоимостьОборот) | КОНЕЦ КАК Рентабельность |ПО | ОБЩИЕ |{ИТОГИ ПО | Ответственный.*, | Подразделение.*, | Контрагент.*, | ЗаказПокупателя.*, | Номенклатура.*, | Регистратор, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |АВТОУПОРЯДОЧИВАНИЕ";
Есть вариант обойтись без временных таблиц? Задача, показывать все сумовые значения в выбранной валюте. Сначала в ТЗ было считать сумовые значений по средневзвешенному курсу за период. Тут как бы все понятно. А вот на дату документа регистратора ПродажиОбороты, это уже жестко. Сейчас запрос с левым соединением курса валют не работает...
Добрый день и Слава Украине! Задача - получить в запросе сумму документа в выбранной валюте по курсу на дату документа. Регистр сведений КурсыВалют, периодичность в пределах дня, независимый.
Валюта = Справочники.Валюты.НайтиПоНаименованию("usd",Истина); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.СуммаДокумента, | ЗаказПокупателя.Дата КАК Дата1, | ЗаказПокупателя.Ссылка, | НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ДЕНЬ) КАК ДАТА, | ЗаказПокупателя.СуммаДокумента / (КурсыВалютСрезПервых.Курс / КурсыВалютСрезПервых.Кратность) КАК ВВалюте |ИЗ | РегистрСведений.КурсыВалют.СрезПервых(, Валюта = &Валюта) КАК КурсыВалютСрезПервых | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя | ПО (НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ДЕНЬ) = КурсыВалютСрезПервых.Период) |ГДЕ | ЗаказПокупателя.Дата МЕЖДУ &НачПериода И &КонПериода";
denis84 @ Сегодня, 8:23
, Я может не дописал описание ситуации. Элемент справочника сохранятся должен интерактивно, то есть через форму элемента справочника. С обработками все предельно понятно. Затык был в том, что при сохранении элемента справочника все периодические реквизиты, значения которых менялись, записывались правильно, кроме одного. Я так и не понял, почему АвторДокаУЦ не записывался со всеми другими реквизитами, хотя его значение на последней строчке процедуры ПриЗаписи() было верное. Тип "Периодический" помог, но лично я считаю это костылем. Но работает же, и фиг с ним.
Sharzem @ Вчера, 19:57
, Чесно кажучі вона мене вже дістала та сімка. Доречі, проблема вирішилася за допомогою СоздатьОбъект("Периодический") і додаванням нового запису для АвторДокаАЦ на необхідну дату. Я застопорився в тому, що всі інші періодичні реквізити зберігаються, а цей ні.
denis84 @ Сегодня, 16:58
, В элементе справочника используется метод ИспользоватьДату(). В моем случае метод Установить() не применяется, применяется прямое присвоение. ИспользоватьДату(<?>,); Синтаксис: ИспользоватьДату(<Дата>,<УстСразу>) Назначение: Установить дату выборки периодических реквизитов справочника. Возвращает: Текущее значение используемой даты (на момент до исполнения метода). Параметры: <Дата> - значение типа дата. <УстСразу> - необязательный параметр. Число: если 1, то дата, переданная в качестве параметра, будет установлена уже в текущей выборке; если 0 - то дата, переданная в качестве параметра, будет установлена при следующем открытии выборки. Значение по умолчанию - 0. . Замечание: Если к объекту применен метод ИспользоватьДату, то нельзя применять к этому же объекту метод Получить. Метод нельзя использовать через две точки.
Добрый день. Впал в ступор, прошу помощи. 1С ПУБ, релиз платформы последний официальный. Проблема. Есть Справочник.ТМЦ, у него есть список периодических реквизитов. Один из них АвторДокаУЦ, который ведет учет пользователей, которые меняли учетную цену товара. В процедуре ПриЗаписи() меняется значение реквизита АвторДокаУЦ на нужное значение, проверяю в конфигураторе и с помощью сообщить(АвторДокаУЦ). Высвечивается нужное мне значение. После выполнения процедуры ПриЗаписи() значение в периодический реквизит не записывается. В чем может быть проблема? Перед присвоением значения реквизиту используется метод ИспользоватьДату(). Остальные периодические реквизиты элемента записываюются без проблем...
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!