Представление в запросе табличной части документа одним строковым полем

09.09.19

Разработка - Запросы

Поставили задачу: "Получить в одно поле, всю таблицу товаров документа "Реализации товаров и услуг" через запятую". Поля таблицы товаров интересны заказчику были только наименование, количество и единица измерения. Конечно данный вариант проще сделать в обработке результата или в выражениях СКД, но моё мнение, что в запросе результат будет получен быстрее. Механизм не универсальный, в данном примере рассматривается таблица максимум с 20-ью строками и количество с типом Число (8,3). Комплексная Автоматизация 1.1

Добрый день.

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

Первая трудность - Нельзя в запросе преобразовать Число в Строку

В запросе 1С, нельзя сложить в одну строку значения типа Строка и Число, точнее нет возможности преобразовать Число в Строку. Благодаря данному сайту нашел отличное относительно универсальное решение - //infostart.ru/public/331805/ , единственное, что я добавил это убрал нули, т.е. приведенный запрос из 0,5 типа Числа(8,3) вернул бы строку 00000000,500.

Вторая трудность - Строки в столбцы

Трудность была относительной, опять же прочитав где-то в комментариях форума выше упомянутого автора ildarovich про необходимость использовать номер строки, решение пришло само собой. Но решение получилось так же не совсем универсальным. Если с числом ещё понятно, что оно определяется в конфигураторе, то ограничение на количество строк определить не возможно, товаров ведь может быть вбито хоть +100500... проверил, за шесть лет работы компании, максимальное количество строк в таблице товаров было 22 один раз, другие разы не превышало16 и крайне редко... Пришел к мнению, что пока сделаю на 20 строк.

Второй вариант запроса:

(Данный вариант был скорректирован и осмыслен после написания статьи, оптимизация, спасибо всем за советы :))

ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура,
    ПОДСТРОКА("0123456789", РеализацияТоваровУслугТовары.Количество / 100000 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.0006)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.006)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.06)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.6)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6)) / 6 + 1, 1) 
    + "," 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 60)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 600)) / 6 + 1, 1) 
    + ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6000)) / 6 + 1, 1) КАК КоличествоСтрокой,
    РеализацияТоваровУслугТовары.Количество,
    РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
    РеализацияТоваровУслугТовары.НомерСтроки
ПОМЕСТИТЬ ЧислоВСтроку
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ЧислоВСтроку.Ссылка,
    ЧислоВСтроку.Номенклатура.Наименование + " " + ВЫБОР
        КОГДА ЧислоВСтроку.КоличествоСтрокой = "000000,000"
            ТОГДА ""
        ИНАЧЕ ВЫБОР
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6) = "000000"
                    ТОГДА "0"
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 5) = "00000"
                    ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 6, 1)
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 4) = "0000"
                    ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 5, 2)
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 3) = "000"
                    ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 4, 3)
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 2) = "00"
                    ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 3, 4)
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 1) = "0"
                    ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 2, 5)
                ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6)
            КОНЕЦ + ВЫБОР
                КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3) = "000"
                    ТОГДА ""
                ИНАЧЕ "," + ВЫБОР
                        КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 9, 2) = "00"
                            ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 1)
                        КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 10, 1) = "0"
                            ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 2)
                        ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3)
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ + " " + ЧислоВСтроку.ЕдиницаИзмерения.Наименование КАК НоменклатураКоличествоЕдиница,
    ЧислоВСтроку.Номенклатура,
    ЧислоВСтроку.Количество,
    ЧислоВСтроку.ЕдиницаИзмерения,
    ЧислоВСтроку.НомерСтроки
ПОМЕСТИТЬ НКЕ
ИЗ
    ЧислоВСтроку КАК ЧислоВСтроку
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    НКЕ.Ссылка,
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 1 ТОГДА НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 2 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 3 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 4 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 5 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 6 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 7 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 8 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 9 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 10 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 11 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 12 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 13 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 14 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 15 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 16 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 17 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 18 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 19 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 20 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 21 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 22 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 23 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 24 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
    МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 25 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(".") КАК ТаблицаТоварыВСтроку
ИЗ
    НКЕ КАК НКЕ

СГРУППИРОВАТЬ ПО
    НКЕ.Ссылка

 

Первый вариант запроса:

Магия жести

 

запросы табличная часть таблица

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    131971    721    390    

763

Как посмотреть итоговый запрос в отчете СКД

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

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

15.05.2024    3917    implecs_team    6    

38

Пропорциональное распределение в запросе с использованием АвтоНомерЗаписи()

Запросы Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    2687    andrey_sag    10    

32

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Программист Стажер Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    6386    KawaNoNeko    23    

26

Набор-объект для СКД по тексту или запросу

Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2350    2    Yashazz    0    

32

Запрос 1С copilot

