Odin — Одинэсник

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

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

      Ошибка «Элемент не выбран!» возникает потому, что метод Справочники.Контрагенты.НайтиПоКоду(Контрагент.Код, Истина) не нашёл элемент справочника и вернул пустое значение (Неопределено). А дальше вы пытаетесь вызвать ПолучитьОбъект() у пустого значения, что и даёт ошибку.

      Как исправить:

      1. Проверьте, что Контрагент.Код действительно существует и корректен.
      2. Добавьте проверку результата поиска перед вызовом ПолучитьОбъект().

      Пример исправленного кода:

      Если Контрагент — это ссылка на элемент справочника, то лучше не искать по коду, а использовать ссылку напрямую:

      Итого: ошибка возникает из-за того, что НайтиПоКоду не нашёл элемент, и нужно проверить результат перед использованием.

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

        Вот пример, как в вашей обработке во внешней обработке (Альфа-Авто) пройтись по табличной части и отфильтровать повторяющиеся почты и телефоны для каждого контрагента, используя массивы для контроля уникальности:

        Объяснение:

        — Для почты и телефона создаются отдельные массивы, в которые добавляются уникальные пары «Контрагент|Почта» и «Контрагент|Телефон».
        — Если такая пара уже есть в массиве, значит этот контакт уже учтён и повторно не добавляется.
        — В комментариях укажите место, где вы заносите данные в контактную информацию.
        — Используйте ЗначениеЗаполнено() чтобы не учитывать пустые значения.

        Так вы исключите дублирование почт и телефонов для одного контрагента.

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

          В управляемой форме ошибка «не видно получить макет» при вызове ПолучитьМакет("Макет") возникает потому, что метод ПолучитьМакет() доступен только в модуле объекта (серверной части) или в модуле обработки, а в модуле управляемой формы (клиентской части) его напрямую вызвать нельзя.

          В управляемом интерфейсе получить макет нужно через объект, например:

          1. В модуле объекта (сервере) создайте функцию, которая вернёт макет:

          2. В модуле формы (клиенте) вызовите эту функцию через объект:

          Или, если макет лежит в общем модуле или внешней обработке, вызовите его через соответствующий объект.

          Если макет — это файл в ресурсах обработки, то можно получить его так:

          и вызвать эту функцию с клиента через объект.

          В управляемом интерфейсе нельзя просто так вызвать ПолучитьМакет() — нужно делать это на сервере и передавать результат на клиент.

          Рекомендую посмотреть здесь, как работать с макетами в управляемом интерфейсе:
          https://infostart.ru/public/394727/
          https://infostart.ru/public/704948/

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

            Ошибка «Несоответствие типов (параметр номер ‘1’)» при вызове ТабДок.Вывести(ТабЧасть) возникает потому, что метод Вывести() объекта ТабличныйДокумент ожидает в качестве параметра объект типа ТабличныйДокумент или ОбластьТабличногоДокумента, а вы передаете ТаблицуЗначений.

            Метод Вывести() не умеет напрямую принимать ТаблицуЗначений.

            Как правильно сохранить табличную часть в Excel:

            1. Получить ТаблицуЗначений из табличной части (вы это делаете).
            2. Создать ТабличныйДокумент.
            3. Заполнить ТабличныйДокумент данными из ТаблицыЗначений вручную (через цикл по строкам и столбцам).
            4. Сохранить ТабличныйДокумент в файл.

            Пример кода для заполнения ТабличногоДокумента из ТаблицыЗначений:

            Объяснение:

            — Метод Вывести() не подходит для ТаблицыЗначений.
            — Нужно вручную заполнить ТабличныйДокумент через Область(строка, столбец).Текст.
            — Заголовки берутся из имен колонок ТаблицыЗначений.
            — Данные из каждой строки и колонки записываются в соответствующую ячейку ТабличногоДокумента.
            — После заполнения вызывается Записать() для сохранения в файл Excel.

            Так вы избежите ошибки несоответствия типов и корректно сохраните табличную часть в Excel.

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

              Чтобы добавить в форму подбора номенклатуры в документе «Перемещение ТМЗ» дополнительный столбец с датой поступления товара, нужно сделать следующее:

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

              2. Изменить запрос подбора
              В форме подбора номенклатуры используется запрос, который выбирает данные для таблицы. Нужно добавить в этот запрос поле с датой поступления. Например, если данные берутся из регистра остатков, то нужно присоединить к запросу таблицу документов поступления и взять дату из них.

              3. Добавить колонку в табличное поле формы
              В конфигураторе открыть форму подбора номенклатуры (обычно это форма выбора из справочника или документа). В табличном поле добавить новый столбец «Дата поступления».

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

              5. Обновить форму и протестировать

              ### Примерный алгоритм действий в конфигураторе

              1. Откройте конфигуратор, найдите объект, в котором реализован подбор номенклатуры для документа «Перемещение ТМЗ». Обычно это форма выбора номенклатуры или форма подбора из регистра остатков.

              2. Найдите запрос, который формирует данные для таблицы подбора. Он может выглядеть примерно так:

              |ВЫБРАТЬ
              | Остатки.Номенклатура,
              | Остатки.Количество,
              | Остатки.Цена,
              | Остатки.Склад,
              | … — другие поля
              |ИЗ
              | РегистрНакопления.ОстаткиНоменклатуры КАК Остатки
              |ГДЕ
              | Остатки.Склад = &Склад

              3. Добавьте в запрос присоединение к документу поступления товаров, чтобы получить дату поступления. Например:

              |ВЫБРАТЬ
              | Остатки.Номенклатура,
              | Остатки.Количество,
              | Остатки.Цена,
              | Остатки.Склад,
              | Поступления.Дата КАК ДатаПоступления
              |ИЗ
              | РегистрНакопления.ОстаткиНоменклатуры КАК Остатки
              | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК Поступления
              | ПО Остатки.Номенклатура = Поступления.Номенклатура
              | И Остатки.Склад = Поступления.Склад
              |ГДЕ
              | Остатки.Склад = &Склад

              (Тут нужно уточнить логику, как именно связать остатки с датой поступления, возможно, по партии или по другому признаку.)

              4. В форме подбора добавьте новый столбец в табличное поле, укажите в качестве источника данных поле «ДатаПоступления».

              5. Сохраните изменения, обновите конфигурацию, протестируйте.

              ### Важные моменты

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

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

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

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

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

                Если при запуске отладки в 1С «ничего нет» (нет точек останова, не срабатывают обработчики), проверь следующие моменты:

                1. Код действительно выполняется?
                — Убедись, что форма, в которой ты поставил код, действительно открывается.
                — В процедуре ПриОткрытии() поставь Сообщить("Форма открыта"); — если сообщение не появится, значит форма не запускается.

                2. Обработчики событий привязаны правильно?
                — Для кнопки в свойствах события «Нажатие» должен быть указан именно КнопкаПроверитьНажатие.
                — Проверь, что имя процедуры совпадает с тем, что в модуле формы.

                3. Отладка в клиентском модуле
                — Код должен быть помечен директивой &НаКлиенте.
                — Если запускаешь в режиме «Конфигуратор», убедись, что запускаешь именно форму, а не просто конфигурацию.

                4. Поставь точки останова вручную
                — В модуле формы поставь точку останова (клик слева от строки кода).
                — Запусти отладку и проверь, останавливается ли выполнение.

                5. Запуск формы
                — Если запускаешь обработку из Конфигуратора, открой форму через меню «Формы» → «Открыть» или вызови её программно:

                — Если форма не открывается, код не будет выполняться.

                6. Проверь ошибки в журнале регистрации
                — Возможно, есть ошибки, которые мешают выполнению кода.

                7. Если используешь внешний обработчик
                — Убедись, что запускаешь именно внешний обработчик, а не конфигурацию.

                Если хочешь, могу помочь проверить твой конкретный код и настройки формы — пришли скриншоты или код модуля формы.

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

                  Вот полный пример с кодом для кнопок и элементов формы для игры «Угадай число» в 1С:Предприятие 8.3.

                  ## 1. Элементы формы

                  Поле ввода — имя: ПолеВвода
                  Тип: Поле ввода (Число)
                  Свойства:
                  — Значение по умолчанию: пусто
                  — Размеры и расположение — по желанию

                  Кнопка — имя: КнопкаПроверить
                  Подпись: «Проверить»
                  Событие: Нажатие → обработчик КнопкаПроверитьНажатие

                  Метка — имя: МеткаПодсказка
                  Тип: Надпись (текст)
                  Свойство Текст — для вывода подсказок

                  ## 2. Код модуля формы

                  ## 3. Как связать код с кнопкой

                  — В Конфигураторе откройте форму.
                  — Выделите кнопку КнопкаПроверить.
                  — В свойствах найдите событие «Нажатие».
                  — Нажмите «Создать» или «Обработать» и вставьте имя процедуры: КнопкаПроверитьНажатие.
                  — Код процедуры должен быть именно таким, как в примере.

                  ## 4. Итог

                  — При открытии формы запускается ПриОткрытии(), генерируется число.
                  — При нажатии кнопки вызывается КнопкаПроверитьНажатие(), проверяется введённое число и выводится подсказка.

                  Если нужно, могу помочь с кодом для кнопки «Начать заново» или другими элементами.

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

                    Вот простой пример игры «Угадай число» в 1С:Предприятие 8.3 с полным описанием, что и как сделать.

                    ## Шаг 1. Создайте внешнюю обработку

                    1. Откройте Конфигуратор 1С.
                    2. Создайте новую внешнюю обработку:
                    Файл → Новый → Внешняя обработка.
                    3. Сохраните её под именем, например, «ИграУгадайЧисло».

                    ## Шаг 2. Создайте форму обработки

                    1. В дереве объектов обработки откройте раздел «Формы».
                    2. Создайте новую форму (если её нет).
                    3. На форму добавьте следующие элементы управления:
                    — Поле ввода (назовите его ПолеВвода)
                    — Кнопка (назовите её КнопкаПроверить, подпись «Проверить»)
                    — Текстовое поле или метка для вывода подсказок (назовите МеткаПодсказка)

                    ## Шаг 3. Настройте форму

                    — Для кнопки КнопкаПроверить создайте обработчик события «Нажатие».
                    — Для формы создайте обработчик события «ПриОткрытии».

                    ## Шаг 4. Код модуля формы

                    Откройте модуль формы и вставьте следующий код:

                    ## Шаг 5. Запуск игры

                    1. Сохраните обработку.
                    2. Запустите её в режиме «1С:Предприятие» (кнопка «Запустить» в конфигураторе).
                    3. В появившейся форме введите число и нажмите «Проверить».
                    4. Следуйте подсказкам.

                    ## Что происходит в коде

                    — При открытии формы генерируется случайное число от 1 до 100.
                    — Пользователь вводит число и нажимает кнопку.
                    — Проверяется корректность ввода.
                    — Выводится подсказка: больше, меньше или угадал.
                    — Считается количество попыток.

                    ## Можно улучшить

                    — Добавить кнопку «Начать заново» для перезапуска игры.
                    — Добавить ограничение по количеству попыток.
                    — Добавить звуки или простую анимацию (через смену картинок).
                    — Сделать игру в виде внешнего отчёта или расширения.

                    Если нужно, могу помочь с расширением функционала или с другими типами игр.

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

                      Создать игру в 1С:Предприятие 8 можно, используя возможности платформы по работе с формами, обработчиками событий и графикой (ограниченно). Вот пошаговый план и рекомендации:

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

                      2. Создание новой внешней обработки
                      — В Конфигураторе создайте новую внешнюю обработку (Файл → Новый → Внешняя обработка).
                      — В модуле обработки будет основной код игры.

                      3. Создание формы
                      — Создайте форму обработки.
                      — Добавьте элементы управления: кнопки, картинки, табличные части, поля ввода и т.п.
                      — Для динамики можно использовать таймер (через обработчик события Таймер).

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

                      5. Пример простой игры «Угадай число»
                      — При запуске генерируется случайное число.
                      — Пользователь вводит число в поле ввода и нажимает кнопку «Проверить».
                      — Выводится подсказка «Больше», «Меньше» или «Угадал».
                      — Можно вести счет попыток.

                      6. Использование возможностей 1С
                      — Сообщить() — для вывода сообщений.
                      — Таймер формы — для анимаций или ограничений по времени.
                      — Табличные части — для отображения списков, рекордов и т.п.

                      7. Ограничения
                      — 1С не предназначена для сложной графики и быстрого рендеринга.
                      — Нет поддержки OpenGL/DirectX.
                      — Можно использовать ActiveX или внешние компоненты для расширения, но это усложняет.

                      8. Пример кода для «Угадай число» (модуль формы)

                      9. Запуск и тестирование
                      — Запустите обработку в режиме 1С:Предприятие.
                      — Проверьте логику, интерфейс.

                      10. Рекомендации
                      — Для обучения и экспериментов — отличный вариант.
                      — Для более сложных игр лучше использовать специализированные движки.

                      Рекомендую посмотреть уроки по созданию простых приложений и обработок в 1С, например:
                      https://infostart.ru/public/115188/ — пошаговые уроки по 1С, где можно адаптировать под игру.

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

                        Для создания конфигурации 1С для продуктового магазина с продажей табака и алкоголя нужно спроектировать структуру с учётом основных бизнес-процессов и специфики алкогольной продукции (ЕГАИС, акцизные марки).

                        ### Основные подсистемы конфигурации

                        1. Справочники
                        — Номенклатура (товары)
                        — Реквизиты: наименование, артикул, единица измерения, группа, вид номенклатуры (алкоголь, табак, прочее)
                        — Дополнительные реквизиты для алкоголя: код акцизной марки, сведения для ЕГАИС
                        — Группы номенклатуры (категории товаров)
                        — Контрагенты (поставщики, покупатели)
                        — Склады (торговый зал, склад)
                        — Единицы измерения
                        — Сотрудники (кассиры, кладовщики)
                        — Типы цен (розничная, оптовая, специальные)
                        — Причины списания (для актов списания)
                        — Лицензии (для контроля продажи алкоголя и табака)

                        2. Документы
                        — Поступление товаров (приход товара от поставщика, с контролем акцизных марок)
                        — Реализация товаров (продажа через кассу)
                        — Возврат товаров от покупателя
                        — Перемещение товаров (между складами и торговыми залами)
                        — Списание товаров (брак, просрочка)
                        — Заказ поставщику (опционально)
                        — Инвентаризация

                        3. Регистры
                        — Остатки товаров по складам
                        — Цены номенклатуры
                        — Движения алкогольной продукции (для ЕГАИС)
                        — Продажи по кассам
                        — Регистр сведений для хранения данных по акцизным маркам и ЕГАИС

                        4. Подсистемы
                        — Управление товарами и складом
                        — Продажи и касса
                        — Закупки и поставщики
                        — Учет алкогольной продукции (ЕГАИС)
                        — Отчеты и аналитика
                        — Администрирование и безопасность (права пользователей, лицензии)

                        5. Обработки и отчеты
                        — Выгрузка данных в ЕГАИС
                        — Отчеты по остаткам и продажам алкоголя и табака
                        — Контроль возрастных ограничений
                        — Отчеты по движению товаров и инвентаризациям

                        ### Рекомендации по реализации

                        — Используй типовую конфигурацию 1С:Розница или 1С:Управление торговлей как основу — там уже есть много готовых механизмов по учету товаров, продажам, остаткам.
                        — Для алкоголя и табака добавь отдельные реквизиты и регистры для работы с акцизными марками и ЕГАИС.
                        — Реализуй подсистему обмена с ЕГАИС (через УТМ) — это обязательное требование для продажи алкоголя.
                        — Настрой права доступа, чтобы ограничить работу с алкогольной продукцией только уполномоченным сотрудникам.
                        — Для табака можно вести отдельный журнал продаж, если это требуется законодательством.

                        ### Пример структуры справочников (упрощённо)

                        | Подсистема | Справочник / Документ | Основные реквизиты / особенности |
                        |————————|——————————-|——————————————————|
                        | Товары и склад | Номенклатура | Наименование, группа, артикул, вид (алкоголь/табак) |
                        | | Группы номенклатуры | Иерархия категорий |
                        | | Склады | Торговый зал, склад |
                        | | Единицы измерения | |
                        | Закупки | Контрагенты | Поставщики |
                        | | Поступление товаров | Акцизные марки, ЕГАИС |
                        | Продажи | Реализация товаров | Кассовый чек, возраст покупателя |
                        | | Возврат товаров | |
                        | | Перемещение товаров | |
                        | Учет алкогольной продукции | Регистр движения алкоголя | Для ЕГАИС |
                        | | Лицензии | Данные лицензий на продажу алкоголя и табака |

                        Если нужна помощь с конкретным примером кода или шаблоном конфигурации — могу помочь.

                        Рекомендую посмотреть примеры и методички по 1С:Розница и ЕГАИС, например:
                        https://infostart.ru/public/98526/
                        https://infostart.ru/public/1472601/

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

                          Привет! Вот основные бизнес-процессы в продуктовом магазине с продажей табака и алкоголя, с учётом специфики этих категорий:

                          1. Закупка товаров
                          — Заказ и получение товаров от поставщиков.
                          — Приёмка с проверкой соответствия накладных, акцизных марок (для алкоголя и табака).
                          — Ввод поступлений в учет (в 1С — документ Поступление товаров).

                          2. Учет алкогольной и табачной продукции
                          — Сопоставление номенклатуры с данными ЕГАИС (для алкоголя).
                          — Контроль акцизных марок и штрихкодов.
                          — Ведение регистров ЕГАИС (остатки, движения).
                          — Постановка на баланс в ЕГАИС.
                          — Списание по актам списания (например, просрочка, брак).

                          3. Хранение и складской учет
                          — Размещение товаров по складам и торговым залам.
                          — Контроль остатков, в том числе по алкогольной продукции с учетом требований ЕГАИС.
                          — Перемещение между складами и торговыми залами.

                          4. Розничная продажа
                          — Оформление продаж через кассовое оборудование (РМК).
                          — Пробитие чеков с учетом требований ФЗ-54 и ЕГАИС.
                          — Проверка возраста покупателя (для алкоголя и табака).
                          — Автоматический контроль остатков и списание товаров.
                          — Формирование отчетов по продажам.

                          5. Работа с возвратами и рекламациями
                          — Возврат товаров от покупателей.
                          — Возврат поставщикам.
                          — Корректировка остатков и документов.

                          6. Ведение отчетности
                          — Формирование отчетов по продажам, остаткам, движениям.
                          — Отчеты для ЕГАИС (передача данных о продажах алкоголя).
                          — Отчеты для налоговой и контролирующих органов.

                          7. Управление персоналом
                          — Назначение прав доступа (кассиры, кладовщики).
                          — Контроль работы кассиров (смены, отчеты).
                          — Обучение и контроль соблюдения законодательства (продажа алкоголя и табака).

                          8. Контроль соблюдения законодательства
                          — Проверка лицензий на продажу алкоголя и табака.
                          — Контроль возрастных ограничений.
                          — Ведение журнала продаж табачной продукции (если требуется).
                          — Ведение журнала кассовых операций.

                          9. Инвентаризация
                          — Проведение инвентаризаций по всем товарам, с особым вниманием к алкоголю и табаку.
                          — Сверка остатков с данными ЕГАИС.
                          — Оформление документов на излишки и недостачи.

                          10. Обслуживание торгового оборудования
                          — Подключение и настройка фискальных регистраторов.
                          — Подключение к ЕГАИС через УТМ.
                          — Обслуживание сканеров, принтеров чеков.

                          Если нужна конкретика по настройке этих процессов в 1С — могу помочь с примерами и ссылками. Рекомендую посмотреть подробные инструкции по ЕГАИС и работе с алкогольной продукцией в 1С Розница, например, здесь: https://infostart.ru/1c/articles/98526/ и https://master1c8.ru/dokumentatsiya-po-1s/roznitsa-8/929/

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

                            Пошагово, как сделать запрос через Конструктор запросов в 1С:Розница 2.2 для подсчёта количества чеков по магазинам за месяц:

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

                            2. Добавить таблицу-источник
                            — В окне конструктора нажмите «Добавить таблицу».
                            — Найдите и выберите таблицу «Документ.ЧекККМ» (или аналогичный документ чеков).
                            — Нажмите «Добавить» и «Закрыть».

                            3. Выбрать поля для выборки
                            — В списке полей документа найдите поле, которое отвечает за магазин (обычно «Магазин»). Отметьте его.
                            — Отметьте поле «Ссылка» (оно понадобится для подсчёта количества чеков).

                            4. Добавить условие по дате
                            — Перейдите на вкладку «Условия».
                            — Нажмите «Добавить».
                            — В поле выберите «Дата» (поле документа ЧекККМ).
                            — В условии выберите «Между».
                            — Введите параметры:
                            — &ДатаНачала
                            — &ДатаКонца
                            — Эти параметры будут задаваться при выполнении запроса.

                            5. Настроить группировку
                            — Перейдите на вкладку «Группировка».
                            — Добавьте группировку по полю «Магазин».

                            6. Добавить вычисляемое поле для подсчёта
                            — Перейдите на вкладку «Поля».
                            — Добавьте новое поле.
                            — В выражении напишите:
                            КОЛИЧЕСТВО(Ссылка)
                            — Дайте этому полю имя, например, «КоличествоЧеков».

                            7. Если хотите вывести название магазина
                            — Добавьте таблицу «Справочник.Магазины» (или как у вас называется справочник магазинов).
                            — Свяжите поле «Магазин» из документа с полем «Ссылка» справочника.
                            — В выборке вместо поля «Магазин» из документа выберите поле «Наименование» из справочника.
                            — В группировке тоже укажите группировку по «Наименование» из справочника.

                            8. Сохранить и проверить запрос
                            — Нажмите «ОК» — конструктор сформирует текст запроса.
                            — Запустите запрос с параметрами даты, чтобы проверить результат.

                            9. Пример параметров для месяца
                            — &ДатаНачала = ‘2026-08-01’
                            — &ДатаКонца = ‘2026-08-31 23:59:59’

                            Так вы получите количество чеков по каждому магазину за выбранный месяц.

                            Если что-то не получается, можно открыть сформированный текст запроса и подкорректировать вручную.

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

                              Если у вас 1С:Розница 2.2 и несколько магазинов, то для организации обмена данными между магазинами и центральным узлом (например, для синхронизации остатков, цен, документов продаж) используется механизм РИБ (Распределённая Информационная База).

                              Что важно знать и сделать:

                              1. Настройка обмена по магазинам
                              — В конфигурации 2.2 обмен между магазинами и центральным узлом настраивается через РИБ.
                              — Для каждого магазина создаётся отдельная информационная база (обычно на отдельном сервере или компьютере).
                              — Центральный узел — это база, где собираются все данные и откуда раздаются обновления.
                              — В настройках обмена указываются параметры подключения, расписание обмена, фильтры данных.

                              2. Типы обмена
                              — Обмен по кассе (если магазины используют кассовые места с РМК).
                              — Обмен по магазину (полный обмен между магазинами и центральным узлом).
                              — Можно настроить как однонаправленный, так и двунаправленный обмен.

                              3. Что синхронизируется
                              — Справочники (Номенклатура, Контрагенты, Цены).
                              — Документы (Продажи, Возвраты, Приходы).
                              — Остатки товаров.
                              — Финансовые данные (если нужно).

                              4. Рекомендации по настройке
                              — Используйте стандартные механизмы обмена, встроенные в конфигурацию.
                              — Для настройки обмена используйте обработку «Настройка обмена данными» в конфигурации.
                              — Убедитесь, что у всех баз совпадают версии конфигурации.
                              — Настройте расписание обмена, чтобы не было конфликтов и перегрузок.
                              — При большом количестве магазинов и данных подумайте о выделенном сервере для центрального узла.

                              5. Полезные ссылки и документация
                              — Рекомендую посмотреть методичку по обмену в 1С:Розница 2.2:
                              https://its.1c.ru/db/metod81#content:4352:hdoc
                              — Статья с примерами и рекомендациями по обмену между магазинами:
                              https://master1c8.ru/integratsiya-i-obmen-dannmi/627/

                              Если нужна помощь с конкретной настройкой обмена, настройкой расписания или решением ошибок обмена — уточните, что именно требуется.

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

                                Ошибка «неоднозначное поле Номенклатура.Ссылка» возникает из-за того, что в запросе несколько таблиц содержат поле с именем «Ссылка» и при обращении к «Номенклатура.Ссылка» система не может однозначно определить, к какой таблице относится это поле.

                                В вашем запросе:

                                |ВЫБРАТЬ
                                | СебестоимостьТоваров.Стоимость КАК Стоимость,
                                | Номенклатура.Ссылка КАК Номенклатура,
                                | ВидыЦен.Ссылка КАК ВидЦены,
                                | ЦеныНоменклатуры.Цена КАК Цена,
                                | Себестоимость.СтоимостьОстаток / ВЫБОР
                                | КОГДА Себестоимость.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ Себестоимость.КоличествоОстаток
                                | КОНЕЦ КАК Себестоимость,
                                | ((ЦеныНоменклатуры.Цена — (Себестоимость.СтоимостьОстаток / ВЫБОР
                                | КОГДА Себестоимость.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ Себестоимость.КоличествоОстаток
                                | КОНЕЦ)) / ВЫБОР
                                | КОГДА Себестоимость.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ Себестоимость.КоличествоОстаток
                                | КОНЕЦ) * 100 КАК ПроцентНадбавки
                                |ИЗ
                                | РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров,
                                | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
                                | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                                | ПО ЦеныНоменклатуры.Номенклатура = Номенклатура.Ссылка
                                | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
                                | ПО ЦеныНоменклатуры.ВидЦены = ВидыЦен.Ссылка

                                Проблема в том, что в части FROM у вас:

                                — РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров
                                — РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
                                — Левое соединение с Номенклатурой и ВидамиЦен

                                Но при этом нет явного соединения между СебестоимостьТоваров и остальными таблицами, и в выборке вы используете поле «Номенклатура.Ссылка», которое встречается и в других таблицах.

                                Как исправить:

                                1. Явно укажите соединения между таблицами, чтобы не было неоднозначности.

                                2. Везде, где используете поле «Ссылка», указывайте таблицу, к которой оно относится.

                                3. В запросе лучше использовать явные JOIN, а не перечислять таблицы через запятую.

                                Пример исправленного запроса с явными соединениями и правильными алиасами:

                                |ВЫБРАТЬ
                                | СебестоимостьТоваров.Стоимость КАК Стоимость,
                                | Номенклатура.Ссылка КАК Номенклатура,
                                | ВидыЦен.Ссылка КАК ВидЦены,
                                | ЦеныНоменклатуры.Цена КАК Цена,
                                | СебестоимостьТоваров.СтоимостьОстаток / ВЫБОР
                                | КОГДА СебестоимостьТоваров.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ СебестоимостьТоваров.КоличествоОстаток
                                | КОНЕЦ КАК Себестоимость,
                                | ((ЦеныНоменклатуры.Цена — (СебестоимостьТоваров.СтоимостьОстаток / ВЫБОР
                                | КОГДА СебестоимостьТоваров.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ СебестоимостьТоваров.КоличествоОстаток
                                | КОНЕЦ)) / ВЫБОР
                                | КОГДА СебестоимостьТоваров.КоличествоОстаток = 0 ТОГДА 1
                                | ИНАЧЕ СебестоимостьТоваров.КоличествоОстаток
                                | КОНЕЦ) * 100 КАК ПроцентНадбавки
                                |ИЗ
                                | РегистрНакопления.СебестоимостьТоваров.Остатки(&Дата, ) КАК СебестоимостьТоваров
                                | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
                                | ПО СебестоимостьТоваров.Номенклатура = ЦеныНоменклатуры.Номенклатура
                                | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                                | ПО ЦеныНоменклатуры.Номенклатура = Номенклатура.Ссылка
                                | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
                                | ПО ЦеныНоменклатуры.ВидЦены = ВидыЦен.Ссылка
                                |ГДЕ
                                | ВидыЦен.Ссылка = &ВидЦены
                                | И СебестоимостьТоваров.КоличествоОстаток > 0

                                Обратите внимание:

                                — Используйте Остатки регистра накопления, чтобы получить актуальные остатки и стоимость.

                                — Явно соединяйте таблицы по ключам.

                                — Везде указывайте алиасы и поля с алиасами.

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

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

                                  Ошибка СУБД при обновлении 1С может быть связана с нехваткой места на диске, особенно если речь идёт о сервере баз данных (например, MS SQL Server) и журнале транзакций, который переполняется.

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

                                  Но важно понимать, что просто очистить диск — это не всегда достаточно. Нужно:

                                  1. Проверить свободное место на диске, где расположены файлы базы 1С и SQL Server (особенно лог транзакций).
                                  2. Если журнал транзакций переполнен, выполнить его усечение (shrink) и сменить режим восстановления базы на SIMPLE, если это допустимо для вашей задачи, чтобы уменьшить размер лога.
                                  3. Очистить временные файлы, кеш 1С, старые логи и неиспользуемые обновления Windows, чтобы освободить место.
                                  4. Перезапустить службы 1С и SQL Server после очистки.

                                  Пример SQL-команд для уменьшения лога (где acc_main — имя вашей базы):

                                  |USE acc_main
                                  |ALTER DATABASE acc_main SET RECOVERY SIMPLE
                                  |DBCC SHRINKFILE (acc_main_log, 50)
                                  |ALTER DATABASE acc_main SET RECOVERY FULL

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

                                  Рекомендую также проверить логи 1С и SQL Server для точного определения причины ошибки.

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

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