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

Хранилище

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

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

История благодарностей участнику Макс1С ::: Спасибо сказали: 37 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
05.12.19, 13:02 Составной ключ в справочнике
bizisoft @ Сегодня, 12:39 * ,
Как вариант добавьте реквизит в номенклатуру, например "Номер артикула", а в стандартное поле артикул записывайте программно <Номенклатура.НомерАртикула>+<Производитель.Код> при изменении этих полей на форме.
Таким образом вы получите поле с нужной вам уникальностью в стандартном реквизите и не нужно будет переписывать во всех местах поиск и т.п. При необходимости можно добавить ещё какой-то разрез без сильных доработок
И еще можно будет раскоментить уникальность артикула )
bizisoft,
05.12.19, 12:06 Возможна ли перепродажа 1С
awp @ Сегодня, 11:51 * ,
На то они и франчи, чтобы была единая целевая политика по всей стране. Условия ценообразования, как и санкции за нарушения, определены договорными отношениями, при чем ограничение касается только минимальной цены, в большую сторону - хоть за 1 миллион продавать можно. Есть диллерские договора, в которых нет ограничений по минимальной цене, но сильно ограничен ассортимент и уменьшена маржа. Когда-то Комфи или Розетка продавали базовые бухгалтерии дешевле рекомендованых цен
awp,
04.12.19, 15:42 Составной ключ в справочнике
bizisoft @ Сегодня, 14:46 * ,
в целях оптимизации можете оставить только второй запрос-проверку, он будет покрывать и первый случай. единственное - я бы изменил условие на ссылку вместо кода
|    И Номенклатура.Ссылка <> &Ссылка";

        Запрос.УстановитьПараметр("Артикул", ТекАртикул);
        Запрос.УстановитьПараметр("Производитель", ТекПроизводитель);
        Запрос.УстановитьПараметр("Ссылка", Ссылка);


По ограничению в ТЧ: точно не помню, но в АА есть и ТЧ Товары и ТЧ Наборы, судя по комментарию в стандартном коде - это проверка для ТЧ Наборы, нужно поискать в другом мместе
bizisoft,
03.12.19, 17:03 Составной ключ в справочнике
Подумайте над тем, чтобы просто отключить уникальность по артикулу. Вдруг будет ситуация когда у одного производителя будут абсолютно разные запчасти без артикулов - ключ Производитель+Артикул также окажется неуникальным
bizisoft,
03.12.19, 16:54 УТ3 3.1.5.1 Требуется отчет о суммах задолженности по периодам
andreykyiv@bigmir.net @ Сегодня, 12:10 * ,
Надо доделывать отчет. Можно например взять данные из регистра "Расчеты с клиентами", оплаты фиксируются частями по срокам указанным в соглашении. В стандартных отчетах эти данные попадают в платежный календарь и оценивается факт просрочки платежа в отчете Задолженность клиентов.
Пример из ЕРП, в УТ 3.1 должно быть аналогично
andreykyiv@bigmir.net,
20.11.19, 22:44 Как создать новый элемент справочника из документа? 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 21:58 * ,
Нужно заполнить реквизит "Родитель" у создаваемого элемента справочника. Реквизит с типом Контрагент, т.е. например так:

Родитель = СоздатьОбъект("Справочник.Контрагенты");
    Родитель.НайтиПоНаименованию("Покупатели");
    // если не найдена группа, создадим
Если Родитель.Выбран() = 0 Тогда
    Родитель.НоваяГруппа();
    Родитель.Наименование = "Покупатели";
    Родитель.ПолнНаименование = "Покупатели";
    Родитель.Записать();
    КонецЕсли;
    
Контр.Родитель = Родитель.ТекущийЭлемент();
ZUBR,
20.11.19, 16:58 Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Цитата(Gigi @ 20.11.19, 9:43) *
Я специально изложил подробно и понятно что бы было ясно что нужно было

Ничего подобного. В одном посте я нашел упоминание задачи, всё остальное - вода.
Цитата(Gigi @ 20.11.19, 9:43) *
проблемами я столкнулся для решения поставленной задачи

не интересно сколько проблем. Большинство, если не все, от незнания или нежелания изучить правильные подходы для решения задач. Озвученная задача достаточно тривиальна для того, чтобы изобретать велосипеды.
Искренне понимаю, что трудно признать свой много-дневный/месячный труд не идеальным из-за неверного подхода в самом начале, но ничего страшного, на ошибках учатся.
Цитата(Gigi @ 20.11.19, 9:43) *
Так вот системная функция: "ТИПЗНЧ()"

не знаю чем вас зацепила эта функция... О том что может любая функция и для чего она предназначена описано в документации к каждой системе, не только к 1С.
Вы расчесываетесь вилкой? На хлеб намазываете зубную пасту? к слову о том что инструмент не важен... вы пытаетесь сработавший в одном случае инструмент применить в других, неподходящих, целях. Открыв пивную бутылку ложкой, пытаетесь открыть ложкой окно или глаза спящему человеку.
Цитата(Gigi @ 20.11.19, 9:43) *
Вопрос: Как с помощью функции ТипЗнч() узнать то что слева от точки.

Как с помощью самоката уехать на луну?
Как зубочисткой убить кита?
Как с помощью линейки и циркуля построить квадратуру круга?

Внимание, правильный вопрос: "Как узнать то что слева от точки?"
Ответ в моём предыдущем посте, в самом начале листинга, вместе с примером решения задачи, которую вы озвучили.

Цитата(Gigi @ 20.11.19, 9:43) *
И это первый раунд.

Никаких раундов. Это была последняя бесплатная консультация
demon14,
19.11.19, 14:33 Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Не удержался чтобы не ответить. Насколько я понимаю суть задачи описана так:
Цитата(Gigi @ 15.11.19, 10:11) *
Потом нажимает на кнопку «Назначить реквизиты авто-заполнения» и появляется форма списка всех реквизитов конкретного справочника или документа с галочками. После чего в форме списка отмечает реквизиты для авто-заполнения, при создании нового объекта и нажимает на Ок. И тут, после чего идет запись в табличную часть справочника, на пример с именем: «AutoFill». Где по каждой строке сохраняются имена реквизитов под те значения, которые значились в самой открытой пользователем форме объекта

Т.е. дать пользователю возможность заполнить 1 раз значения по умолчанию, сохранить их и в дальнейшем подставлять в документ.

На реализацию в самописной базе чернового варианта я потратил чуть больше времени (засёк - 32 минуты) чем в 4й раз перечитывая эту ветку и несоизмеримо меньше, пытаясь понять что курит ТС.
&НаСервере
Процедура НужныйОбъектПриИзмененииНаСервере()
    // НужныйОбъект - ссылка, даже пустая элемента справончика или документа
    // ТаблицаЗначенийРеквизитов - ТЗ на форме
    // в которой пользователь будет заполнять всё, что хочет
    Мет = НужныйОбъект.Метаданные();
    Если  Метаданные.Документы.Содержит(Мет)  Тогда
        ВидОбъекта = "Документ";
    ИначеЕсли Метаданные.Справочники.Содержит(Мет) Тогда
        ВидОбъекта = "Справочник";
    Иначе
        Возврат;
    КонецЕсли;
    
    ТипОбъекта = Мет.Имя;
    
    Для Каждого Рекв Из Мет.Реквизиты Цикл        
        НовСтр = ТаблицаЗначенийРеквизитов.Добавить();
        // для идентификации какой объект заполнять,
        // хотя здесь тоже можно 1 реквизитом обойтись
        НовСтр.ВидОбъекта = ВидОбъекта;
        НовСтр.ТипОбъекта = ТипОбъекта;    
        
        НовСтр.ИмяРквизита = Рекв.Имя;
        // для составого типа будет массив, непринипиально
        НовСтр.ТипДанных = Рекв.Тип;
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура НужныйОбъектПриИзменении(Элемент)
    НужныйОбъектПриИзмененииНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура ТаблицаЗначенийРеквизитовПриАктивизацииЯчейки(Элемент)    
    Если Элемент.ТекущийЭлемент.Имя = "ТаблицаЗначенийРеквизитовЗначениеРеквизита" Тогда
        ТекущиеДанные = Элементы.ТаблицаЗначенийРеквизитов.ТекущиеДанные;

        Если ЗначениеЗаполнено(ТекущиеДанные.ТипДанных) Тогда
            // кроме этого места, когда пользователь выбирает данные, тип больше нигде не нужен
            Элемент.ТекущийЭлемент.ОграничениеТипа = ТекущиеДанные.ТипДанных;
        КонецЕсли;
    КонецЕсли;    
