действие над повторами значений перед печатью
Пуб.2.8(7.70.301),платф-7.70.025
Подскажите пожалуйста возможно ли это через 1с описать(в документе заявка):
стоит такая задача- при выводе наименований в таблицу перед печатью нужно чтобы добавлялась пустая строка после повторяющихся наименований
пример
Наименование
с-91818-кш костюм д/мальч. 98,104-52
с-91818-кш костюм д/мальч. 98,104-56
с-91818-кш костюм д/мальч. 98,104-60
пустая строка
с-9504-ф брюки д/мальч. 98-52
с-9504-ф брюки д/мальч. 98-56
пустая строка
и.т.д.
видимо это должна быть выборка по первым 8 символам или это реально только если при выводе в эксел а там подцеплять макросом через надстройку автозапуском на имя открываемого файла типа через OnOpenAddIn_1.xla .
Заранее благодарен за ответ.
Подскажите пожалуйста возможно ли это через 1с описать(в документе заявка):
стоит такая задача- при выводе наименований в таблицу перед печатью нужно чтобы добавлялась пустая строка после повторяющихся наименований
пример
Наименование
с-91818-кш костюм д/мальч. 98,104-52
с-91818-кш костюм д/мальч. 98,104-56
с-91818-кш костюм д/мальч. 98,104-60
пустая строка
с-9504-ф брюки д/мальч. 98-52
с-9504-ф брюки д/мальч. 98-56
пустая строка
и.т.д.
видимо это должна быть выборка по первым 8 символам или это реально только если при выводе в эксел а там подцеплять макросом через надстройку автозапуском на имя открываемого файла типа через OnOpenAddIn_1.xla .
Заранее благодарен за ответ.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А зачем эксел, чем штатные средства не устраивают я бы примерно сделал так
Код |
---|
ПредТовар = "";
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Если лев(НаименованиеТовара,8)<>предТовар Тогда
Если ПредТовар <> "" Тогда
Таб.ВывестиСекцию("Строка_пустая");
предТовар=Лев(НаименованиеТовара, 8);
продолжить;
КонецЕсли;
КонецЕсли;
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8);
КонецЦикла;
Показать полностью |
ура заработало
ПредТовар = "";
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Таб.ВывестиСекцию("Строка");
Если лев(НаименованиеТовара,8)<>предТовар Тогда
Если ПредТовар <> "" Тогда
Таб.ВывестиСекцию("Строка_пустая");
предТовар=Лев(НаименованиеТовара, 8);
продолжить;
КонецЕсли;
КонецЕсли;
предТовар=Лев(НаименованиеТовара, 8);
КонецЦикла;
ПредТовар = "";
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Таб.ВывестиСекцию("Строка");
Если лев(НаименованиеТовара,8)<>предТовар Тогда
Если ПредТовар <> "" Тогда
Таб.ВывестиСекцию("Строка_пустая");
предТовар=Лев(НаименованиеТовара, 8);
продолжить;
КонецЕсли;
КонецЕсли;
предТовар=Лев(НаименованиеТовара, 8);
КонецЦикла;
нет я погоричился
работает так более правильно ,но съедает строчку
ПредТовар = "";
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Если лев(НаименованиеТовара,8)<>предТовар Тогда
Если ПредТовар <> "" Тогда
Таб.ВывестиСекцию("Строка_пустая");
предТовар=Лев(НаименованиеТовара, 8);
продолжить;
КонецЕсли;
КонецЕсли;
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8);
КонецЦикла;
работает так более правильно ,но съедает строчку
ПредТовар = "";
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Если лев(НаименованиеТовара,8)<>предТовар Тогда
Если ПредТовар <> "" Тогда
Таб.ВывестиСекцию("Строка_пустая");
предТовар=Лев(НаименованиеТовара, 8);
продолжить;
КонецЕсли;
КонецЕсли;
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8);
КонецЦикла;
а вот так нормально
ПредТовар = ""; /////алекс
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Если лев(НаименованиеТовара,8)<>предТовар Тогда /////алекс
Если ПредТовар <> "" Тогда /////алекс
Таб.ВывестиСекцию("Строка_пустая"); /////алекс
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8);/////алекс
продолжить; /////алекс
КонецЕсли; /////алекс
КонецЕсли; /////алекс
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8); /////алекс
ПредТовар = ""; /////алекс
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НаименованиеТовара = глПолноеНаименование(Товар);
Если лев(НаименованиеТовара,8)<>предТовар Тогда /////алекс
Если ПредТовар <> "" Тогда /////алекс
Таб.ВывестиСекцию("Строка_пустая"); /////алекс
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8);/////алекс
продолжить; /////алекс
КонецЕсли; /////алекс
КонецЕсли; /////алекс
Таб.ВывестиСекцию("Строка");
предТовар=Лев(НаименованиеТовара, 8); /////алекс
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот