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

Неужели всё было так просто?))))
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан