Яковенко Дмитрий

132
Рейтинг

lishniy
Дмитрий Яковенко



  •   Регистрация: 19.08.2015 (8 лет назад)

  •   Был(а) на сайте: вчера в 09:50

Друзья
  • Вадим Фоминых
  • Евгений Комиссаров
Подписчики 7

Группы

Профессиональный разработчик

Рейтинг 132

1С в Windows docker контейнерах

Инструменты и обработки Системный администратор Платформа 1С v8.3 Windows Абонемент ($m) Архив с данными Инструменты администратора БД DevOps и автоматизация разработки

Создаем Docker-контейнер для windows-версии 1C. Контейнеры позволяют подготовить рабочую среду на любой актуальной версии windows. Благодаря данной технологии можно беспрепятственно запускать требуемую версию сервера 1С или несколько серверов различных версий на одном сервере.

1 стартмани

02.10.2018    46691    50    lishniy    42       

133

Комментарии

DevСреднее в СКД#8 29.11.23 13:53
(6) Я для примера запрос кинул показать проблему. Так то все намного сложнее и в sql я запрос не прокину. В 1С оконные функции не завезли.
Только самому обходить результат и формировать ТЗ только остается?
DevСреднее в СКД#5 29.11.23 12:30
Подниму старую тему. Должен же быть простой способ посчитать среднее по группе?
Накидал простой запрос.
Код
ВЫБРАТЬ
   1 КАК Зн,
   "Гр1" КАК Изм,
   "стр1" КАК Стр,
   "ог1" как ОГ

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

ВЫБРАТЬ
   1,
   "Гр1",
   "стр2"
   ,"ог2"

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

ВЫБРАТЬ
   1,
   "Гр1",
   "стр3"
   ,"ог2"

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

ВЫБРАТЬ
   1,
   "Гр1",
   "стр4"
   ,"ог2"

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

ВЫБРАТЬ
   10,
   "Гр2",
   "стр5"
   ,"ог2"

Ожидаю получить значения выделенные красным.
Даже если прописать ВычислитьВыражениеСГруппировкойМассив для всех группировок, общий итог считает не верно.

Прикрепленные файлы:

Снимок экрана 2023-11-29 в 12.05.34.png
Снимок экрана 2023-11-29 в 12.27.46.png
Снимок экрана 2023-11-29 в 12.24.10.png
DBИзменить режим восстановления при свертке базы#1 09.02.23 8:23
Добрый день.
Имеется БД с размером больше 2 ТБ которую надо свернуть. Подскажите, имеет смысл изменение модели восстановления базы на simple перед сверткой и возвращением на full после? Я преследую цель как минимум защититься от нехватки места из-за растущих логов. А если при этом будет еще хоть какое-то ускорение, будет вообще чудесно.
ОбменКонвертация. НПП во владельце.#3 01.09.22 10:52
(2) Да. Так и есть. Спасибо.
ОбменКонвертация. НПП во владельце.#1 01.09.22 9:22
Не актуально. Разобрался

Добрый день. Пишу обмен между двумя базами. При выгрузке единицы измерения номенклатуры в файле выгрузки xml в заголовке получается такой код
Код
<Объект Нпп="10" Тип="СправочникСсылка.ЕдиницыИзмерения" ИмяПравила="ЕдиницыИзмерения" НеЗамещать="true">
</ЗначениеПараметра><Свойство Имя="Владелец" Тип="СправочникСсылка.Номенклатура" ИмяПКО="Номенклатура">
   <Нпп>2</Нпп>

Я так подозреваю, что именно из-за этого из-за этого единицы выгружаются без владельца. Так как если установить в номенклатуре флаг "Не запоминать выгруженные объекты", то все выгружается корректно.

Предполагаю что это из-за кода в ПКО номенклатуре в обработчике "Поля поиска" .
Код
Если НомерВариантаПоиска = 1 тогда
   Выполнить(Алгоритмы.НайтиНоменклатуруПоШК);
КонецЕсли;
ЭтоГруппа = СвойстваПоиска["ЭтоГруппа"] = Истина;

ЗаполненКодРСТ = ЭтоГруппа = Ложь И СвойстваПоиска["КодРСТ"] <> 0;

СоответствиеПоиска = Новый Соответствие;
Если ЗаполненКодРСТ Тогда
   СоответствиеПоиска.Вставить(СоответствиеПоиска.Количество() + 1, "КодРСТ");
КонецЕсли;
СоответствиеПоиска.Вставить(СоответствиеПоиска.Количество() + 1, "Наименование,ЭтоГруппа");

Если СоответствиеПоиска.Количество() <= НомерВариантаПоиска Тогда
   СтрокаИменСвойствПоиска = СоответствиеПоиска.Получить(НомерВариантаПоиска);
КонецЕсли;


Что я делаю не так? Почему номенклатура в единицах измерения не ищется без галочки "Не запоминать выгруженные объекты"?
DevТиповая свертка и расчет итогов#1 08.08.22 17:04
Добрый день.
Допиливаю типовую свертку базы из БП под свои нужды. Заметил странную для себя вещь.
После создания документов корректировки регистров(с неактивными движениями) происходит удаление старых записей и пометка на удаление старых документов.
Почему при удалении регистров накопления действия в таком порядке и верно ли это с точки зрения оптимального кода?
1. Выключить итоги
2. Удалить записи
3. Включить итоги
4. Установить активность движений корректировки регистров.

Логически кажется что нужно поменять 3 и 4 пункт местами чтоб не пересчитывать итоги 2 раза.
DevПоломанная транзакция при проведении#26 01.06.22 17:26
(25) Спасибо. Все встало на свои места.
DevПоломанная транзакция при проведении#23 01.06.22 16:39
(22)
Так это то что было изначально, кроме проверки на активную транзакцию, которая всегда возвращает истина в любом состоянии в текущей ситуации.
Не работает так. Если ошибка при проведении документа(остатков не хватило, например) - транзакция ломается. Тоже самое, если ВызватьИсключение в процедуре.
DevПоломанная транзакция при проведении#21 01.06.22 15:45
(20)
Не доходит так до строки "Если ТранзакцияАктивна() Тогда",
Если ошибка при записи документа, то дальше код не выполняется.
Если СоздатьДокумент1 возвращает ложь и я отменяю транзакцию, то основная транзакция также становится поломанной. И после этого ЗафиксироватьТранзакцию() не отрабатывает с ошибкой "Транзакция не активна", хотя перед ней ТранзакцияАктивна() = истина
DevПоломанная транзакция при проведении#19 01.06.22 15:09
(14) У меня всегда транзакция активна, так как обработка проведения происходит в транзакции. В общем, я хотел упрощенно описать схему чтоб было понятней, но упустил некоторые важные нюансы, из-за которых не понятно зачем вообще все делалось.
Если коротко, те которые проводят документы могут не знать, где остатки. Да, у нас программисты уже не смеются.

Код
Процедура СоздатьДокументыПеред()

НачатьТранзакцию();
Для каждого Организация из списокОрганизаций цикл
Попытка
СоздатьДокумент1(Организация);
СоздатьДокумент2(Организация);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
КонецПопытки; 
КонецЦикла;
КонецПроцедуры


В общем начал экспериментировать с проверкой остатков дополнительной перед проведением. Хотяб немного приблизился к тому что мне надо.

Не пойму почему при ОтменитьТранзакцию() во вложенной транзакции портит все транзакции. Видимо, все таки, прийдется выносить все на отдельную кнопку и там уже делать все что мне нужно