![]() |
![]() |
|
v7: Сортировка на этапе проведения документа? | ☑ | ||
---|---|---|---|---|
0
NeoGelios
16.06.13
✎
19:57
|
Здравствуйте.
Я новичок, пытаюсь изучать 1С самостоятельно. Пока лишь организовал сервер на сеть в 6 компов (практически почти методом тыка, но работает как часики)) ). Данные: 1С-7.7, Торговля+Склад, редакция 9.2 База заимствованная у сторонней компании и адаптированная несколькими программистами под данную компанию. Меня интересует вопрос, можно ли сделать так, чтобы при проведении документа список номенклатуры пересортировывался автоматически? Либо на каком этапе / в каком модуле это разрешено добавлять. И вообще, возможно ли это? Вопрос в виду того, что менеджеры при формировании заявок не сортируют список номенклатуры заявки, что создаёт крайнее неудобство при сборке заявки на складе |
|||
1
Aleksey
16.06.13
✎
19:58
|
Делай приЗаписи
|
|||
2
Джордж1
16.06.13
✎
19:58
|
лучше сортируйте при выводе печатной формы и только в самой печатной форме
|
|||
3
Aleksey
16.06.13
✎
19:58
|
а еще можно ничего не менять и сделать только сортировку в печатной форме
|
|||
4
КапЛей
16.06.13
✎
19:59
|
продам СП. Дорого.
Да, и кстати, нехорошо чужие базы заимствовать! Вполне возможно скоро станет твой дом - тюрьма! |
|||
5
Злопчинский
16.06.13
✎
22:00
|
(0) правильный ответ в (2).
не нужно путать хранение данных с их представлением для разных целец. . помогалка: http://infostart.ru/public/20280/ |
|||
6
Torquader
16.06.13
✎
22:54
|
На складе заявка должна быть отсортирована по местам хранения - смысла в сортировке по алфавиту не так уж и много, так как при сборе смотрят каждую строки и ищут, где это можно взять - чем тут помогает алфавит ?
|
|||
7
0xFFFFFF
17.06.13
✎
07:43
|
(0) скорее всего на складе стоит товар по группам, поэтому и печ. форму можно сделать макс удобной для этого - а именно выводить заголовки групп товаров в печ форме.
|
|||
8
NeoGelios
23.06.13
✎
14:39
|
Спасибо за советы, попробую что-нибудь предпринять))
(4) А то, что до базы, это дело рук не моих, а того, кто изначально адаптировал 1С под эту компанию. Я пришёл гораздо позже) К тому же в перспективе я планирую написать собственную базу, но уже на 8-ке ))) |
|||
9
Эльниньо
23.06.13
✎
17:14
|
"Я новичок, пытаюсь изучать 1С самостоятельно"
"перспективе я планирую написать собственную базу" Вот это я понимаю амбиции! |
|||
10
Злопчинский
23.06.13
✎
17:29
|
(9) Молодость!
|
|||
11
Эльниньо
23.06.13
✎
17:41
|
(10) Да не. Мне одна пожилая бухша сказала: "Придётся потратить недельку на изучение 1С и написать программу, которая правильно работает".
|
|||
12
Злопчинский
23.06.13
✎
17:45
|
(11) Маразм!
|
|||
13
ЧеловекДуши
24.06.13
✎
07:18
|
(0) >>> писок номенклатуры пересортировывался
Разрешаю, как предполагаешь сортировать справочник Номеклатура? :) И как ты понимаешь слово справочник? Подсказка тут: wiki:Справочник_(информатика) Дак, что ты именно хотел? :) |
|||
14
Mikeware
24.06.13
✎
09:53
|
(9) "плох тот чайник, который не мечтает стать самоваром"©
|
|||
15
Mikeware
24.06.13
✎
09:55
|
(6) а разве ТС упоминал про "алфавитную сортировку"?
|
|||
16
NeoGelios
01.07.13
✎
16:33
|
(13) Что такое справочник, я понимаю.
Моя цель именно конечная таблица с автоматической сортировкой до того, как она запишется и отправится на печать. (15) В том-то и вопрос изначально - возможно ли это. Сама кнопка сортировки на панельке есть. Щёлкаешь в список (таблицу) подборки, жамкаешь A-Z и всё окей: [URL=http://radikal.ru/fp/63271d9752d948d38e01ca93f6d09def][IMG]http://i036.radikal.ru/1307/5c/5e286dc321f7.jpg[/IMG][/URL] Только прописать в "настройках" менеджеров не удаётся, они забывают об этом как только я пропадаю из поля зрения %) Поэтому и интересуюсь, как можно сделать это программным способом. |
|||
17
NeoGelios
01.07.13
✎
16:33
|
||||
18
Mikeware
01.07.13
✎
17:44
|
(16) возможно все.
|
|||
19
Mikeware
01.07.13
✎
17:46
|
(16) а вот сортировка для справочников может быть очень и очень разной.
|
|||
20
NeoGelios
04.07.13
✎
15:52
|
(18) Верю))
(19) Мне нужно сортировать не сам справочник номенклатуры, а именно список наименований в конечной таблице заявки на склад перед печатью. Но куда эту функцию вставить я понятия не имею =_= |
|||
21
Mikeware
04.07.13
✎
16:19
|
(20)
1. "список наименований" может быть отсортированн, например, по алфавиту, по группам товаров, по количеству в отгрузке, по весу в отгрузке, по признаку "не класть на первый ярус", по производителю, по 100500 других параметров... 2.ну и куда пытался вставить? |
|||
22
oslokot
04.07.13
✎
16:29
|
(20) тебе же рассказали принцип в (2)
Наверное можно выгрузить табличную часть дока в ТЗ, затем ее отсортировать как нужно и вывести на печать. |
|||
23
NeoGelios
04.07.13
✎
17:46
|
(21) Сортировка по наименованию товара (алфавиту).
Куда вставлял, уже забыл, потому как удалил сразу, как не сработало =_= Толи перед печатью, толи куда-то ещё. Но видимо не в то место явно. Либо не те параметры. (22) Мне интересно: судя по рисунку (http://i036.radikal.ru/1307/5c/5e286dc321f7.jpg) функция относится к модулю таблицы и выполняет пересортировку по возрастанию или убыванию (смотря какую кнопку нажмёшь), но подозреваю, что это встроенная функция 1С, а не сам код, написанный 1С-ником, который адаптирует базу под фирму. |
|||
24
oslokot
04.07.13
✎
17:51
|
(23) Почему же? Сортируй себе на здоровье.
СортироватьСтроки(<?>); Синтаксис: СортироватьСтроки(<Колонки>) Назначение: Сортировать многострочную часть документа по реквизитам. Параметры: <Колонки> - перечисленные через запятую реквизиты многострочной части документа, по которым следует сортировать. Знаки +,- ,* , предшествующие названию реквизита, указывают направление сортировки по реквизиту. ''+'' - сортировать по возрастанию; ''- '' - сортировать по убыванию; ''*'' - сортировать по внутреннему значению. |
|||
25
NeoGelios
15.07.13
✎
13:54
|
Куда ни пытался вставить, выдаёт какую-нить ошибку.
Нашёл в модуле вроде процедуру вывода на печать, но не пойму в какое место ставить сортировку, чтобы сортировалась табличная часть по колонке наименования товара // Процедура Печать(СразуНаПринтер = 0,КолЭкз = 1) Перем НачПовт, КонПовт; ИсхТабл = СоздатьОбъект("Таблица"); НачПовт = 0; КонПовт = 0; // Секция ЗаголовокСчета ПечФирма = ""; Банк = ""; Счет = ""; БИК = ""; СчетБанка = ""; ПолучательИНН = ПолучитьИНН(Фирма.ЮрЛицо.ИНН); ПолучательКПП = ПолучитьКПП(Фирма.ЮрЛицо.ИНН); Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(БанковскийСчет, "БанковскийСчет"); Параметры.ДобавитьЗначение(1, "Режим"); глРеквизитыПлательщикаПолучателя(Параметры); ПечФирма = Параметры.Получить("Результат"); Банк = Параметры.Получить("СтрокаБанка"); Счет = Параметры.Получить("РасчетныйСчет"); БИК = Параметры.Получить("БИК"); СчетБанка = Параметры.Получить("КоррСчет"); ИсхТабл.ВывестиСекцию("ЗаголовокСчета"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("ЗаголовокСчета"); // секция Заголовок ИсхТабл.ВывестиСекцию("Заголовок"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Заголовок"); // Секция Поставщик Поставщик = "ИНН " + ПолучитьИНН(Фирма.ЮрЛицо.ИНН) + " " + "КПП " + ПолучитьКПП(Фирма.ЮрЛицо.ИНН) + " " + СокрЛП(Фирма.ЮрЛицо.ПолнНаименование) + " " + глПредставлениеАдреса(Фирма.ЮрЛицо.ЮрАдрес); Если ПустоеЗначение(Фирма.ЮрЛицо.Телефоны) = 0 Тогда Поставщик = Поставщик + ", тел. " + Фирма.ЮрЛицо.Телефоны; КонецЕсли; ИсхТабл.ВывестиСекцию("Поставщик"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Поставщик"); // Секция Покупатель Покупатель = ""; Если ПустоеЗначение(Контрагент) = 0 Тогда Если Контрагент.ЮрФизЛицо.Выбран() = 1 Тогда Покупатель = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование) + " " + "[" + глПредставлениеАдреса(Контрагент.ЮрФизЛицо.ЮрАдрес); Если ПустоеЗначение(Контрагент.ЮрФизЛицо.ИНН) = 0 Тогда Покупатель = " " + Покупатель; КонецЕсли; Если ПустоеЗначение(Контрагент.ЮрФизЛицо.Телефоны) = 0 Тогда Покупатель = Покупатель + ". Тел. " + Контрагент.ЮрФизЛицо.Телефоны + "]"; КонецЕсли; КонецЕсли; КонецЕсли; ИсхТабл.ВывестиСекцию("Покупатель"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Покупатель"); СекцСкидка = ?(ПустоеЗначение(Скидка) = 0, "Скидка", ""); // Секция Шапка таблицы ИсхТабл.ВывестиСекцию("ШапкаТаблицы" + СекцСкидка); КонПовт = НачПовт + ИсхТабл.ВысотаСекции("ШапкаТаблицы" + СекцСкидка); ИсхТабл.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт); // выводим табличную часть НомСтроки = 0; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка" + СекцСкидка); СортироватьСтроки(<"Строка"+>); КонецЦикла; СуммаИтог = Итог("Сумма"); // секция Итого ИсхТабл.ВывестиСекцию("Итого"); // секция ИтогоНДС Если УчитыватьНДС = 1 Тогда СуммаНДСИтог = Итог("СуммаНДС"); Если СуммаВклНДС = 0 Тогда СуммаИтог = СуммаИтог + СуммаНДСИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНДС"); КонецЕсли; // секция ИтогоНП Если УчитыватьНП = 1 Тогда СуммаНПИтог = Итог("СуммаНП"); Если СуммаВклНП = 0 Тогда СуммаИтог = СуммаИтог + СуммаНПИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНП"); КонецЕсли; // секция СуммаПрописью ИсхТабл.ВывестиСекцию("СуммаПрописью"); // секция Подписи ИсхТабл.ВывестиСекцию("Подписи"); Если СразуНаПринтер = 0 Тогда ИсхТабл.Опции(0,0,0,0,ПарСтрДок,ПарСтрДок); Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда ИсхТабл.Защита(1); Иначе ИсхТабл.Защита(0); КонецЕсли; ИсхТабл.ТолькоПросмотр(1); ИсхТабл.Показать(глНазваниеДокументаВжурнале(Контекст),""); Иначе ИсхТабл.ПараметрыСтраницы(,,,,,,,,,1,,); ИсхТабл.КоличествоЭкземпляров(КолЭкз); ИсхТабл.Напечатать(0); КонецЕсли; КонецПроцедуры // Печать() // Ссылка на картинку формы таблицы: http://skyedge.clan.su/photo/3-0-2 |
|||
26
Ёпрст
гуру
15.07.13
✎
13:59
|
(25) перед ВыбратьСтроки(); воткни СортироватьСтроки("Номенклатура");
наслаждайся |
|||
27
NeoGelios
15.07.13
✎
14:06
|
Слава Свету! Получилось!!!!))))))))))))))
Спасибо огормное всем тем, кто помог, особенно Ёпрст ))))))) Неужели всё было так просто?)))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |