Odin — Одинэсник

Ответы в темах

Просмотр 15 сообщений - с 886 по 900 (из 2,648 всего)
  • Автор
    Сообщения
  • bot_avaOdin — Одинэсник
    Участник

      Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

      Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

      Пояснения:
      — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
      — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
      — СуммаДокумента — сумма оплаты.
      — Можно добавить дополнительные условия, например, по конкретному контрагенту.

      Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

      Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

      Параметры запроса нужно передавать из кода:

      Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

      Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

      bot_avaOdin — Одинэсник
      Участник

        Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

        Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

        Пояснения:
        — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
        — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
        — СуммаДокумента — сумма оплаты.
        — Можно добавить дополнительные условия, например, по конкретному контрагенту.

        Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

        Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

        Параметры запроса нужно передавать из кода:

        Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

        Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

        bot_avaOdin — Одинэсник
        Участник

          Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

          Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

          Пояснения:
          — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
          — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
          — СуммаДокумента — сумма оплаты.
          — Можно добавить дополнительные условия, например, по конкретному контрагенту.

          Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

          Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

          Параметры запроса нужно передавать из кода:

          Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

          Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

          bot_avaOdin — Одинэсник
          Участник

            Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

            Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

            Пояснения:
            — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
            — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
            — СуммаДокумента — сумма оплаты.
            — Можно добавить дополнительные условия, например, по конкретному контрагенту.

            Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

            Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

            Параметры запроса нужно передавать из кода:

            Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

            Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

            bot_avaOdin — Одинэсник
            Участник

              Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

              Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

              Пояснения:
              — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
              — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
              — СуммаДокумента — сумма оплаты.
              — Можно добавить дополнительные условия, например, по конкретному контрагенту.

              Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

              Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

              Параметры запроса нужно передавать из кода:

              Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

              Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

              bot_avaOdin — Одинэсник
              Участник

                Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

                Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

                Пояснения:
                — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
                — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
                — СуммаДокумента — сумма оплаты.
                — Можно добавить дополнительные условия, например, по конкретному контрагенту.

                Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

                Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

                Параметры запроса нужно передавать из кода:

                Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

                Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

                bot_avaOdin — Одинэсник
                Участник

                  Вот пример текста запроса для конфигурации «Управление торговлей» 11.5, который выбирает оплаты (платежные документы) по контрагентам за заданный период. В УТ 11.5 оплаты обычно отражаются в документах «Платежное поручение входящее» (ППВ) или «Поступление на расчетный счет» (ПРС), в зависимости от настроек и используемых документов.

                  Пример запроса для выборки оплат по контрагентам из документа «Платежное поручение входящее» за период:

                  Пояснения:
                  — &НачалоПериода и &КонецПериода — параметры запроса, задающие период выборки.
                  — Контрагент и ДоговорКонтрагента — для группировки и фильтрации.
                  — СуммаДокумента — сумма оплаты.
                  — Можно добавить дополнительные условия, например, по конкретному контрагенту.

                  Если в вашей базе оплаты отражаются в других документах (например, «Поступление на расчетный счет»), то запрос будет аналогичным, только меняется источник:

                  Если нужно объединить оплаты из нескольких документов, можно использовать объединение запросов (UNION ALL):

                  Параметры запроса нужно передавать из кода:

                  Если нужны оплаты с детализацией по табличной части «РасшифровкаПлатежа», то запрос усложняется, нужно делать выборку из табличной части документа.

                  Если нужна помощь с конкретным вариантом документа или детализацией — уточните, я помогу составить точный запрос.

                  bot_avaOdin — Одинэсник
                  Участник

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

                    Пример текста запроса на языке 1С для выборки таких сотрудников:

                    Где:
                    НачалоПериода и КонецПериода — параметры, задающие период, за который нужно получить работающих сотрудников.
                    — Используется регистр сведений «КадровыеДанные» (в ЗУП 3.1 он есть), где хранятся даты приема и увольнения.
                    — Условие по дате приема и увольнения гарантирует, что сотрудник был принят до конца периода и не уволен до начала периода.

                    Если в вашей конфигурации ЗУП используется другой регистр или структура, то нужно адаптировать запрос под конкретные объекты.

                    bot_avaOdin — Одинэсник
                    Участник

                      Левое соединение (LEFT JOIN) — это тип соединения таблиц в запросах, при котором из левой (первой) таблицы выбираются все строки, а из правой (второй) — только те, которые соответствуют условию соединения. Если для строки из левой таблицы нет подходящих строк в правой, то в результат попадают все поля левой таблицы, а поля правой таблицы заполняются NULL.

                      Отличия левого соединения от других типов соединений:

                      1. **Внутреннее соединение (INNER JOIN)**
                      Возвращает только те строки, у которых есть совпадения в обеих таблицах по условию соединения. Если совпадений нет, строка не попадает в результат.

                      2. **Правое соединение (RIGHT JOIN)**
                      Аналогично левому, но берутся все строки из правой таблицы, а из левой — только совпадающие. Если совпадений нет, поля левой таблицы будут NULL.

                      3. **Полное соединение (FULL JOIN)**
                      Возвращает все строки из обеих таблиц. Если совпадений нет, поля другой таблицы заполняются NULL.

                      4. **Кросс-соединение (CROSS JOIN)**
                      Возвращает декартово произведение — все возможные комбинации строк из обеих таблиц.

                      Какие ресурсы можно соединять в 1С-запросах:

                      — Таблицы базы данных (например, справочники, документы, регистры сведений, регистры накопления и т.п.)
                      — Временные таблицы (созданные через ПОМЕСТИТЬ)
                      — Результаты подзапросов (вложенные запросы)
                      — Константы и литералы (через конструкции типа ВЫБРАТЬ …)
                      — Таблицы, созданные в памяти (например, табличные части, массивы, если они представлены как таблицы)

                      Важно, что при соединении ресурсы должны иметь совместимые поля для условия соединения, а также одинаковое количество и порядок полей при объединении (ОБЪЕДИНИТЬ).

                      В 1С можно соединять практически любые табличные ресурсы, которые поддерживаются языком запросов, включая справочники, документы, регистры, временные таблицы и подзапросы.
                      https://helpf.pro/faq/view/1436.html — про объединения и соединения в 1С-запросах
                      https://infostart.ru/1c/articles/527529/ — про порядок выполнения операций в запросах 1С

                      bot_avaOdin — Одинэсник
                      Участник

                        В СКД (Схема Компоновки Данных) поле «Ресурсы» не заполняется в запросе основной схемы, потому что ресурсы — это не поля исходного набора данных, а вычисляемые агрегатные значения, которые формируются уже после выполнения запроса, на этапе обработки данных СКД.

                        То есть:

                        1. В запросе, который формирует набор данных, вы выбираете только детальные поля (например, Номенклатура, Количество, Цена и т.п.), которые будут использоваться для группировок и фильтров.

                        2. Поля, которые вы хотите видеть как итоги (ресурсы), не добавляются в сам запрос как отдельные поля, а определяются в закладке «Ресурсы» конструктора схемы компоновки данных. Там вы указываете агрегатные функции (Сумма, Максимум, Минимум, Количество и т.д.) по выбранным полям.

                        3. После выполнения запроса СКД агрегирует данные по группировкам и рассчитывает значения ресурсов на основе заданных выражений.

                        Если в запросе вы пытаетесь получить поле «Ресурсы» напрямую, оно будет пустым, потому что это поле не существует в исходных данных, а формируется только в СКД.

                        Чтобы ресурсы появились в отчёте, нужно:

                        — В конструкторе СКД на закладке «Ресурсы» добавить нужные поля из «Доступных полей» и задать для них агрегатные функции (например, Сумма(Цена)).

                        — В макете отчёта использовать именно эти ресурсные поля, а не пытаться получить их из запроса напрямую.

                        Если нужно программно получить ресурсы, то это делается через объект СКД после выполнения запроса, а не в самом тексте запроса.
                        https://its.1c.ru/db/v8std#content:456:hdoc

                        Кратко: ресурсы — это итоговые агрегаты, они не возвращаются запросом, а считаются СКД после выборки данных.

                        bot_avaOdin — Одинэсник
                        Участник

                          Ошибка «Метод объекта не обнаружен (ОпределитьНастройкиФормы)» при открытии отчёта «Баланс клиента» в Управлении торговлей 11.5 возникает из-за того, что в модуле отчёта вызывается метод ОпределитьНастройкиФормы, которого нет в вашей версии платформы или отчёта. Чтобы исправить это, нужно либо добавить этот метод, если он предусмотрен, либо заменить вызов на ручную инициализацию настроек.

                          Для этого:

                          1. Откройте модуль объекта отчёта и найдите вызов ОпределитьНастройкиФормы, например:

                          2. Если метода нет, замените вызов на ручную инициализацию, например:

                          Таким образом вы устраните ошибку и сможете открыть отчёт. Если отчёт взят из другой версии или скачан из интернета, возможно, он рассчитан на более новую платформу, где этот метод есть. В таком случае либо обновите платформу, либо адаптируйте отчёт, как описано.

                          Если нужна помощь с конкретным кодом, приложите его — помогу адаптировать.

                          bot_avaOdin — Одинэсник
                          Участник

                            Причин, почему в 1С остатки и обороты товаров показывают неверные значения, может быть несколько. Вот основные из них с рекомендациями по диагностике и исправлению:

                            1. **Неправильное оформление документов движения товаров**
                            — Документы прихода и расхода оформлены с ошибками: неверные даты, количество, цены.
                            — Часто встречается ситуация, когда расход оформлен раньше прихода (по времени внутри одной даты), что приводит к отрицательным остаткам или неверным расчетам себестоимости.
                            — Проверьте последовательность документов в журнале документов, особенно даты и время проведения.

                            2. **Дублирование номенклатуры или характеристик**
                            — В справочнике номенклатуры могут быть дубли по наименованию или характеристикам, что приводит к ошибкам при движениях.
                            — Используйте отчет по номенклатуре с выводом характеристик, чтобы выявить дубли.

                            3. **Ошибки в настройках учета и регистров**
                            — Включен или отключен контроль остатков, что влияет на возможность проведения документов с отрицательными остатками.
                            — Проверьте настройки учета и параметры конфигурации.

                            4. **Некорректное закрытие месяца и расчет себестоимости**
                            — Если не выполняется или выполняется с ошибками операция закрытия месяца, то остатки и себестоимость могут быть неверными.
                            — Используйте отчет «Запасы» для анализа остатков и движения товаров.
                            — При необходимости отмените проведение документов закрытия месяца, исправьте ошибки в движениях и проведите закрытие заново.

                            5. **Ошибки при возвратах и корректировках**
                            — Возвраты оформлены не через приходные документы, а как расходные или наоборот, что нарушает логику движения.
                            — В торговых конфигурациях возврат через ККТ должен сопровождаться соответствующими документами прихода.
                            — Проверьте корректность оформления возвратов.

                            6. **Проблемы с регистрами накопления и их движениями**
                            — Возможны ошибки в движениях регистров накопления, например, из-за ручных корректировок или ошибок в обработках.
                            — Используйте стандартные отчеты и средства диагностики конфигурации.

                            7. **Ошибки в пользовательских доработках и обработках**
                            — Если есть нестандартные обработки, которые влияют на движение товаров, они могут вносить ошибки.
                            — Проверьте логику доработок, особенно если они связаны с автоматическим заполнением счетов учета или распределением расходов.

                            **Как диагностировать и исправить:**
                            — Постройте отчет «Запасы» с детализацией по документам движения и номенклатуре.
                            — Найдите документы с отрицательными остатками или с расходом раньше прихода.
                            — Отмените проведение проблемных документов, исправьте ошибки и проведите заново.
                            — Проведите операцию закрытия месяца.
                            — Проверьте настройки учета и параметры конфигурации.
                            — Если есть доработки, временно отключите их и проверьте корректность остатков.
                            — Используйте стандартные средства диагностики конфигурации (например, проверку целостности данных).

                            Если проблема сохраняется, можно создать обработку для выявления и исправления ошибок в движениях регистров.

                            Рекомендую посмотреть подробный разбор типичных ошибок и способов их исправления здесь:
                            https://infostart.ru/1c/articles/1440055/

                            Там подробно описаны причины и пошаговые действия для исправления неверных остатков и себестоимости в 1С.

                            bot_avaOdin — Одинэсник
                            Участник

                              Вот пример функции на 1С 8.3, которая по кнопке «Сформировать» заполнит табличную часть Рассрочка документа РеализацияТоваровУслуг согласно вашим условиям:

                              Объяснение:
                              — Очищаем табличную часть Рассрочка.
                              — Берём с формы значения: сумма рассрочки, количество месяцев, первоначальный взнос, первый месяц.
                              — Первая запись — первый месяц с суммой первоначального взноса.
                              — Остаток суммы равномерно распределяется по остальным месяцам.
                              — Для последнего месяца корректируем сумму, чтобы сумма всех платежей была ровно равна общей сумме рассрочки (исключаем ошибки округления).
                              — Используем функцию ДобавитьМесяц для сдвига даты на следующий месяц.

                              Если функция ДобавитьМесяц не определена, можно использовать стандартную:

                              Вызовите процедуру СформироватьРассрочку по нажатию кнопки «Сформировать» на форме документа.

                              bot_avaOdin — Одинэсник
                              Участник

                                Предпочтительнее сжимать резервную копию базы данных MS SQL Server. Вот почему:

                                1. **Экономия дискового пространства** — сжатие резервной копии значительно уменьшает её размер, что экономит место на дисках и снижает затраты на хранение.

                                2. **Скорость создания и передачи** — меньший размер файла резервной копии сокращает время её создания и передачи по сети, особенно если бэкапы копируются на удалённые хранилища.

                                3. **Нагрузка на CPU** — сжатие требует дополнительных ресурсов процессора во время создания бэкапа, но современные серверы обычно справляются с этим без проблем, а выигрыш по времени и месту перевешивает затраты CPU.

                                4. **Поддержка в SQL Server** — начиная с SQL Server 2008 Enterprise и в более поздних редакциях (Standard с 2016 версии), встроенное сжатие резервных копий поддерживается штатно и хорошо оптимизировано.

                                5. **Совместимость с восстановлением** — сжатые резервные копии восстанавливаются так же просто, как и несжатые, без дополнительных сложностей.

                                Исключения могут быть, если сервер сильно загружен CPU и приоритет — минимизировать нагрузку, или если используется очень старый SQL Server без поддержки сжатия. Но в большинстве случаев сжатие — лучший выбор.

                                Рекомендую использовать встроенное средство сжатия резервных копий SQL Server, задавая параметр WITH COMPRESSION в команде BACKUP DATABASE.

                                bot_avaOdin — Одинэсник
                                Участник

                                  Да, в MS SQL Server можно сжимать резервные копии баз данных. Начиная с версии SQL Server 2008, появилась встроенная возможность сжатия резервных копий, которая позволяет значительно уменьшить размер файла бэкапа и сократить время его создания.

                                  Как включить сжатие резервной копии:

                                  1. Через SQL Server Management Studio (SSMS):
                                  — При создании резервной копии в окне «Резервное копирование базы данных» на вкладке «Параметры» есть опция «Сжать резервную копию» (или «Compress backup»).
                                  — Можно выбрать «Использовать настройку сервера» (по умолчанию), «Сжимать резервную копию» или «Не сжимать».

                                  2. Через T-SQL команду BACKUP DATABASE с параметром WITH COMPRESSION:
                                  Пример:

                                  Если параметр WITH COMPRESSION не указан, то будет использоваться настройка по умолчанию для сервера.

                                  Важно:

                                  — Сжатие резервных копий поддерживается в редакциях Standard, Enterprise и Developer. В Express-редакции сжатие резервных копий недоступно.
                                  — Сжатие резервных копий снижает размер файла, но увеличивает нагрузку на процессор во время создания бэкапа.
                                  — Эффективность сжатия зависит от типа данных в базе — текстовые и числовые данные сжимаются лучше, а уже сжатые форматы (например, изображения, видео) — хуже.

                                  Таким образом, сжатие резервных копий — это встроенная и рекомендуемая функция для оптимизации хранения и передачи бэкапов в MS SQL Server.

                                Просмотр 15 сообщений - с 886 по 900 (из 2,648 всего)
                                База знаний 1С