КонецПроцедуры

&НаСервере
Процедура СохранитьШаблонНаСервере()
    Набор = РегистрыСведений.ДанныеАвтозаполнений.СоздатьНаборЗаписей();
    Набор.Отбор.ВидОбъекта.Установить(ВидОбъекта);
    Набор.Отбор.ТипОбъекта.Установить(ТипОбъекта);
    
    Набор.Прочитать();
    Набор.Очистить();
    
    // заполненную значениями таблицу можно сохранить в регистр сведений или куда угодно !!!БЕЗ ТИПОВ!!!
    // при заполнении нового элемента значениями по-умолчанию мне всё равно какой там тип.    
    Для Каждого Стр Из ТаблицаЗначенийРеквизитов Цикл
        Если ЗначениеЗаполнено(Стр.ЗначениеРеквизита) Тогда
            НоваяЗапись = Набор.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяЗапись,Стр);
        КонецЕсли;
    КонецЦикла;
    
    Набор.Записать();
КонецПроцедуры

&НаКлиенте
Процедура СохранитьШаблон(Команда)
    СохранитьШаблонНаСервере();
КонецПроцедуры




так что счёт 0-22(половина постов этой темы) не в вашу пользу
Моё мненеие: вам очень сильно нужно учить матчасть и потренироваться строить структуру ваших решений до начала программирования с более опытными коллегами. Ну и кончено не выливать кучу рассуждений на форумах, вместо того чтобы озвучить внятно задачу и попросить помощи.
Отдельные посты я бы вообще потер, чтобы, не дай бог, не попались кому-то начинающему на глаза, который всерьёз воспримет все ваши АКСИОМЫ.
demon14, Gigi, Vofka,
18.11.19, 11:46 Как упорядочить строки по номеру 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 11:40 * ,


Сортировать(<?>,);
Синтаксис:
Сортировать(<Колонки>,<ДокумПоДате>)
Назначение:
Сортировать таблицу значений по колонкам.
Параметры:
<Колонки> - строковое выражение, которое определяет колонки, порядок и направление сортировки. Формат передаваемой строки - это разделенные запятыми номера или идентификаторы колонок со знаком направления сортировки ( ''+'' - сортировать по возрастанию; ''- '' - сортировать по убыванию; ''*'' - сортировать по внутреннему значению). Знак направления сортировки можно указывать до или после обозначения колонки через пробел или без пробела. По умолчанию направление сортировки принимается по возрастанию.
<ДокумПоДате> - необязательный параметр. Имеет смысл только в том случае, если значениями таблицы значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 - сортировка по хронологии документов; 0 - нет. Значение по умолчанию - 0.


например:

МояТабл.Сортировать("ИмяКолонки1,ИмяКолонки2");
ZUBR,
18.11.19, 11:32 Не закрывается 91 счет при закрытии месяца
fokses @ 15.11.19, 17:28 * ,
Если в закрытии "Дт 91 - Кт 207 15.00 грн (корректировка стоимости списания)" - это корректировка Требования накладной.
Такое случается когда в отчете производства за смену одна и та же номенклатура в материалах и в продукции - так делать нельзя, выпускаемая продукция должна отличаться.
fokses,
15.11.19, 18:13 Экономическое обоснование внедрения изменений в бизнес процесс и систему
Fasharama @ Сегодня, 12:06 * ,

5) Начать нужно с целей, скорее всего цели автоматизации частично пересекутся с целями реструктуризации в целом. Т.е. "что нужно в итоге?"
7) Потом хорошо бы описать процессы как новые так и те, которые останутся(вдруг найдем новую систему которая хорошо решает и старые и новые задачи), таким образом получим ответ на вопрос "как будем достигать целей?"
3) Если есть какая-то учетная система пока можно самостоятельно оценить как новые процессы и документы ложатся без правок системы, насколько сложно/долго будет вести новые функции на бумаге/екселе/в уме. То чего нет в текущей системе и будет начальным заданием на автоматизацию, а потенциальная разница в скорости/надежности работы, рисках потерь данных и т.д. будет экономическим обоснованием таких изменений. Я бы рассматривал такие затраты как часть затрат всей реструктуризации, но это по решению того кто платит деньги, могут посчитать что при цели реструктуризации "увеличить продажи в 2 раза" текущий состав менеджеров справиться с блокнотами и ручками в текущем составе
2,1) На начальном этапе кроме затрат на обследование заложить не получится, без опыта внедрения таких или похожих изменений. Если внедрением планирует заниматься внутренняя ИТ служба, тогда это их задача - по предварительным задачам оценить время и ресурсы которые они потратят на доработки и сформировать бюджет в суммовом выражении (условно их зарплата * на количество месяцев внедрения). Если своей службы нет, искать фирмы/аутсорсов которые могут провести обследование (за деньги, поскольку может занять от часов до месяцев).
4) соответственно эту информацию может дать тот кто будет исполнителем или менеджером этого проекта.
6) если речь про лог изменений учетной системы, имхо должны делать аналитики ИТ службы(при наличии) или стороннего исполнителя в виде технического описания по завершении этапов проекта

как-то так..

А в общем без предварительного обследования практически нет шансов "угадать" бюджет. У товарища была задача : внедрить БАС ЕРП в торговой компании. После обследования двумя франчами озвучили бюджеты расходящиеся в 3-4 раза, причем меньшая цифра 7значная, большая - 8значная
Fasharama,
15.11.19, 17:30 Підкажіть будь-ласка у мене 1с 1.2 Базова для України ,можна якось зняти конфігурацію з підтримки?
zoltan @ Сегодня, 17:17 * ,
Базовую можно легально обновить до 2.1 и будет IBAN и всё остальное
zoltan,
30.10.19, 17:57 Не закрывается 231 счёт
Виктория91 @ Сегодня, 16:28 * ,
Причин может быть несколько, для начала нужно рассмотреть сообщения которые выдает документ Закрытие месяца при проведении, если выдает.

Если ничего не выдаёт или как было тут , возможен вариант когда и продукция и материал одна и та же номенклатура на каком-то этапе - так делать нельзя. Признаком такой ситуации могут быть проводки с содержанием "корректировка списания" на сумму которая не закрывается, в конце движений закрытия месяца
Виктория91,
30.10.19, 15:48 В какой версии Розницы для Украины появилось поле кода УКТЗЕД?
Nevermore @ Вчера, 19:08 * ,
Действительно нету и в последней 2.2.7. Я думаю связано с тем что в розничной торговле нигде не требуется указание кодов УКТВЭД(в чеке и т.д.), а сама конфа предназначена чисто для фронт-офиса, зачем его перегружать.
Nevermore,
15.10.19, 15:43 Как прописать процедуру для элементов формы в глобальном контексте
Цитата(Gigi @ 10.10.19, 16:25) *
Вот эту процедуру придется вставлять в каждую форму объекта.

Предлагаю всё же вставить в каждую форму
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
       ДопОбщийМодуль.ПриСозданииНаСервере(Элементы,Параметры,Отказ, СтандартнаяОбработка);
КонецПроцедуры

а в общий модуль:
Процедура ПриСозданииНаСервере(Элементы,Параметры,Отказ, СтандартнаяОбработка)
    Если Параметры.Ключ.Пустая().Пустая()=Истина Тогда
    Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.ФормаОбщаяКомандаДанныеАвтозаполнения_Назначить.Видимость=Ложь;
    Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.ФормаОбщаяКомандаДанныеАвтозаполнения_Очистить.Видимость=Ложь;
    КонецЕсли;
КонецПроцедуры

В противном случае при необходимости правки, нужно не забыть прошерстить каждую форму.
Gigi,
10.10.19, 13:56 Как прописать процедуру для элементов формы в глобальном контексте
Gigi @ Сегодня, 11:29 * ,
В типовых(унф, ерп) реализовано достаточно неплохо. Общий модуль, в каждой форме вызов одной и той же процедуры.
Например:
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    
    ПриЧтенииСозданииНаСервере();
    УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

    МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

КонецПроцедуры

А в модуле все процедуры изначально пустые. Хочешь, пили прям в модуле события форм всех доков, хочешь - вынеси в расширение и там пили.
#Область ЗаполнениеОбработчиковФормы

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт
    
КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПередЗаписьюНаСервере(Форма, Отказ, ТекущийОбъект, ПараметрыЗаписи)Экспорт
    
КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи)Экспорт
    
КонецПроцедуры

#КонецОбласти
Gigi,
10.10.19, 13:28 Проблемы при заполнении накладной на основании реализации
Козлова Татьяна @ Сегодня, 11:46 * ,
Думаю программист здесь не поможет и ошибки именно в программе нет. Скорее всего была предоплата (по счету или договору, в зависимости от настроек договора) и на предоплату выписана НН. Отсюда и сообщение, что сумма неподтвержденных обязательств меньше суммы документа. Например счет на 10000, предоплата 4000 и НН на 4000, в реализации сумма будет 10000, но обязательства всего на 6000.
Предлагаю соглашаться на открытие формы обработки, в ней есть функция (кнопка) "изменить количество"- "пропорционально под сумму обязательств". Собственно такая же процедура должна была быть и при выписке НН на частичную предоплату.
Если предоплат нет или вы считает что их нет - нужно смотреть в отчет(на 100% не помню, но вроде он есть в УТ) "Ожидаемый и подтвержденный НДС продаж", в нём с детализацией до сделки видно на какие суммы уже были выписаны НН. Если и там непонятно - нужно лезть и смотреть регистры и движения документов.
Козлова Татьяна,
01.10.19, 23:25 В оборотке 281 сч не выводит название партий, только три точки
Helen1 @ Вчера, 18:12 * ,
Цитата(Helen1 @ 01.10.19, 18:12) *
обновление или переход через обновление, как вы пишите, может произвести человек не программист?

Если доработок в программе не было , то вполне доступно. У вас должны быть файлы обновлений или действующий договор сопровождения ИТС, но если никогда не делали подобные вещи лучше обратиться к специалисту.
В накладных лучше не подставлять вручную, может привести к "пересорту" партий и выровнять потом будет тяжелее.
Вот!!! Пока писал, вспомнил: аналитика партий будет заполняться только в случае если в настройках учетной политики установлен способ оценки стоимости запасов "ФИФО", если стоит "по средней" - партия всегда будет пустой. После изменений учетной политики также нужно перепровести документы.
Helen1,
01.10.19, 15:27 Створення кнопки на формі табличної частини, на основі якої буде заповнення з іншого документа
bandrah @ Сегодня, 15:53 * ,
Советую покопать в сторону внешней обработки заполнения ТЧ.
Вот очень хороший пример:
Пример внешней обработки заполнения ТЧ
только вместо выбора номенклатуры, вам нужен выбор документа, потом запрос по ТЧ Материалы одного документа и заполнение ТЧ текущего документа.А в таком запросе как у вас выберутся данные из всех документов ОтчетПроизводстваЗаСмену (запросом). И ЗаполнитьЗначенияСвойств() не сработает для табличных частей, только для реквизитов "шапки". Для копирования данных из одного документа в другой, можно делать так:
   