Инструментарий разработчика Запросы Программист Стажер Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

15.01.2024    7332    51    mkalimulin    32    

54

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Одной из интересных задач, стоящих в процессе разработки, была поддержка механизма представлений в ЗУП. Но не просто возможность исполнения запросов с ними. Основная проблема была в том, чтобы с ними было удобно работать, а именно: создавать, модифицировать и отлаживать. Кратко о том, что в итоге получилось...

14.12.2023    2079    vandalsvq    7    

29

Консоль запросов УФ 8.3.2.24.12 (мод от Dr.Zombi)

Инструментарий разработчика Запросы Программист Платформа 1С v8.3 Управляемые формы Запросы Россия Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц. Главное скорость отладки запроса и данных, а красота вторична.

1 стартмани

07.12.2023    3552    52    DrZombi    54    

21
Отзывы
1. ixijixi 1813 09.06.17 11:03 Сейчас в теме
Что-то правда реальная жесть... Не проще вот так было?
МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 1 ТОГДА ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 2 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 3 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 4 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) КАК Номенклатура
user1316759; tolyan_ekb; AleksKol; shalimski; psih12; rpgshnik; +6 Ответить
2. Dream_kz 129 09.06.17 11:09 Сейчас в теме
ВычислитьВыражениеСГруппировкойМассив() - проще и быстрее.
Interrupted; echo77; +2 Ответить
17. rpgshnik 3709 15.06.17 10:49 Сейчас в теме
(1) Сегодня выдалась минутка и решил оптимизировать)))
Вам конечно отдельное спасибо, не знал о такой возможности использовать "Максимум".

Запрос вышел более лаконичный, так же некоторые другие моменты сократил:

ВЫБРАТЬ
	РеализацияТоваровУслугТовары.Ссылка,
	РеализацияТоваровУслугТовары.Номенклатура,
	ПОДСТРОКА("0123456789", РеализацияТоваровУслугТовары.Количество / 100000 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.0006)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.006)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.06)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.6)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6)) / 6 + 1, 1) 
	+ "," 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 60)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 600)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6000)) / 6 + 1, 1) КАК КоличествоСтрокой,
	РеализацияТоваровУслугТовары.Количество,
	РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
	РеализацияТоваровУслугТовары.НомерСтроки
ПОМЕСТИТЬ ЧислоВСтроку
ИЗ
	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
	РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
	И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЧислоВСтроку.Ссылка,
	ЧислоВСтроку.Номенклатура.Наименование + " " + ВЫБОР
		КОГДА ЧислоВСтроку.КоличествоСтрокой = "000000,000"
			ТОГДА ""
		ИНАЧЕ ВЫБОР
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6) = "000000"
					ТОГДА "0"
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 5) = "00000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 6, 1)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 4) = "0000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 5, 2)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 3) = "000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 4, 3)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 2) = "00"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 3, 4)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 1) = "0"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 2, 5)
				ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6)
			КОНЕЦ + ВЫБОР
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3) = "000"
					ТОГДА ""
				ИНАЧЕ "," + ВЫБОР
						КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 9, 2) = "00"
							ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 1)
						КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 10, 1) = "0"
							ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 2)
						ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3)
					КОНЕЦ
			КОНЕЦ
	КОНЕЦ + " " + ЧислоВСтроку.ЕдиницаИзмерения.Наименование КАК НоменклатураКоличествоЕдиница,
	ЧислоВСтроку.Номенклатура,
	ЧислоВСтроку.Количество,
	ЧислоВСтроку.ЕдиницаИзмерения,
	ЧислоВСтроку.НомерСтроки
ПОМЕСТИТЬ НКЕ
ИЗ
	ЧислоВСтроку КАК ЧислоВСтроку
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НКЕ.Ссылка,
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 1 ТОГДА НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 2 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 3 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 4 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 5 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 6 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 7 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 8 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 9 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 10 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 11 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 12 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 13 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 14 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 15 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 16 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 17 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 18 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 19 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 20 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 21 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 22 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 23 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 24 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 25 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(".") КАК ТаблицаТоварыВСтроку
ИЗ
	НКЕ КАК НКЕ

СГРУППИРОВАТЬ ПО
	НКЕ.Ссылка
Показать
Bukaska; ixijixi; +2 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 1813 09.06.17 11:03 Сейчас в теме
Что-то правда реальная жесть... Не проще вот так было?
МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 1 ТОГДА ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 2 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 3 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР ТЧ.НомерСтроки КОГДА 4 ТОГДА "; " + ТЧ.Номенклатура ИНАЧЕ "" КОНЕЦ) КАК Номенклатура
user1316759; tolyan_ekb; AleksKol; shalimski; psih12; rpgshnik; +6 Ответить
3. rpgshnik 3709 09.06.17 11:22 Сейчас в теме
17. rpgshnik 3709 15.06.17 10:49 Сейчас в теме
(1) Сегодня выдалась минутка и решил оптимизировать)))
Вам конечно отдельное спасибо, не знал о такой возможности использовать "Максимум".

