Имя: Пароль:
1C
1C 7.7
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
Слава Свету! Получилось!!!!))))))))))))))
Спасибо огормное всем тем, кто помог,
особенно Ёпрст )))))))

Неужели всё было так просто?))))
Независимо от того, куда вы едете — это в гору и против ветра!