РасходнаяНакладная = Документы.РасходнаяНакладная.СоздатьДокумент();
    // заполняем реквизиты документа
    ЗаполнитьЗначенияСвойств(РасходнаяНакладная, ПриходнаяНакладная, , "Дата, Проведен, ПометкаУдаления");

    // заполняем табличную часть документа
    Для каждого СтрокаСоставаПриходнойНакладной из ПриходнаяНакладная.Состав Цикл
          
        СтрокаСоставаРасходнойНакладной = РасходнаяНакладная.Состав.Добавить();    

        // заполняем значения очередной строки табличной части
        ЗаполнитьЗначенияСвойств(СтрокаСоставаРасходнойНакладной, СтрокаСоставаПриходнойНакладной);      
    КонецЦикла;

взято из ИТС
bandrah,
01.10.19, 11:17 В оборотке 281 сч не выводит название партий, только три точки
Helen1 @ Сегодня, 11:28 * ,
Включение настройки только добавляет субконто в движения по регистру бухгалтерии. Если данная настройка была включена после начала работы с программой, то нужно перепровести все документы (те что касаются товаров) для того, чтобы в движениях появилась аналитика. "..." же означает просто пустую аналитику.

ps. Эта конфигурация уже не обновляется с апреля 2019 года, крайне рекомендую переходить на версию 2.0/2.1. Если только начали работу с программой - тем более лучше начинать на новой, если уже учёт вёлся, можно перейти простым обновлением
Helen1,
28.09.19, 19:49 Как добавить новый реквизит товара в табличную часть расходной накладной 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 19:38 * ,
В 7.7. надо всё проще, немного усложнили.
Процедура Виконав()       //расчет зп по документу
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
  ЗП = СуммаСНДС*0.4;
//или
  ЗП = СуммаСНДС*Товар.КЗП; // где "Товар" - имя колонки в ТЧ; "КЗП" - имя добавленного в товар реквизита
КонецЦикла;    
КонецПроцедуры

А в остальном, если по примерам не понятно и не получается, то без 100 грамм вашего 1cv7.md не разобраться.

В хитросплетениях не надо разбираться, всё должно происходить в форме документа в процедуре указанной в формуле поля ввода товара
ZUBR,
27.09.19, 17:13 Проблема с РегистрНакопления.<Имя регистра>.ОстаткиИОбороты
AlexeyTN @ Сегодня, 17:14 * ,
Действительно, отображаются все позиции по которым есть или обороты или остатки.
Нужно или добавить условие
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказыПоставщикамОстаткиИОбороты.ДоговорКонтрагента,
        |    ЗаказыПоставщикамОстаткиИОбороты.Номенклатура
        |ИЗ
        |    РегистрНакопления.ЗаказыПоставщикам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ЗаказыПоставщикамОстаткиИОбороты
        |ГДЕ
        |    ЗаказыПоставщикамОстаткиИОбороты.КоличествоОборот <> 0";

или брать таблицу оборотов
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказыПоставщикамОбороты.ДоговорКонтрагента,
        |    ЗаказыПоставщикамОбороты.Номенклатура
        |ИЗ
        |    РегистрНакопления.ЗаказыПоставщикам.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ЗаказыПоставщикамОбороты";

AlexeyTN,
27.09.19, 8:31 Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
ZUBR @ Вчера, 22:24 * ,
Для каждой группировки итоги (функции запроса) рассчитаны и доступны при обходе циклами.
Вот такую таблицу генерирует конструктор запроса:

и обработку результата запроса:
     Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать"); // это имя макета
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Родитель
        Таб.ВывестиСекцию("Родитель");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Контрагент
            Таб.ВывестиСекцию("Контрагент");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ТМЦ
                Таб.ВывестиСекцию("ТМЦ");
                Пока Запрос.Группировка(4) = 1 Цикл
                    // Заполнение полей ТекущийДокумент
                    Таб.ВывестиСекцию("ТекущийДокумент");
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");

В каждом из вложенных циклов выводится своя область,но имя переменных в макете "Запрос.ИтогКоличество" и "Запрос.ИтогСумма" одинаково во всех строках. Показатели которые будут там выводится как раз зависят от группировки для которой они рассчитаны - фактически в цикле какого уровня была дана команда на заполнение и вывод этой области

Ещё нюанс, который наглядно видно на макете - на верхних уровнях ничего не известно о том что будет во вложенном цикле, поэтому на макете такая лесенка. В самом первом цикле мы можем вывести только Родителя(группировочное поле, а также его реквизиты), количество и сумму (функции).
ZUBR,
26.09.19, 20:27 Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
ZUBR @ Сегодня, 20:39 * ,
группировки можно представить в виде дерева или вот таких "группировок" таблицы которая получается в результате выполнения запроса

в 7.7 в запросе должна быть как минимум одна группировка - это будет соответствовать простой таблице без "вложенностей".
2 группировки будут означать "дерево" из 2х уровней вложенности, 3 - из 3х и т.д.
Несмотря на то, что картинка из 1С8 и там принцип чуть другой, результат в отчете примерно такой же.

Также для каждой группировки рассчитываются функции запроса. На картинке например это Количество и Сумма
Примерно такой запрос мог быть для отчета как на картинке:
    
        Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Контрагент = Документ.РасходнаяНакладная.Контрагент;
    |ТМЦ = Документ.РасходнаяНакладная.ТМЦ;
    |ТекущийДокумент = Документ.РасходнаяНакладная.ТекущийДокумент;
    |Кво = Документ.РасходнаяНакладная.Кво;
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    |Родитель = Документ.РасходнаяНакладная.Контрагент.Родитель;
    |Функция ИтогКоличество = Сумма(Кво);
    |Функция ИтогСумма = Сумма(СуммаСНДС);
    |Группировка Родитель;
    |Группировка Контрагент;
    |Группировка ТМЦ;
    |Группировка ТекущийДокумент;
    |Условие(ТМЦ в ВыбТМЦ);
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Родитель
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Контрагент
            Пока Запрос.Группировка(3) = 1 Цикл
                 // Заполнение полей ТМЦ
                Пока Запрос.Группировка(4) = 1 Цикл
                    // Заполнение полей ТекущийДокумент
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;

если оставим обход запроса только по одной группировке - получим обычную таблицу без вложений
Пока Запрос.Группировка(1) = 1 Цикл

КонецЦикла;

в данном случае параметр функции Группировка() = 1 , это соответствует родителю, папке с клиентами.
получим таблицу такого вида (например у нас все клиенты находятся в группах: "покупатели мелкий опт" и "покупатели диллеры")

Родитель ИтогоСумма ИтогоКоличество
"покупатели мелкий опт" 23423,00 44
"покупатели диллеры" 1231545,00 444






ZUBR,
24.09.19, 21:03 Как настроить печатную форму в 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 21:53 * ,
Обратите внимание на пунктирные линии по горизонтали и вертикали, это границы печатной формы, передвигаются автоматически, достаточно активировать какую-то ячейку в колонке/строчке.

Нужно удалить эти пустые колонки и строки до ячеек с данными
takefive, ZUBR,

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