Запрос вышел более лаконичный, так же некоторые другие моменты сократил:

ВЫБРАТЬ
	РеализацияТоваровУслугТовары.Ссылка,
	РеализацияТоваровУслугТовары.Номенклатура,
	ПОДСТРОКА("0123456789", РеализацияТоваровУслугТовары.Количество / 100000 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.0006)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.006)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.06)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 0.6)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6)) / 6 + 1, 1) 
	+ "," 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 60)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 600)) / 6 + 1, 1) 
	+ ПОДСТРОКА("0123456789", СЕКУНДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), СЕКУНДА, РеализацияТоваровУслугТовары.Количество * 6000)) / 6 + 1, 1) КАК КоличествоСтрокой,
	РеализацияТоваровУслугТовары.Количество,
	РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
	РеализацияТоваровУслугТовары.НомерСтроки
ПОМЕСТИТЬ ЧислоВСтроку
ИЗ
	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
	РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
	И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЧислоВСтроку.Ссылка,
	ЧислоВСтроку.Номенклатура.Наименование + " " + ВЫБОР
		КОГДА ЧислоВСтроку.КоличествоСтрокой = "000000,000"
			ТОГДА ""
		ИНАЧЕ ВЫБОР
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6) = "000000"
					ТОГДА "0"
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 5) = "00000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 6, 1)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 4) = "0000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 5, 2)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 3) = "000"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 4, 3)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 2) = "00"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 3, 4)
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 1) = "0"
					ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 2, 5)
				ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 1, 6)
			КОНЕЦ + ВЫБОР
				КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3) = "000"
					ТОГДА ""
				ИНАЧЕ "," + ВЫБОР
						КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 9, 2) = "00"
							ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 1)
						КОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 10, 1) = "0"
							ТОГДА ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 2)
						ИНАЧЕ ПОДСТРОКА(ЧислоВСтроку.КоличествоСтрокой, 8, 3)
					КОНЕЦ
			КОНЕЦ
	КОНЕЦ + " " + ЧислоВСтроку.ЕдиницаИзмерения.Наименование КАК НоменклатураКоличествоЕдиница,
	ЧислоВСтроку.Номенклатура,
	ЧислоВСтроку.Количество,
	ЧислоВСтроку.ЕдиницаИзмерения,
	ЧислоВСтроку.НомерСтроки
ПОМЕСТИТЬ НКЕ
ИЗ
	ЧислоВСтроку КАК ЧислоВСтроку
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НКЕ.Ссылка,
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 1 ТОГДА НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 2 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 3 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 4 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 5 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 6 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 7 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 8 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 9 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 10 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 11 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 12 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 13 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 14 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 15 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 16 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 17 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 18 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 19 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 20 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 21 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 22 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 23 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 24 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) + 
	МАКСИМУМ(ВЫБОР НКЕ.НомерСтроки КОГДА 25 ТОГДА "; " + НКЕ.НоменклатураКоличествоЕдиница ИНАЧЕ "" КОНЕЦ) +
    МАКСИМУМ(".") КАК ТаблицаТоварыВСтроку
ИЗ
	НКЕ КАК НКЕ

СГРУППИРОВАТЬ ПО
	НКЕ.Ссылка
Показать
Bukaska; ixijixi; +2 Ответить
18. kasper076 106 15.06.17 11:53 Сейчас в теме
(1) При разрядности числа 10 знаков, 3 после запятой
ПОДСТРОКА(Ц, СЕКУНДА(ДОБАВИТЬКДАТЕ(О, СЕКУНДА, &Число * 6000)) / 6 + 1, 1)
выдает пустую строку.
Из-за того, что получается слишком большое число &Число * 6000.
19. rpgshnik 3709 19.06.17 12:23 Сейчас в теме
(18) вы правы, по всей видимости потолок для числа (7,3) из-за предела дат в 1С... до 3999 года
В данному случае это выходит крайне заоблачное количество и моим задачам вполне хватает
20. kasper076 106 19.06.17 14:37 Сейчас в теме
(19) Тут объяснили, как решит проблему.
rpgshnik; +1 Ответить
22. rpgshnik 3709 20.06.17 03:53 Сейчас в теме
2. Dream_kz 129 09.06.17 11:09 Сейчас в теме
ВычислитьВыражениеСГруппировкойМассив() - проще и быстрее.
Interrupted; echo77; +2 Ответить
4. ixijixi 1813 09.06.17 12:01 Сейчас в теме
(2) Ну так ведь автор оговорился, что хочет решить задачу чистым запросом.
rpgshnik; +1 Ответить
5. Dream_kz 129 09.06.17 12:06 Сейчас в теме
(4) Мотивируясь, что будет быстрее

что в запросе результат будет получен быстрее
6. alex-l19041 8 09.06.17 12:20 Сейчас в теме
(5) такой (!) запрос... будет ли быстрее ?
8. Dream_kz 129 09.06.17 12:22 Сейчас в теме
(6) Это мнение автора, не моё)
7. Serj1C 483 09.06.17 12:20 Сейчас в теме
Для 20 строк разница во времени не будет заметна. А для 1000, этот алгоритм уже не отработает.
Многие бы поспорили с вашим мнением, что запросом будет быстрее. А сколько времени вы отлаживали этот запрос? Это время гораздо дороже стоит...
10. rpgshnik 3709 09.06.17 16:56 Сейчас в теме
(7) я больше времени искал как число сделать в строку. Отладка была равна скорости набора текста.

Выражениями в скд делал, здесь больше вопрос и интерес стоял к реализации в запросе разом, давно думал про такое. Некая попытка лжецикла...
11. Serj1C 483 11.06.17 10:00 Сейчас в теме
(10) вместо одного цикла на уровне приложения 1С вы породили 20+ циклов на уровне СУБД...
dj_serega; корум; kiruha; wolfsoft; dnikolaev; +5 Ответить
12. kiruha 388 14.06.17 16:27 Сейчас в теме
Бедный майкрософт . Пишут
-- Syntax for SQL Server and Azure SQL Database

WHILE Boolean_expression
{ sql_statement | statement_block | BREAK | CONTINUE }

видать не знают что правильные программисты пишут все в запросе
rpgshnik; +1 Ответить
13. v3rter 14.06.17 17:47 Сейчас в теме
Высокое искусство, однако. Эстетично, непрактично, но звездану за искусство )
rpgshnik; +1 Ответить
14. lvictor58 135 14.06.17 21:38 Сейчас в теме
Или я в написании запросов полный профан, или автор что-то курнул, чтобы сотворить подобное...
dj_serega; rpgshnik; DrAku1a; +3 Ответить
15. DrAku1a 1725 15.06.17 02:59 Сейчас в теме
(14) Однозначно курнул. Но всё-же звездану ему.
dj_serega; rpgshnik; +2 Ответить
16. mort64ram 24 15.06.17 06:17 Сейчас в теме
Плюс за картинку публикации, проорал
rpgshnik; +1 Ответить
21. пользователь 19.06.17 16:10
Сообщение было скрыто модератором.
...
23. пользователь 21.06.17 10:03
Сообщение было скрыто модератором.
...
24. user753110 21.06.17 12:40 Сейчас в теме
Здравствуйте! Очень рад что откликнулись на мой вопрос. Спасибо за вашу помощь очень вам благодарен
25. vano-ekt 124 04.08.17 13:43 Сейчас в теме
плюс за Сашу :-D
за жесть - воздержусь
dj_serega; rpgshnik; +2 Ответить
29. dj_serega 392 09.10.17 15:24 Сейчас в теме
26. German_Tagil 43 10.09.17 20:48 Сейчас в теме
27. Светлый ум 406 08.10.17 11:44 Сейчас в теме
Оформление статьи достойно звезды
rpgshnik; +1 Ответить
28. rpgshnik 3709 08.10.17 11:45 Сейчас в теме
30. nvv1970 22.10.17 12:15 Сейчас в теме
Инфостарт изобилует большим количеством решений, где алгоритм ради алгортима. Есть масса коротких и простых решений, но вот на радость публике решение с помощью серпа и молота... потому что это возможно. Ну да так тоже можно. Но зачем???? ДАЖЕ если вы выиграете какие-то наносекунды, то баланс между производительностью и сложностью (или даже возможностью) модификации/сопровождения кода не соблюден. При первой же возможности все будет закомменчено.
Почему было не решить эту задачу с помощью СКД? Можно и в строку преобразовать и в массив загнать. Все крайне просто и элегантно. И кода, кроме программного выполнения самого СКД, считай нет. Все в схеме с минимумом настроек.
Автор в заголовке пишет, что то же это понимает, но к чему такие публикации, какая польза? Нужен отдельный раздел "смотрите как я умею".
Tyler Durden; IVC_goal; +2 Ответить
31. rpgshnik 3709 23.10.17 09:11 Сейчас в теме
32. DenisCh 23.10.17 09:22 Сейчас в теме
Я бы сделал ещё проще.... Строку в документ и при записи туда формировать строку в нужном виде ))))
ILNIK; Vova_Di; +2 Ответить
Оставьте свое сообщение