|
Исправление выгрузки списка сотрудников. | ☑ | ||
---|---|---|---|---|
0
Aleksandra Junior
naïve
21.05.24
✎
08:11
|
Имеется результат запроса в ТЗ, у меня два файла тз1.VT_ и тз2.VT_.
Нужно к нему добавить колонку Состояние , которое можно получить следующим кодом: МассивСотрудников = Новый Массив; ДатаАктуальности = ТекущаяДата(); Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл МассивСотрудников.Добавить(СтрокаТаблицы.Ссылка); КонецЦикла; ТаблицаСостояния = КадровыйУчет.КадровыеДанныеСотрудников(Истина, МассивСотрудников, "Состояние", ДатаАктуальности); Я сделала с помощью запроса, но мне сказали нужно в консоле кода, кодом. Не понимаю, как обратиться к файлам таблицы значений из консоли кода, в 1с всего две недели, ничего толком не понимаю. Пробовала ЗагрузитьИзФайла(), не работает. Пните меня пожалуйста в каком направлении думать... |
|||
1
Kongo2019
21.05.24
✎
08:11
|
ТЗ то где находятся?
|
|||
2
DJ Anthon
21.05.24
✎
08:11
|
у файлов нет колонок
|
|||
3
Волшебник
21.05.24
✎
08:12
|
(0) Когда пишете программный код, то соблюдайте "лесенку" (отступы)
Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл МассивСотрудников.Добавить(СтрокаТаблицы.Ссылка); КонецЦикла; |
|||
4
Kongo2019
21.05.24
✎
08:12
|
(2) Файле то нет, но как-то она эти ТЗ гоняет.
|
|||
5
Волшебник
21.05.24
✎
08:13
|
(0) Надо все ТЗ загнать во временные таблицы в запрос.
Далее сделать запрос к справочнику Сотрудники (или к основной ТЗ с сотрудниками) и левое соединение с дополнительными ТЗ |
|||
6
Kongo2019
21.05.24
✎
08:14
|
(5) Так по условию задачи незя запрос использовать.
|
|||
7
Волшебник
21.05.24
✎
08:15
|
(6) Плевать на условия задачи и запрет на инструменты. Хочешь жить — умей вертеться.
|
|||
8
Волшебник
21.05.24
✎
08:16
|
Кстати, "сказали, что нужно в консоле кода, кодом."
Ну так кодом можно создать Запрос |
|||
9
Kongo2019
21.05.24
✎
08:17
|
(8) Это как?
|
|||
10
Волшебник
21.05.24
✎
08:18
|
(9)
Запрос = Новый Запрос(""); |
|||
11
Kongo2019
21.05.24
✎
08:20
|
(10) Ха, так это запрос получится.
|
|||
12
Волшебник
21.05.24
✎
08:38
|
(11) Не согласен.
|
|||
13
SleepyHead
гуру
21.05.24
✎
08:44
|
(0)
МассивСотрудников = ВашаТаблицаЗначений.ВыгрузитьКолонку("Ссылка"); |
|||
14
Aleksandra Junior
naïve
21.05.24
✎
09:33
|
(1) Я не знаю((( Всё что у меня есть это два файла, которые я изначально загрузила в консоль запросов и сделала так, как посоветовал Волшебник))
|
|||
15
Волшебник
21.05.24
✎
09:35
|
(14) Лесенку добавили? Это прекрасно!
|
|||
16
Aleksandra Junior
naïve
21.05.24
✎
09:36
|
(15) Про лесенку тоже поняла, исправлюсь. Я про "Надо все ТЗ загнать во временные таблицы в запрос"
|
|||
17
Климов Сергей
21.05.24
✎
09:45
|
(16) Примерно так:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТЧ.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ втТЧ |ИЗ | &ТЧ КАК ТЧ ... Запрос.Параметры.Вставить("ТЧ", МойДокумент.МояТабличнаяЧасть.Выгрузить()); |
|||
18
dmt
21.05.24
✎
09:52
|
(0) 1. обходишь основную таблицу, для каждой строки которой
2. выполняешь ТаблицаСостояний.НайтиСтроки(Новый Структура("Сотрудник", СтрокаОсновной.Сотрудник)) - находишь состояние сотрудника, 3. которое записываешь в строку основной таблицы |
|||
19
Волшебник
21.05.24
✎
10:19
|
(18) Для ускорения во второй таблице лучше сначала добавить индекс по "Сотрудник":
ТаблицаСостояний.Индексы.Добавить("Сотрудник"); |
|||
20
dmt
21.05.24
✎
10:51
|
(19) лишь бы не возникла привычка к преждевременной оптимизации
|
|||
21
Волшебник
21.05.24
✎
11:41
|
(20) Мы с Вами согласны!
Преждевременная оптимизация — это процесс оптимизации кода или системы, который выполняется на ранних стадиях разработки, до того как будут понятно, где на самом деле находятся узкие места и насколько они критичны. Термин стал популярен благодаря цитате Дональда Кнута: "Преждевременная оптимизация — корень всех зол" (в оригинале: «Premature optimization is the root of all evil»). ________________________________________________________________________________________________ ### Почему оптимизация может быть проведена раньше положенного? 1. Перфекционизм: Разработчики иногда стремятся написать идеально оптимизированный код с самого начала, стремясь к максимальной эффективности. 2. Навыки и привычки: Некоторые разработчики, особенно с опытом работы в системах, где производительность имеет приоритет, по привычке могут пытаться оптимизировать всё. 3. Ложные предположения: Интуиция или экспертное мнение могут подсказывать, что определённые участки кода могут стать узкими местами, даже если фактических доказательств этого нет. 4. Неопытность: Менее опытные разработчики могут переоценить или недооценить важность оптимизации на ранних стадиях. ________________________________________________________________________________________________ ### Минусы преждевременной оптимизации: 1. Напрасные усилия: Возможно, значительное время будет потрачено на оптимизацию тех частей кода, которые на практике не будут узкими местами. 2. Сложность и запутанность кода: Оптимизация часто делает код более сложным, что затрудняет его поддержку, тестирование и понимание для других членов команды. 3. Увеличение количества багов: Сложный и оптимизированный код может быть менее устойчивым и более подверженным ошибкам. 4. Отвлечение от основной задачи: Вместо концентрации на основных функциях и разработке продукта, команда может быть отвлечена на оптимизацию. 5. Меньше времени на реальные улучшения: Фокус на раннюю оптимизацию может отнимать время от более важных аспектов разработки, таких как архитектура системы, пользовательский интерфейс и возможности. 6. Невозможность предугадать узкие места: Без реального использования и нагрузки сложно точно определить, где именно возникают проблемы с производительностью. Часто они проявляются в неожиданных местах. ________________________________________________________________________________________________ ### Подход к оптимизации: Лучший подход к оптимизации — это частичная оптимизация и профилирование: 1. Сначала функционал: Сначала реализовать функциональные требования проекта. 2. Профилирование кода: Использование инструментов профилирования (замер производительности), чтобы точно определить, где находятся узкие места. 3. Избирательная оптимизация: Оптимизация конкретных участков кода, которые действительно требуют улучшения производительности на основе данных профилирования. ________________________________________________________________________________________________ Таким образом, разумный подход к оптимизации заключается в том, чтобы сначала разработать работающий продукт, а затем определить и исправить реальные проблемы с производительностью. |
|||
22
dmt
21.05.24
✎
15:48
|
(21) это чатгпт теперь так формулирует? мое почтение...
|
|||
23
Serg_1960
21.05.24
✎
16:41
|
(16) "Надо все ТЗ загнать во временные таблицы в запрос"...
Погуглите в конфигурации подстроку "КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(" - в типовой конфигурации много примеров для самообучения. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |