По теме из базы знаний
- Как специалист 1С может найти работу за рубежом?
- Как эффективно управлять командой удаленных программистов 1С
- Видеозаписи онлайн-митапа "Инструментарий руководителя проекта"
- Компетенции РП по версии PMI и здравому смыслу. Часть 2
- Результаты ревью кода 1500+ решений каталога Инфостарт: наиболее частые ошибки разработчиков в коде
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Обнаружила новую инфу по вопросу отбора документов в журналах.
Все мы знаем, что отбор можно устанавливать только в общих журналах. Оказывается, это не совсем так.
Отбор можно установить и в обычном журнале (в дополнительном = не проверялось). Причем, в обычном журнале доступны отборы только по виду документов. Мало того, отбор можно установить только программно.
Все мы знаем, что отбор можно устанавливать только в общих журналах. Оказывается, это не совсем так.
Отбор можно установить и в обычном журнале (в дополнительном = не проверялось). Причем, в обычном журнале доступны отборы только по виду документов. Мало того, отбор можно установить только программно.
В том то и дело, что бубен не нужен!
Любой обычный журнал имеет возможность выполнять отбор по виду документа.
Читаем внимательно синтакс-помощник:
Замечание:
Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа. В этом случае синтаксис вызова метода следующий:
УстановитьОтбор(<ВидДокумента>)
Любой обычный журнал имеет возможность выполнять отбор по виду документа.
Читаем внимательно синтакс-помощник:
Замечание:
Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа. В этом случае синтаксис вызова метода следующий:
УстановитьОтбор(<ВидДокумента>)
в продолжение темы "ТЗ, вложенная в ТЗ"
код привел Ёпрст2 здесьhttp://www.forum.mista.ru/topic.php?id=287905&forum=1c&v8=0
Код |
---|
Процедура Сформировать()
Перем НоваяТЗ;
ТЗ =СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Вложенная");
ТЗ.НоваяСтрока();
ТЗ.Вложенная = СоздатьОбъект("ТаблицаЗначений");
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Вложенная");
ТЗ.НоваяСтрока();
ТЗ.Вложенная = СоздатьОбъект("ТаблицаЗначений");
ТЗ.Вложенная.НоваяКолонка("Колонка");
ТЗ.Вложенная.НоваяСтрока();
ТЗ.Вложенная.Колонка = "Вася";
ТЗ.Вложенная.НоваяСтрока();
ТЗ.Вложенная.Колонка = "Петя";
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
ТЗ.Вложенная.ВыбратьСтроки();
Пока ТЗ.Вложенная.ПолучитьСтроку()=1 Цикл
Сообщить(ТЗ.Вложенная.Колонка);
КонецЦикла;
КонецЦикла;
//Сообщает:
//Вася
//Петя
ТЗ.Выгрузить(НоваяТЗ);
//поменяем вложенную ТЗ в новой таблице значений
НоваяТЗ.ВыбратьСтроки();
Пока НоваяТЗ.ПолучитьСтроку()=1 Цикл
НоваяТЗ.Вложенная.ВыбратьСтроки();
Пока НоваяТЗ.Вложенная.ПолучитьСтроку()=1 Цикл
НоваяТЗ.Вложенная.Колонка = НоваяТЗ.Вложенная.Колонка+" неудачник ...";
КонецЦикла;
КонецЦикла;
//выведем опять исходную
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
ТЗ.Вложенная.ВыбратьСтроки();
Пока ТЗ.Вложенная.ПолучитьСтроку()=1 Цикл
Сообщить(ТЗ.Вложенная.Колонка);
КонецЦикла;
КонецЦикла;
//Сообщает:
//Вася неудачник ...
//Петя неудачник ...
//Т.е изменилась вложенная ТЗ в исходной таблице значений! ....
КонецПроцедуры Показать полностью |
код привел Ёпрст2 здесь
А чего тут нового? Как раз такого примера и началась рубрика В. Кушниром. ТЗ сохранила ссылку (УКАЗАТЕЛЬ) на вложенную.
Указатель на что указывал, на то и продолжает указывать, а вот данные по этому указателю изменились. Так и должно быть
Указатель на что указывал, на то и продолжает указывать, а вот данные по этому указателю изменились. Так и должно быть
Может и не ново, но столкнулся с такой проблемой (возможно поможет другим):
Внешние переменные можно в запроссе применять только в выборе периода и в условиях. Я зараннее не знаю с каким видом документа буду работать:
ДокВид = Метаданные.Документ(Ин).Идентификатор;
Чтобы сработала конструкция
|ТекДок = Документ.РасходнаяНакладная.ТекущийДокумент;
ее надо немножко "причесать":
|ТекДок = Документ."+ДокВид+".ТекущийДокумент;
или
ТекстЗапроса = ТекстЗапоса +
"|ТекДок = Документ." + ДокВид + ".ТекущийДокумент;"
Пример:
ТекстЗапроса = "Период с ДатаНач по ДатаКон;";
ТекстЗапроса = ТекстЗапроса + "
|ОбрабатыватьДокументы Проведенные;
|ТекДок = Документ."+ДокВид+".ТекущийДокумент;
|Группировка ТекДок;
|";
Сообщить (ТекстЗапроса); Выдаст:
Период с ДатаНач по ДатаКон;
ОбрабатыватьДокументы Проведенные;
ТекДок = Документ.ПриходнаяНакладная.ТекущийДокумент;
Группировка ТекДок;
Автор идеии CrecerRu (миста).
Внешние переменные можно в запроссе применять только в выборе периода и в условиях. Я зараннее не знаю с каким видом документа буду работать:
ДокВид = Метаданные.Документ(Ин).Идентификатор;
Чтобы сработала конструкция
|ТекДок = Документ.РасходнаяНакладная.ТекущийДокумент;
ее надо немножко "причесать":
|ТекДок = Документ."+ДокВид+".ТекущийДокумент;
или
ТекстЗапроса = ТекстЗапоса +
"|ТекДок = Документ." + ДокВид + ".ТекущийДокумент;"
Пример:
ТекстЗапроса = "Период с ДатаНач по ДатаКон;";
ТекстЗапроса = ТекстЗапроса + "
|ОбрабатыватьДокументы Проведенные;
|ТекДок = Документ."+ДокВид+".ТекущийДокумент;
|Группировка ТекДок;
|";
Сообщить (ТекстЗапроса); Выдаст:
Период с ДатаНач по ДатаКон;
ОбрабатыватьДокументы Проведенные;
ТекДок = Документ.ПриходнаяНакладная.ТекущийДокумент;
Группировка ТекДок;
Автор идеии CrecerRu (миста).
Спасибо. В качестве примера еще могу добавить следующее, которое было написано сходу и работает на всех конфигурациях 7.7:
Прикрепленные файлы:
SelectDocs.zip
VasilyKushnir Написал:
-------------------------------------------------------
>
> Автор идеии CrecerRu (миста).
>
Идея хорошая. Интересно, разработчики типовых конфигураций читают мисту?
На этой идее построена типовая свертка базы типовой ТиС, а также универсальные отчеты и обработки с диска ИТС...
-------------------------------------------------------
>
> Автор идеии CrecerRu (миста).
>
Идея хорошая. Интересно, разработчики типовых конфигураций читают мисту?
На этой идее построена типовая свертка базы типовой ТиС, а также универсальные отчеты и обработки с диска ИТС...
poppy Написал:
-------------------------------------------------------
> Идея хорошая. Интересно, разработчики типовых
> конфигураций читают мисту?
>
> На этой идее построена типовая свертка базы
> типовой ТиС, а также универсальные отчеты и
> обработки с диска ИТС...
>
В том весь юмор, что с типовыми никогда не сталкивался и диска ИТС в глаза не видел. Ну да ладно - проехали...
Вы лучше скажите, что за ерунда с ТЗ на форме: кидаю на ТЗ рисунок для колонки Метка. Метка отлично прорисовывается.Выставляю галочку для формы РежимСохраненияНастройки и после первого же сохранения и последующего вызова - вместо рисунка галочки в поле метки цифирь единички. Как вам нравится это безобразие?
-------------------------------------------------------
> Идея хорошая. Интересно, разработчики типовых
> конфигураций читают мисту?
>
> На этой идее построена типовая свертка базы
> типовой ТиС, а также универсальные отчеты и
> обработки с диска ИТС...
>
В том весь юмор, что с типовыми никогда не сталкивался и диска ИТС в глаза не видел. Ну да ладно - проехали...
Вы лучше скажите, что за ерунда с ТЗ на форме: кидаю на ТЗ рисунок для колонки Метка. Метка отлично прорисовывается.Выставляю галочку для формы РежимСохраненияНастройки и после первого же сохранения и последующего вызова - вместо рисунка галочки в поле метки цифирь единички. Как вам нравится это безобразие?
Сhe Burashka Написал:
-------------------------------------------------------
> Вызывай ИспользоватьПометки
А что это за зверь? Че-то не нашел я такой функции.... У меня :
тбРеквизиты.ВыводитьПиктограммы("Метка");
тбРеквизиты.ВыводитьПиктограммы("ВСтроках");
-------------------------------------------------------
> Вызывай ИспользоватьПометки
А что это за зверь? Че-то не нашел я такой функции.... У меня :
тбРеквизиты.ВыводитьПиктограммы("Метка");
тбРеквизиты.ВыводитьПиктограммы("ВСтроках");
Обнаружил интересную вещь:
На форме есть ПолеСоСписком, туда при открытии по определенному фильтру запузыриваю список контрагентов (поставщиков, может менятся - дополнятся). Стоит задача при последующем вызове спозиционироватся на последнем выбранном поставщике. Простые
СохранитьЗначение()
ВосстановитьЗначение()
не прокатили.
Определяю
Поставщик=сзПоставщики.ПолучитьЗначение(сзПоставщики.ТекущаяСтрока());
СохранитьЗначение("Поставщик", Поставщик);
А потом при последующем вызове
ТекПост = ВосстановитьЗначение("Поставщик");
Если ПустоеЗначение(ТекПост) = 0 Тогда
ТекСтр = сзПоставщик.НайтиЗначение(ТекПост);
сзПоставщик.ТекущаяСтрока(ТекСтр);
Поставщик = сзПоставщик.ПолучитьЗначение(ТекСтр);
Иначе
Поставщик = сзПоставщик.ПолучитьЗначение(1);
КонецЕсли;
Но самое интересное далее:
по
Сообщить(Поставщик);
Выдает название поставщика, а в файле 1Cv7.CFG (в него сохраняются данные по СохранитьЗначение) - сидит код поставщика, а не название. Чудеса...
И еще - новое сохранение появляется в 1Cv7.CFG ТОЛЬКО после закрытия 1С, до этого похоже сидит в оперативке.
Может кому пригодится...
На форме есть ПолеСоСписком, туда при открытии по определенному фильтру запузыриваю список контрагентов (поставщиков, может менятся - дополнятся). Стоит задача при последующем вызове спозиционироватся на последнем выбранном поставщике. Простые
СохранитьЗначение()
ВосстановитьЗначение()
не прокатили.
Определяю
Поставщик=сзПоставщики.ПолучитьЗначение(сзПоставщики.ТекущаяСтрока());
СохранитьЗначение("Поставщик", Поставщик);
А потом при последующем вызове
ТекПост = ВосстановитьЗначение("Поставщик");
Если ПустоеЗначение(ТекПост) = 0 Тогда
ТекСтр = сзПоставщик.НайтиЗначение(ТекПост);
сзПоставщик.ТекущаяСтрока(ТекСтр);
Поставщик = сзПоставщик.ПолучитьЗначение(ТекСтр);
Иначе
Поставщик = сзПоставщик.ПолучитьЗначение(1);
КонецЕсли;
Но самое интересное далее:
по
Сообщить(Поставщик);
Выдает название поставщика, а в файле 1Cv7.CFG (в него сохраняются данные по СохранитьЗначение) - сидит код поставщика, а не название. Чудеса...
И еще - новое сохранение появляется в 1Cv7.CFG ТОЛЬКО после закрытия 1С, до этого похоже сидит в оперативке.
Может кому пригодится...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот