Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику TohaMonster ::: Спасибо сказали: 34 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
18.12.24, 16:25 Сумма умножается на количество строк
sava1 @ Сегодня, 13:44 * ,
Не совсем понял вопрос. В "Ресурсах" Сумма(Собрано), Сумма(Отгружено). В структуре отчета указываем группировки и ы выбранных полях ресурсы
Что Вас смущает?
Shiwchik,
18.12.24, 10:35 Сумма умножается на количество строк
sava1 @ 16.12.24, 22:14 * ,
Это поменяет то, что не нужно будет разбираться с Максимумами и ВычислитьВыражениеСГруппировкойМассив и думать, как будет выглядеть отчет при расшифровке . Используем сумму, да и всё. Впрочем, я не настаиваю, дело вкуса)

ВЫБРАТЬ
    ВложенныйЗапрос1.Регистратор,
    ВложенныйЗапрос1.Номенклатура,
    ВложенныйЗапрос1.Характеристика,
    ВложенныйЗапрос1.Собрано,
    0 КАК Отгружено
ИЗ
    (ВЫБРАТЬ
        "Регистратор1" КАК Регистратор,
        "Номенклатура1" КАК Номенклатура,
        "Характеристика1" КАК Характеристика,
        100 КАК Собрано
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "Регистратор2",
        "Номенклатура1",
        "Характеристика2",
        200) КАК ВложенныйЗапрос1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВложенныйЗапрос2.Регистратор,
    ВложенныйЗапрос2.Номенклатура,
    "ПустаяХарактеристика",
    0,
    ВложенныйЗапрос2.Отгружено
ИЗ
    (ВЫБРАТЬ
        "Номенклатура1" КАК Номенклатура,
        "Регистратор3" КАК Регистратор,
        25 КАК Отгружено
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "Номенклатура2",
        "Регистратор4",
        50) КАК ВложенныйЗапрос2
Shiwchik,
16.12.24, 18:11 Як вибрати в запиті один запис із декілька з різницею в 1-2 секунди
kolkovyj @ Сегодня, 18:53 * ,

Думаю, что тут проблема в типах. Теоретически ВремяВход и ВремяВыход может быть НЕОПРЕДЕЛЕНО, а РазностьДат() актуально только для Даты. Замените НЕОПРЕДЕЛЕНО, например, на ДАТАВРЕМЯ(1,1,1,0,0,0)

    ВЫБОР
        КОГДА РеєстрСистемиКонтролюДоступу.Вид = ЗНАЧЕНИЕ(Перечисление.ВходящееИсходящееСобытие.Входящее)
            ТОГДА РеєстрСистемиКонтролюДоступу.Период
        ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК ВремяВход,
kolkovyj,
28.10.24, 15:16 Ошибка при закрытии месяца (Не встановлено відбір по реєстратору)
У меня схожая проблема при закрытии месяца в ЕРП. Проявляется она в том, что Система видит, что нужно сделать корректировку НДС по условной продаже, но документ расчета НДС не является регистратором для этого Регистра
В ЕРП причина оказалась такая. В документе поступления ТМЦ налог. назначение Обл. НДС, но движения в регистре, если я не ошибаюсь, ПартииТоваровОрганизаций были Необл НДС. Причем, перепроведение не помогало: нужно было распровести документ и провести его заново. Потом на эту хромую ТМЦ накручивались доп. расходы и Система при расчете себестоимости пыталась сделать какие-то правильные движения на все эти манипуляции.
УТ под рукой нет, но советую проверять налоговое назначение при приходе. Думаю, ошибка примерна та же
Vofka,
01.05.24, 15:29 Помилка SDBL при створення нової УТП з .cf
Из .cf, как мне кажется, не очень получится создать чистую Базу. Но на 100% утверждать не берусь: ни разу не пробовал
Попробуйте загрузить из ЧИСТОЙ .dt
Talkman,
20.04.24, 9:09 Розрахунок собівартості
Что-то у Вас в УчетЗатратРегл не то. Скорее всего, с количеством

Сформируйте отчет "Ведомость по учету МПЗ" по указанной Номенклатуре за месяц. Посмотрите, что там
chernomoretc_cn,
09.02.22, 12:23 Під час повернення від покупця не списує собівартість товару
Какой именно процесс Вам хочется автоматизировать?

Если у Вас в Системе есть Документ реализации товаров, используете механизм ввода на основании, либо Заполнить - добавить из Реализации
Если у Вас в Системе этого документа нет, то укажите себестоимость вручную. По-другому никак
tomol22,
08.02.22, 8:14 Отчет на СКД с квартальными итогами
У Вас есть ПериодМес - выводится в столбцах таблицы. Добавляете вычисляемое поле ПериодКвартал = НачалоПериода(ПериодМес, "Квартал"), указываете ему в оформлении форматную строку типа ДФ='к "квартал" yyyy'
Затем в столбцах таблицы группировка верхнего уровня - ПериодКвартал, в неё вложенная ПериодМес.
Как-то так
mut_mut,
31.01.22, 10:47 Отобразить в отчете на СКД разными строками движения одного документа
Запрос, думаю, выбирает движения раздельно (если периодичность Авто или Запись), а вот СКД уже их компонует автоматом, если указана группировка Регистратор (или какая-то другая). Детальные записи должны дать столько строк, сколько у Вас движений.
Добавляйте еще группировку по НомерСтроки. Либо же попробуйте извернуться вычисляемым полем вроде ЭтоУслуги = ВЫБОР КОГДА СуммаУслуг=0 ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ и группируйте по нему вместе с регистратором
Anderson,
22.07.21, 11:36 Настройки единиц номенклатуры для отчета "Товары на складах"
marchela @ Сегодня, 10:54 * ,

Дык, базовая нужно кг, а единица хранения остатков - м2. Не советую у Базовой делать коэф. не равный 1
marchela,
16.07.21, 11:35 Интересный и не понятный код в одном из модулей 1С
bizisoft @ Сегодня, 11:26 * ,
Жесть. Не верю, что существуют программисты, которым придет на ум такое написать smile.gif Думаю, вот ето утверждение справедливо
Цитата
Складывается, что этот модуль был обработан каким-то алгоритмом для запутывания кода
bizisoft,
19.03.21, 10:47 Загрузка в Регистр "Значения свойств объектов"
Как-то так, например:

    //    Загрузка
    Макет1 = ПолучитьМакет("ТаблицаГдеУНасДанные");
    ТабДанные = Новый ТабличныйДокумент;
    ТабДанные.Вывести(Макет1);
    
    Построитель1 = Новый ПостроительОтчета;
    Построитель1.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДанные.Область());
    Построитель1.Выполнить();
    
    тбРез = Построитель1.Результат.Выгрузить();


"ТаблицаГдеУНасДанные" - табличный документ, где в первой строке Идентификаторы - это будут наименования колонок. Например, "Наименование", "Штрихкод", "АртикулНоменклатуры" (без кавычек). Пробелы лучше не использовать
тбРез - таблица значений, с которой можно работать
Мичман Харитонов,
27.01.21, 12:50 Не могу удалить документ Начисление зарплаты
Попробуйте так.
Заходим в РегистрыСведений.ЗаполнениеПлановыхНачислений. Ставим отбор по "ОбъектЗаполнения"= Нарахування зарплаты №8, вычищаем записи и пробуем удалить по-новой
KriAn,
17.12.20, 12:54 Конфигурация собственной разработки . Разработка отчета
denis84 @ Вчера, 12:56 * ,

Не уверен, что правильно понял задачу, но предполагаю, что таким запросом её не решить. У Вас должна быть группировка по ПодразделениеРодитель без группировки по Подразделению, иначе Вы неправильно получите диапазон "вредняка", в который у Вас попадет данный сотрудник.

То есть, у Вас в запросе будут переменные типа
ВЫБОР
КОГДА ВнутреннееОборот>0 И ВнутреннееОборот<=100 ТОГДА 1 ИНАЧЕ 0
КОНЕЦ КАК Диапазон1,

ВЫБОР
КОГДА ВнутреннееОборот>100 И ВнутреннееОборот<=200 ТОГДА 1 ИНАЧЕ 0
КОНЕЦ КАК Диапазон2,

И если Вы не сгруппируете предварительно результат по ПодразделениеРодитель, Вы не получите правильные значения ВнутреннееОборот


Но, конечно же, есть и хорошая новость. Если Вам нужен именно отчет, то СКД в данном случае всё сделает идеально. Указанные выше функции прописываете в Вычисляемые поля, а потом хорошенько колдуете на закладке "Ресурсы" (там нельзя делать ресурс СУММА(Диапазон1), а нужно повозиться с етой формулой)
denis84,
16.12.20, 13:16 Не заходит в процедуру созданую в модуле формы
Nikitaje @ Сегодня, 10:29 * ,

Не вполне понятно, у Вас не срабатывает ПередЗаписью() в модуле формы при вызове
Цитата
Записать(РежимЗаписиДокумента.Запись);
? Дык, оно и не должно. В модуле формы это событие возникнет только при интерактивной записи документа из его формы
А вот ПередЗаписью() в модуле объекта, да, выполняется и при программной и при интерактивной записи объекта
Nikitaje,
06.10.20, 7:13 Курс Конвертация данных 2.1
Вытащил. Всё чотко. Видео-уроки, все дела. Размер 3.2ГБ
Могу постепенно куда-то перезалить
andreykyiv@bigmir.net, fly, Vofka,
25.08.20, 11:56 Выборка документов по доп. характеристике номенклатуры
Если это не запрос для получения динамического списка, то мои советы такие:
1. Попробуйте вместо вложенных запросов использовать временные таблицы
2. С временными таблицами используйте индексы по полям, которые потом будете соединять. Если есть составные поля (Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Заказ итп), желательно во временной таблице их типизировать
3. Консолью запроса смотрите, сколько записей в каждой из временных таблиц и сколько времени они формируются. И пытаетесь понять, что не так. Возможно, для конкретно Вашей Базы ничего здесь оптимизацией запроса и не сделаешь: быть может, у Вас слишком много Номенклатуры и Заказов? Нужно анализировать

Временные таблицы:
ВТНоменклатураДополнительныеРеквизиты
ВТВложенныйЗапрос
ВТВложенныйЗапрос1
ВТВЗВозвраты
и финальный запрос, где все они соединяются с ПриходныйКассовыйОрдерРасшифровкаПлатежа
stajer,
17.08.20, 7:39 COMобъекты Запрос и получение значений результата
Что-то как-то Вы неправильно с вложенными таблицами в Запросе работаете. Рекомендую почитать, например, вот ето

Выражение
РезультатВыбора.Товары.Columns.КодНоменклатуры

вернет Вам колонку результата запроса, которая в Вашем случае будет COM-объектом

Вам нужно что-то вроде
...
  Пока РезультатВыбора.Следующий() Цикл
        
  // здесь должна быть выборка по строкам таб. части Товары - обходим строки данной таб. части
    ВыборкаТовары = РезультатВыбора.Товары.Выбрать();

    Пока ВыборкаТовары.Следующий() Цикл

      КодНоменклатуры = ВыборкаТовары.КодНоменклатуры;  // вот ето значение примитивного типа, по нему можете осуществлять поиск в текущей Базе

      НоменклатураCOM = ВыборкаТовары.Номенклатура;  // а ето Номенклатура из COM-базы. То есть, COM-объект

      НоменклатураНаименование = НоменклатураCOM.Наименование;  //  ето также значение примитивного типа, по нему можно осуществлять поиск

      НоменклатураUID = НоменклатураCOM.УникальныйИдентификатор();  //  а вот по етой позиции лучше всего искать ссылку, если у Вас идет синхронизация обмена по внутреннему идентификатору

      ...

    КонецЦикла;

    СчетчикДокументов = СчетчикДокументов + 1;
  КонецЦикла;
DmitryPushkarev,
03.08.20, 13:25 Особенности сортировки в POSTGRE SQL
Гм. Могу предположить "по приборам" (не зная Конфигурации), что проблему можно решить таким образом:
Объект.ПодготовитьТаблицы() вызывает ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(), где формируется запрос к документу
...
    Запрос.Текст = "ВЫБРАТЬ
                    | Док.НомерСтроки " + ТекстЗапроса + "
                    | ИЗ
                    |      Документ." + ДокументОбъект.Метаданные().Имя + "."+ СокрЛП(ИмяТабличнойЧасти) +
                    " КАК Док
                    |     ГДЕ Док.Ссылка = &ДокументСсылка";
...

Вот если ету конструкцию дополнить
...
                | УПОРЯДОЧИТЬ ПО
                |         Док.НомерСтроки
...
, то, как мне думается, это должно помочь в большинстве документов

А вот о причине такой сортировки при смене СУБД мне трудно судить: знаний не хватает. Если мне не изменяет память, у меня была подобная ситуация после перехода с файловой БД как раз на MS SQL. Но в другом запросе УТП. Где-то в УправленииЗапасами емнип. Но смысл был тот же самый: вылечилось сортировкой по НомеруСтроки
onsamuy,
16.07.20, 10:09 Количество знаков после запятой в печатной форме
Быть может, Вы исправили формат для какого-то одного языка, а печатная форма у Вас выводится на другом?
vbi,
16.07.20, 9:00 Отрицательные остатки ОСВ
Татьяна92 @ 14.07.20, 13:44 * ,
Что-то тут не то. Скажите, какая у Вас Конфигурация хотя-бы. Возможно, запасы съехали где-то в управленческих регистрах, поэтому и формируется неправильная проводка
Татьяна92,
14.07.20, 13:16 Как правильно определить ресурс
Цитата(Orion-PS @ 14.07.20, 13:40) *
из приведенного вами примера можно попросить скриншоты Конструктора настроек компоновки данных по шагам?

В топку Конструктор. Создаете запрос в "Наборы данных", прописываете "Ресурсы" на соответствующей закладке. На закладке "Настройки" по отчету тыцкаете правой клавишей мыши - "Новая диаграмма". Получаете чудесную заготовку, которую и настраиваете

Цитата(Orion-PS @ 14.07.20, 13:40) *
Как Вы получили поле "ПериодМесяц"? В параметрах виртуальной таблицы периодичность "Месяц", конечно, задается, но в поля это значение само не попадает...

Поставьте в параметры виртуальной таблицы "Авто". Можно поставить и "Месяц", тогда поле будет называться "Период"
Orion-PS,
14.07.20, 11:37 Как правильно определить ресурс
Цитата(Orion-PS @ 14.07.20, 7:22) *
а ресурс может быть только один


Кто-то Вас ввел в заблуждение.


Orion-PS,
08.07.20, 14:03 Отрицательные остатки ОСВ
Татьяна92 @ Сегодня, 12:31 * ,

А что у Вас за Конфигурация, в которой ведется учет топлива? Или учет топлива ведется в одной конфигурацией, а затем выгружается в Бухгалтерию? Ведется ли партионный учет? Возможно, цену топлива в конце месяца у Вас призван выравнивать какой-то регламентный документ, который забывают провести?

Если у Вас обычная Бухгалтерия, тогда Вам придется выравнивать остатки. Вдумчиво. Этапы примерно такие:

1. Выбираем месяц, с которого хотим жить по-новому (с корректными остатками и движениями)

2. Выравниваем сумму остатка топлива на начало етого месяца. Основные критерии, на которые обращаем внимание:
- количество не должно быть отрицательным
- если количество 0, то сумма тоже должна быть 0
- цена остатка топлива должна соответствовать ценам в партиях закупок. Если партионный учет, то чотко соответствовать. Если средняя цена, то плюс-минус от текущей цены топлива (если не имеет места такая ситуация, что машина давно простаивает и в ней числится топливо еще 2000-какого-то старого года)

Например, на Вашей картинке по А-92 цена в машинах более-менее похожа на правду (кроме Основного склада, где к-во 0). А вот по ДТ что-то не то: по Komatsu-500 на начало месяца цена 58.64грн. Вроде топлива по такой цене у нас (еще?) не было

Все эти остатки нужно выравнивать для всех аналитик 203 счета: Номенклатура, Склад, Партия (если есть)

Лучший способ выравнивания - инвентаризация. Но это крайний способ. Нужно как-то выровнять суммы без количества. Например, ручной операцией

3. После выравнивания остатков на начало месяца, перепроводим все документы по ГСМ за месяц. И смотрим на критерии, указанные в п. 2 внутри месяца. Например, на 15 число. Если нет, на более ранее. То есть, формируем оборотку с 01 числа по 15. Если суммы косячат, с 01 по 10 итд. Вплоть до интервала с 01 по 01. Задача - найти дату, где начинаются косяки. Внутри этой даты ищем документы, которые списали (оприходовали) топливо по неправильной цене и пытаемся понять, в чем дело. Часто, дело в последовательности документов внутри дня - во времени приходных и расходных документов

4. После того, как получим результаты анализа п. 3, будут примерно понятны основные причины возникновения некорректных остатков. Например, можно будет установить правила: все приходы внутри дня проводить со временем 09:00, все перемещения 11:00, все списания - 17:00
И дальнейшая отладка остатков 203 счета (в последующих месяцах) пойдет значительно проще
Татьяна92,
28.05.20, 15:30 Пересчет по курсу в валютах
Указанной конфигурации под рукой нет, но общие соображения такие:

1. Курс валют содержит отношение указанной валюты к валюте регламентированного учета.
Обратите внимание на Сервис - Настройка параметров учета - Валюты (или как-там оно называется в Альфа-Авто?). В типовых, которые у меня есть под рукой, подробно написано:

Подчеркиваю: "По отношению к этой валюте указывается курс других валют"

2. Если валюта упр учета у Вас USD, то СуммаУпрОстаток - это сумма в долларах. СуммаГрн = СуммаДол*КурсДол. Как у Вас и получилось в первом подзапросе из объединения

3. Исходя из п.1, курс валюты регламентированного учета (грн) всегда должен быть равен 1, то есть, во втором подзапросе "КурсыВалютСрезПоследних.Курс" всегда будет 1 и Вы просто получили СуммуУпрОстаток, то есть, сумму в долларах

4. Информации о курсе Рубля к Доллару и Евро к Доллару в системе просто нет (см. п.1). Поэтому, единственное, как мы может получить оценку стоимости в этих валютах - это привести стоимость к гривням, а затем разделить на курс требуемой валюты:

СуммаРуб = СуммаГрн/КурсРуб = (СуммаДол*КурсДол)/КурсРуб
СуммаЕвро = СуммаГрн/КурсЕвро = (СуммаДол*КурсДол)/КурсЕвро (да-да, сумма в Евро будет меньше, чем сумма в Дол, поскольку курс Евро больше, чем курс Дол, а у Вас получилось наоборот)

В некоторых валютах (обычно, для Рубля) кроме курса указывается еще и кратность, не равная 1. Поэтому, там, где написано КурсРуб, КурсЕвро итд, следует иметь в виду, что это КурсСУчетомКратности = КурсыВалютСрезПоследних.Курс/КурсыВалютСрезПоследних.Кратность

То есть, при пересчете обычно поступаем так:

1. Проверяем, что у нас за валюта упр. учета? Если она совпадает с валютой регл. учета, то КурсУпр = 1, если нет, то находим КурсУпр в курсах валют
(желательно забыть, что мы знаем, что это доллар и передавать &ВалютаУпр и &ВалютаРегл в параметрах, мы же делаем обработку на все случаи жизни, вдруг примените свою обработку на Базе, где упр учет ведется в Евро?)
2. Находим КурсПересчитываемойВалюты по отношению к ВалютеРегл по переданному параметру &ВалютаПересчета
3. Получаем то, что хотим: СуммаПересчитаннаяВВалюте = СуммаУпр*КурсУпр/КурсПересчитываемойВалюты

И, да, не забываем про кратность
bizisoft,

2 страниц V   1 2 >
RSS Текстовая версия Сейчас: 23.01.25, 15:00
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!