Вопрос № 119496: Доброго времени. Существует документ: РеализацияГСМ, к нему печатная форма, в которой отображаются в каждой строке клиенты, приобретающие гсм в течении дня, клиенты разные, а номенклатура повторяется, как можно свернуть для новой, созданной печатной ...Вопрос № 119507: Здравствуйте уважаемые эксперты!
При сканировании штрихкода в терминальном режиме штрихкод через раз разбивается на несколько строк. Как это можно поправить?...Вопрос № 119514: Здравствуйте уважаемые эксперты. У меня есть возник такой вопрос, как в таблице значений найти значение в определенном столбце, и при том мне надо найти все одинаковые значения. Одно значение я ищу так:
пстр=0;
ТН.НайтиЗначение(СокрЛП(Нак...
Вопрос № 119.496
Доброго времени. Существует документ: РеализацияГСМ, к нему печатная форма, в которой отображаются в каждой строке клиенты, приобретающие гсм в течении дня, клиенты разные, а номенклатура повторяется, как можно свернуть для новой, созданной печатной формы данные по повторяющейся номенклатуре, для определения количества и суммы по однотипной номенклатуре? Или в подвале той же печатной формы примерно так: Продано столько то АИ-80 на сумму ххх, столько то АИ-92 на сумму хххх и т.п.
Отправлен: 21.01.2008, 05:25
Вопрос задал: Provnick (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Яна
Здравствуйте, Provnick!
У ТаблицыЗначений есть метод Свернуть(), почитайте о нем в синтакс-помощнике. Вообще, неплохо было бы указать версию 1С. В 8.*, если документ записан, можно выбрать его из таблицы запросом и свернуть запросом, а потом просто вывести все строки полученной таким образом выборки.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 21.01.2008, 08:00 Оценка за ответ: 5 Комментарий оценки: Да, нужно было версию то указать (V7.7бух), приношу извинения, поторопился, то, что про запрос это видимо к 8ке?
Вопрос № 119.507
Здравствуйте уважаемые эксперты!
При сканировании штрихкода в терминальном режиме штрихкод через раз разбивается на несколько строк. Как это можно поправить?
Отправлен: 21.01.2008, 08:44
Вопрос задал: Witaliy (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Сергей Максименко [Elric]
Здравствуйте, Witaliy!
Просто при получения штрихкода удаляйте из него все разделители строк. Например так:
РазделительСтрок - это системная константа.
Возможно, вместо разделитея строк нужен другой символ - тогда подставьте в функцию его вместо пустой строки.
--------- В творчестве рождается истина
Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал) Украина, Киев Тел.: (044) 22-88-369 Организация: МАКСЕР, "1С:Предприятие" в Киеве Адрес: г. Киев WWW:www.makser.com.ua ---- Ответ отправлен: 21.01.2008, 11:01 Оценка за ответ: 4
Вопрос № 119.514
Здравствуйте уважаемые эксперты. У меня есть возник такой вопрос, как в таблице значений найти значение в определенном столбце, и при том мне надо найти все одинаковые значения. Одно значение я ищу так:
пстр=0;
ТН.НайтиЗначение(СокрЛП(Накроз.НомерДок),пстр,2);
ТН.ПолучитьСтрокуПоНомеру(пстр);
А как найти несколько? (нехочу крутить цикл, или другого варианта нет?), например такого как "ВыбратьЭлементыПоРеквизиту". Зарание благодарен.
Отправлен: 21.01.2008, 09:26
Вопрос задал: Andris (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Maximush
Здравствуйте, Andris!
В 7.7 другого варианта нет - только перебор таблицы. Однако его можно ускорить, предварительно отсортировав таблицу по данной колонке. Я бы сделал так:
//-------------------------------------
ТН.Сортировать("2"); //отсортировали по колонке №2
пстр=0;
ТН.НайтиЗначение(СокрЛП(Накроз.НомерДок),пстр,2); //нашли первую строку с нужным значением, номер строки в пстр
Пока (ТН.ПолучитьЗначение(пстр,2)=СокрЛП(Накроз.НомерДок)) //пока значение не изменилось ...
и (пстр<=ТН.КоличествоСтрок()) //и не кончились строчки
цикл
Сообщить(ТН.ПолучитьЗначение(пстр,1)); //что-то делаем в строке
пстр=пстр+1; //и переходим на следующую
КонецЦикла;
//--------------
disclaimer: в зависимости от состава и размера таблицы значений этот алгоритм может работать медленнее чем простой перебор.
Ответ отправил: Maximush (статус: 1-ый класс)
Ответ отправлен: 21.01.2008, 10:51 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ, зделал именно так, с помощю сортировки. Текст пришлось подправить, потомучто условия я полностью не высветил.
Отвечает: Сергей Максименко [Elric]
Здравствуйте, Andris!
Чтобы найти значение в конкретном столбце, нужно указать его в методе НайтиЗначение(), что Вы собственно и делаете. Отобрать строки с одинаковыми значениями нельзя. Можно только отсортировать их по этой колонке, найти первый и потом в цикле пройтись по остальным строкам. Например, так как у меня в Приложении.
Приложение:
--------- В творчестве рождается истина
Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал) Украина, Киев Тел.: (044) 22-88-369 Организация: МАКСЕР, "1С:Предприятие" в Киеве Адрес: г. Киев WWW:www.makser.com.ua ---- Ответ отправлен: 21.01.2008, 10:55 Оценка за ответ: 5 Комментарий оценки: спасибо за ответ, очен грамотный и хороший, понятные коментарии, и главное все получилось
Отвечает: Гудков Сергей Евгеньевич
Здравствуйте, Andris!
Если можно использовать сортировку, то сначала отсортируй по по этому столбцу. ТН.Сортировать("+ИмяКолонки"). Потом смотри приложение
Приложение:
Ответ отправил: Гудков Сергей Евгеньевич (статус: 1-ый класс)
Ответ отправлен: 21.01.2008, 10:58 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ, зделал именно так, с помощю сортировки. Текст пришлось подправить, потомучто условия я полностью не высветил.