Moloko @ Сегодня, 17:40
, народ в стране это не руководители при чем здесь путин и навальный, я совсем не понял вас, шо вы злобный такой, я думал это форум умных людей. а не политический форум
alex-l1904 @ Сегодня, 15:45
, Легко? подсказать можете? А если не используем заказы?
Здравствуйте. уважаемые специалисты 1с. посоветуйте, пожалуйста откуда можно взять последние неоплаченные реализации конфигурация Управление торговлей 11. если можно запрос написать, может у кого-то было что-то подобное. но хотя бы откуда взять эти данные. заранее благодарен .
Управляемые формы. Управление торговлей, редакция 11 (11.5.12.73), 1С:Предприятие 8.3 (8.3.22.2411)
Есть на форме элемент типа ДанныеФормыКоллекция, который отображает табличную часть, которая называется для простоты так же как и элемент на форме МоеДанныеФормыКоллекция. Есть у нас строка этой коллекции, получаем её индекс:
Здравствуйте, подскажите, пожалуйста, кто-нибудь, подробно по шагам и если можно со скриншотами как провести отладку через COM соединение, заранее спасибо
lolmatrix @ 17.06.22, 10:02
, Такая функция вернет родителя- группу самого верхнего уровня, но зная глубину можно задать произвольное количество итераций
Функция РодительВерхнегоУровня(Номенклатура.Ссылка); Если Не ЗначениеЗаполнено(Номенклатура.Ссылка.Родитель) Тогда Возврат Номенклатура.Ссылка; Иначе Возврат РодительВерхнегоУровня(Номенклатура.Ссылка.Родитель); КонецЕсли; КонецФункции
и перебрать значения справочника с заполнением ТЗ
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Группа") ТЗ.Колонки.Добавить("НужнаяГруппа") Для Каждого Элемент из Номенклатура Цикл Если Элемент.ЭтоГруппа Тогда НоваяСтрока =ТЗ.Добавить(); НоваяСтрока.Группа = Элемент; НоавяСтрока.НужныйРодитель = РодительВерхнегоУровня(Элемент.Ссылка); КонецЕсли; КонецЦикла;
а с полученной ТЗ уже делать что надо, так как там все группы (НИЖЕ выбранного уровня) будет связанна с нужной Группой-родителем
скажите, Номенклатура.Ссылка.Родитель. в параметре откуда берется не совсем понял логику этого кода откуда все берется и на какой вопрос этот ответ
Всем привет. Есть РС с измерением типа Документ и ресурсом Хранилище значений. В него помещается табличный документ. Можно ли как-то отчетом вытянуть записи из этого РС в таком виде?: -Документ ---- Табличный документ из хранилища значений Я сделал отчет, в вычисляемых полях сделал поле, которое через общий модуль получает значение хранилища значения. Но при выводе этого поля в групировку скд просто выводит надпись "Табличный документ". Как бы сделать так, чтобы выводился сам табличный документ?
Спасибо. это очень похоже на то что мне нужно, только там выбираются вышестоящие группы
спасибо всем большое, нижние группы выбраны. тепрь возник вопрос как организовать выбор из более высоких групп, если нет нижней группы, группы родитедей получаю так
Глубина = стрОстатков.Номенклатура.ПолныйКод();
никак не придумаю как организовать выборку из регистра содержащего лимиты, с учетом, что если нет лмитов в группе на один уровень выше, выбирать лимиты из более высокой группы, опыта в программировани почти нет, есть только теория, спасибо всем за ответы
Если у вас какие-то группы выполняют определенную функцию (по ним устанавливаются лимиты остатков), а другие группы не выполняют эту функцию, то мне кажется логично добавить реквизит Булево для группы. И дальше смотрим, если этот признак установлен - то именно эти группы нам и нужны. То что такой признак не был добавлен - породило бардак с группами и вы сейчас по сути боретесь с последствиями
Реализация как найти все группы нижнего уровня
Функция ПолучитьВсеГруппыНижнегоУровня()
Результат = новый Массив;
Запрос = новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа = ИСТИНА";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если ЭтоГруппаНижнегоУровня(Выборка.Ссылка) Тогда
Результат.Добавить(Выборка.Ссылка);
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ЭтоГруппаНижнегоУровня(Группа)
Запрос = новый Запрос;
Запрос.УстановитьПараметр("Группа", Группа);
Запрос.Текст = "ВЫБРАТЬ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатура.Ссылка) КАК КоличествоГрупп |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа = ИСТИНА | И Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат (Выборка.КоличествоГрупп = 1);
КонецЕсли;
Возврат Ложь;
КонецФункции
извините, не совсмем понял, ваше предложение, не могли бы подробнее объяснить, насчет добавления реквизита, группы по которым устанавливаются лимиты, хранятся в регистре сведений, как им поможет дополнителный реквизит
а как я определю, что у полученной группы есть еще вложенные группы
lolmatrix @ Сегодня, 13:46
, Вы имели ввиду? так?
Функция ОпределитьУровенНоменклатуры(ГруппаТМЗ) Выборка = Справочники.Номенклатура.ВыбратьИерархически(ГруппаТМЗ); Пока Выборка.Следующий() Цикл Уровень = Выборка.УровеньВВыборке();
lolmatrix @ Сегодня, 9:09
, сначала нормально сформулируйте вопрос. я столько буков осилить не смог
вопрос в том как получить уровни иерархии номенклатуры которую я выгружаю запросом в таблицу значений, а родители этой номенклатуры в регистре с ресурсом минимальный товарный остаток, в выгруженную номенклатуру надо добавить этот ресур взяв его из самой нижней группы, не могу придумать как определить принадлежность к группе из второго регистра сведений
lolmatrix @ Сегодня, 10:49
, примерно так получаю
Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | ОстаткиОтправителя.Номенклатура |ПОМЕСТИТЬ ВТ_ОстаткиОтправителя |ИЗ | &ОстаткиОтправителя КАК ОстаткиОтправителя |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Количество |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &ДатаОстатков, | Номенклатура В | (ВЫБРАТЬ | ВТ_ОстаткиОтправителя.Номенклатура | ИЗ | ВТ_ОстаткиОтправителя КАК ВТ_ОстаткиОтправителя) | И Склад = &СкладПолучатель | И Номенклатура.ЭтоГруппа = ЛОЖЬ) КАК ТоварыНаСкладахОстатки |ГДЕ | ТоварыНаСкладахОстатки.КоличествоОстаток > 0 | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.Номенклатура"; Запрос2.УстановитьПараметр("ДатаОстатков", ДатаОстатков); Запрос2.УстановитьПараметр("ОстаткиОтправителя", ОстаткиОтправителя); Запрос2.УстановитьПараметр("СкладПолучатель", Объект.СкладПолучатель); РезультатЗапроса2 = Запрос2.Выполнить(); ОстаткиПолучателя = РезультатЗапроса2.Выгрузить();
ТЗСписокМТЗ = Запрос3.Выполнить().Выгрузить(); Для Каждого стрМТЗ Из ТЗСписокМТЗ Цикл ГруппаТМЗ = СтрМТЗ.ГруппаНоменклатуры; Для Каждого стрТЗ Из ОстаткиПолучателя Цикл Товар = стрТЗ.Номенклатура;
Если стрМТЗ.ПорогМТЗ >= стрТЗ.Количество тогда Если Товар.ПринадлежитЭлементу(стрМТЗ.ГруппаНоменклатуры) Тогда
Здравствуйте. 1с 8.3 обычные формы. подскажите пожалуйста как вытащить данные остатков принадлежащих самой нижней группе номенклатуры. группы хранятся в регистре сведений непериодическом, не подчиненном.Есть регистр в котором хранятся группы номенклатуры по которым должен соблюдаться минимальный товарный запас (измеренения группаНоменклатуры и Склад, реквизит минимальный товарный запас и есть регистр ТоварыНаСкладе.Остатки. надо выбрать остатки по определненному складу. и этим товарам надо проставить количество минимального товарного запаса соответственно группе в которой лежит этот товар, в случае пересечения групп, запас выбираеся из самой нижней группы(если у группы запас 3 единицы, у товара должно быть 3 единицы, подскажите пожалуйста как реализовать. ничего не могу придумать запросом не получается. Номенклатура.ПринадлежитЭлементуГруппы);//так определяет соответственно все группы до верхней. не могу никак придумат как реализовать. помогите пожалуйста. заранее благодарен .
Vofka @ 02.03.22, 14:07
, спасибо,Vofka @ 02.03.22, 14:07
, Спасибо, Vofka, ваш ответ, навел на пересмотр связей. так сложилось, что именно ваши ответы мне чаще всего помогают, и видимо все-таки запрос я неправилно сделал. посветуйте пожалуйста как вытащить именно сотрудников у которых не было больничных листов, сейчас вытаскивает и те у кого был больничный, а мне этих людей надо убрать из отчета, мне надо просто вывести тех у кого нет записи больничный в отборе за указанный период
Здравствуйте 1с 8.3 ЗУП 3.1, пытаюсь соединить две таблицы левым соединением для того чтобы из второй таблицы взять только должность. в отчет попадает куча записей, а мне надо чтобы были только записи из левой таблицы ( только сотрудники у которых не было больничных. из второй таблицы нужна только должность, вот сам запрос
ВЫБРАТЬ ОтработанноеВремяПоСотрудникам.Сотрудник КАК Сотрудник, ОтработанноеВремяПоСотрудникам.Подразделение КАК Подразделение, ДанныеДляПодбораСотрудников.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию ИЗ РегистрНакопления.ОтработанноеВремяПоСотрудникам КАК ОтработанноеВремяПоСотрудникам ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбораСотрудников ПО ОтработанноеВремяПоСотрудникам.Сотрудник = ДанныеДляПодбораСотрудников.Сотрудник И ОтработанноеВремяПоСотрудникам.Организация = ДанныеДляПодбораСотрудников.Организация ГДЕ ОтработанноеВремяПоСотрудникам.Период МЕЖДУ &Начало И &Конец И НЕ ОтработанноеВремяПоСотрудникам.Регистратор ССЫЛКА Документ.БольничныйЛист
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!