если я ничего не путаю, то это зарегистрированная ошибка последнего или предпоследнего релиза
Цитата
Код помилки: 62054 Дата публікації: 6 березня 2025 р. Опис: В документі "Відпустка" некоректно розраховується кількість робочих днів відпустки за наявності документа "Індивідуальний графік".
Profi_1C77 @ Вчера, 22:48
, можете ключ для "склейки" бух. данных с управленческими строить еще в запросе в com-базе и сразу выгружать готовую колонку -- будет еще быстрее, плюс аналогичный ключ в запросе по управленческим данным уже в СКД и в этом же запросе левое соединение с бух.данными -- будет все строиться за один проход в одном запросе, не?
andytg @ Сегодня, 9:41
, и групппировки по номенклатуре с суммами в com-запрос добавьте
Mr_Daniel_Khorn @ Сегодня, 18:06
, что в бухии, что в УНФ (малый бизнес) валюта определяется в договоре, соответственно, посмотрите, заполнены ли валюты в договорах и есть ли договора по умолчанию у всех клиентов? может, договора с незаполненной валютой или контрагенты с незаполненным договором по умолчанию? типа такого...
я бы сделал так: создал бы отдельный подчиненный справочник ссылок на существующие цеха/участки и заполнял бы для каждого пользователя, которому необходим персональный отбор, не такой как у всех ну и включал бы отбор по выборке из этого подчиненного справочника для каждого пользователя, который "не такой как все"
потому что по коду или наименованию искать -- не очень хорошее решение, т.к. завтра участок переименуют или код элемента изменят (мало ли?...) и ваш программный код в отборе перестанет работать (и будут опять пустые ссылки в отборе)
у вас код символьный или цифровой? почему 000000001, а не "000000001"? там у вас в результате поиска пустая ссылка случайно не получается? каковая и добавляется в список...
// получаем ТЗ из базы BAS ТекстЗапроса = " |ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1 КАК Номенклатура, | ХозрасчетныйОстатки.Субконто3 КАК Склад, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Остаток |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаИтогов, Счет.Код = &КодСчета, , ) КАК ХозрасчетныйОстатки |";
можно филиграннее попробовать (т.к. перебор в цикле и заполнение таблицы остатков может быть долгим, если у вас их много)
// получаем ТЗ из базы BAS ТекстЗапроса = " |ВЫБРАТЬ | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1.НаименованиеПолное КАК СТРОКА(100)) КАК Номенклатура, | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто3.Наименование КАК СТРОКА(50)) КАК Склад, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Остаток |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаИтогов, Счет.Код = &КодСчета, , ) КАК ХозрасчетныйОстатки |"; // ну и так далее, т.е. определяем все нужные поля сразу в запросе как вам надо
upd: можете через com+ https://infostart.ru/1c/tools/610960/ у меня так зарегистрирована 8.5 (для тестов) и 8.3 с ней прекрасно работает, т.к. ком-коннекторы разных версий v83.ComConnector и v85.ComConnector
в этом случае надо зарегистрировать comcntrl.dll в системе (причем, если их несколько, то надо именно от нужной версии платформы)
Цитата(Profi_1C77 @ 03.06.25, 13:18)
Я код потом код перенесу ""правильно" " мне важно что что б Подключение было
можете не переносить, а обернуть в структуру и засунуть во временное хранилище, потом доставать и использовать, адрес хранилища запоминать -- так работает и ком-объект существует между вызовами функций до момента закрытия, когда необходимо
у вас время жизни подключения равно времени жизни вашей функции, которая возвращает булево значение, а само подключение закрывается после отработки функции
И у меня не получилось обновить мою предыдущую версию УТП 1.2.77.4 на версию 1.2.77.5 используя платформу 1С:Предприятие 8.3 (8.3.20.1674) -система просто не видит обновление 1.2.77.5
там дело не в платформе (минимальная версия там вообще 8.2, в рекомендуемая 8.3.14, если не ошибаюсь -- это в тексте программных модулей есть) а обновлять надо так -- сделать cf из 1.2.77.5 и накатить его через "сравнение и объединение" на ваш старый 1.2.77.4, не забыв сделать резервную копию обновление через "поддержку" там не работает, т.к. спiлка утверждает, что это совсем новый продукт, первый релиз, и к 1С УТП никакого отношения не имеет (потому и не обновляется) ну и разумеется, никакая 8.3.20, 8.3.19 и т.д. и выше там не нужна и близко
у меня сделано через ПОДОБНО, но основной выбор идет исключительно из справочника номенклатуры, без обработки остатков (просто показываем, что есть в справочнике по заданному шаблону, минимальная длина шаблона ограничена тремя символами, чтоб они случайно в результирующую таблицу не вывалили весь справочник ) а потом при перемещении курсора по отбору в активной строке обрабатывается событие ПриАктивизацииСтроки -- и тогда манагеру (через обработчик ожидания) показыватюся фактические остатки по данной позиции в разрезе складов\партий и т.д., откуда он уже может либо выбрать товар клиенту из фактического наличия или оформить заказ поставщику из того, что было когда-то, но сейчас нет в наличии
на прямых запросах и t-sql в клюшках вообще летало, на восьмерке скорость где-то такая же, пару секунд (зависит от размера выборки, конечно, но манагеры обычно не ищут абы что, а по конкретным шаблонам, как на скрине, получается практически моментально
изначально концепция родилась из того, что в оригинальном варианте на клюшках подбор шел не только из номенклатурного справочника, а еще одновременно и из справочника прайсов внешних поставщиков, которых еще не было в справочнике номенклатуры, тогда в случае выбора элемента, отсутствующего в номенклатурном справочнике (но имеющемся в справочнике прайсов сторонних поставщиков), при выборе элемент сперва добавлялся в справочник товаров, а потом уже выбирался, а в восьмерке я просто разрешил им создавать новые элементы самостоятельно, опять же по шаблону и с проверками на возможные дубли
Вот как можно выполнять поиск по любой части строки (не только по первым символам). Придумано не мной, где-то нашел
в свое время (20 лет назад) делал такое на 1С++ в комплексной для Украины 7.7, точнее, переделывал, т.к. мой предшественник сделал такое на рэйнбоу, но оно тормозило от больших объемов данных, в номенклатурном справочнике где-то более 150 тыс. наименований (это всего, не все они живые, но что есть то есть) отдельная форма подбора, в ней запросами с использованием шаблонов "%" и "_" (и автозамен типа "*" -> "%") формируется строка поиска и далее запускается прямой запрос, который выгружает все в таблицу значений (со всевозможными там пересчетами и т.д.), откуда манагер уже выбирает нужные позиции, при переносе в документ автоматически заполняются все другие параметры (цены, количества, партии и т.д.) потом было перенесено в УНФ и переписано на 8.3, не меняя самого принципа работы (и уже без 1с++, естественно ) работает практически с абсолютно любыми количествами элементов в выборке, скорость поиска -- пару секунд
мне нужно стобы когда пользователь вводит начальные буквы наименования ноенклатуры список выбора заполнялся по условия. Вот меня интересует в какой процедуре сделать заполнение этого списка?
это так работает быстрый поиск (полнотекстовый поиск данных), когда индексы ППД поломаны -- там ничего не ищется или ищется, но не все
Хотя, есть и обратная сторона медали: возможные разборки из серии "кто удалил мой любимый файл?". Но я с таким не сталкивался
я сталкивался именно в такой вот интерпретации и последующие претензии в стиле, "а как это могло удалиться, это же база?" (объяснения, что это НЕ база, не помогают -- "а вот мы там (в файле) сохранили важную информацию, где она?") сюда же проблемы с отслеживанием, кто чего изменил и поиском того, кто это удалил
Цитата(xlmel @ 29.05.25, 15:10)
надеюсь, что Вы в курсе, что кода в программном коде Вы обращаетесь к реквизиту справочника Номенклатура через точку, то считывается весь объект, вместе с основным изображением
как вариант -- хранить всякий такой мусор в подчиненном справочнике
хотя, конечно, толстый клиент -- вчерашний день (по правде говоря, лично я, так уж вышло, 8.0 - 8.2 благополучно пропустил, у меня было так: 1999 - 2017 (7.7 и все такое в стиле rainbow/1с++, даже еще в 99м немного застал 7.5), 2017 -- поныне (8.3, уф))
то, что спiлка снова выкатила в продажу 1С УТП под видом БАС УТП, говорит о многом
Если Не спУслуг.Количество() = 0 Тогда ЭтаФорма.Элементы.РасходыНоменклатура.РежимВыбораИзСписка = Истина; ЭтаФорма.Элементы.РасходыНоменклатура.СписокВыбора.ЗагрузитьЗначения(спУслуг.ВыгрузитьЗначения()); Иначе ЭтаФорма.Элементы.РасходыНоменклатура.РежимВыбораИзСписка = Ложь; КонецЕсли;
И не надо ли вам как-то обслуживать каталог с картинками: настроить доступ с разных устройств (если вы работаете через тонкий клиент в браузере с разных регионов, как папку нормально пошарить между всеми?), настроить какие-никакие права (чтобы кто-то не зашел и не поудалял там все), бекапить и т.п.?
вот это самая главная засада при хранении чего-то (картинок/доков/писем) вне базы
Ну или переделайте систему, чтобы файлы хранились на диске. а не в базе
честно говоря, такое себе решение -- хранить что-то вне базы, это такой "клюшечный" вариант , т.к. 7.7 не умела в blob-поля (binary loading object), но и там был вариант, например, конвертировать двоичные файлы в текст mime/base64 и хранить в memo-полях, которые поддерживались в dbf
но так оно хоть не потеряется при возможном переносе базы, особенно, если делать его будет кто-то, кто не знаком с тонкостями устройства местной БД
тут соглашусь для случая, когда com на разных серверах, удаленных друг от друга в нашем случае тоже 4 базы (3 бух корп и 1 типа управленческая унф), обмен идет из унф в бух, на com в пределах локалки 100 мбит -- соединение за пару секунд в роли "серверов" -- i7 3770k и i5 2320, винда, postgresql а вот если базы находятся в разных местах и соединение через интернет -- тогда соглашусь, да, com сильно тупит, веб-сервис наверное будет быстрее (не пробовал, лень переписывать )
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!