Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сортировка при выводе на печать          
bereznoy Подменю пользователя
сообщение 16.01.13, 22:24
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Сделал обработку - каталог картинок с ценами по остаткам товаров, запрос по регистрам цен номенклатуры и остатков, когда формирую по группе в которой есть подгруппы и т.д., необходимо что формировалось все согласно номенклатуры, пробовал сортировку разными способами в запросе конструктором, вообще не получается у меня сортировать весь товар так как он находиться в номенклатуре, вот запрос, если надо , могу и саму обработку выложить
ПостроительОтчетаПрайс.Текст =
    "ВЫБРАТЬ
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номенклатура ИЕРАРХИЯ";
    

    //ПостроительОтчетаПрайс.Параметры("НулевойОстаток", 0);

    ПостроительОтчетаПрайс.ЗаполнитьНастройки();
    ПостроительОтчетаПрайс.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
    ПостроительОтчетаПрайс.ТекстЗаголовка = "Прайс";
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("Номенклатура");
    ПолеОтбора.ВидСравнения  = ВидСравнения.ВИерархии;
    
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("КоличествоОстаток");
    ПолеОтбора.ВидСравнения  = ВидСравнения.Больше;
    ПолеОтбора.Значение  = 0;
    ПолеОтбора.Использование  = Истина


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

bereznoy Подменю пользователя
сообщение 17.01.13, 0:57
Сообщение #2

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Сделал вот так, но теперь цену не видит в выборке (((, помогите плз
ПостроительОтчетаПрайс.Текст =
    "ВЫБРАТЬ
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |ИТОГИ ПО
    |    Номенклатура ИЕРАРХИЯ
    |АВТОУПОРЯДОЧИВАНИЕ";
    

    //ПостроительОтчетаПрайс.Параметры("НулевойОстаток", 0);

    ПостроительОтчетаПрайс.ЗаполнитьНастройки();
    //ПостроительОтчетаПрайс.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
    ПостроительОтчетаПрайс.ТекстЗаголовка = "Прайс";
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("Номенклатура");
    ПолеОтбора.ВидСравнения  = ВидСравнения.ВИерархии;
    
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("КоличествоОстаток");
    ПолеОтбора.ВидСравнения  = ВидСравнения.Больше;
    ПолеОтбора.Значение  = 0;
    ПолеОтбора.Использование  = Истина



.........
Выборка = ПостроительОтчетаПрайс.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);



Цену уже не видит, в чем проблемка?
Пока Выборка.Следующий() Цикл
....
Рисунок.Текст =Выборка.Цена;


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

pablo Подменю пользователя
сообщение 17.01.13, 8:16
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Во-первых, Вы уверены, что в запросе должно быть именно левое соединение?
Во-вторых, раз уж не видит цену, в регистре цен есть незаполненная (нулевая) цена?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

bereznoy Подменю пользователя
сообщение 17.01.13, 9:05
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(pablo @ 17.01.13, 8:16) *
Во-первых, Вы уверены, что в запросе должно быть именно левое соединение?
Во-вторых, раз уж не видит цену, в регистре цен есть незаполненная (нулевая) цена?

1.Нет
2.Нет
Если не делать обход в выборке то все хорошо работает.

Подскажите как на Ваш взгляд должен выглядеть запрос


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

pablo Подменю пользователя
сообщение 17.01.13, 12:46
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Во-первых, если Вам нужны только те товары, по которым есть остатки, тогда нужно правое соединение.
Во-вторых, непонятно, какая именно сортировка Вам нужна.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

bereznoy Подменю пользователя
сообщение 18.01.13, 23:40
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Что то никак у меня не получается получить цену в выборке (обход по группировкам сделал что б в моем каталоге все шло по порядку согласно иерархии
номенклатуры), помогите плз, как мне сохранить и порядок размещения картинок в каталоге согласно иерархии и получить цену в выборке,вот вест код
Процедура ПрайсИнициализация()
    ПостроительОтчетаПрайс.Текст =
    "ВЫБРАТЬ
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |ИТОГИ ПО
    |    Номенклатура ИЕРАРХИЯ
    |АВТОУПОРЯДОЧИВАНИЕ";
    

    

    ПостроительОтчетаПрайс.ЗаполнитьНастройки();
    //ПостроительОтчетаПрайс.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;
    ПостроительОтчетаПрайс.ТекстЗаголовка = "Прайс";
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("Номенклатура");
    ПолеОтбора.ВидСравнения  = ВидСравнения.ВИерархии;
    
    ПолеОтбора = ПостроительОтчетаПрайс.Отбор.Добавить("КоличествоОстаток");
    ПолеОтбора.ВидСравнения  = ВидСравнения.Больше;
    ПолеОтбора.Значение  = 0;
    ПолеОтбора.Использование  = Истина

    
КонецПроцедуры

Процедура ПрайсВывести(ПечататьЦенники = Ложь)
    

    Если НаДату = '00010101' Тогда
        Предупреждение("Не указана дата !!!");
        Возврат;
    КонецЕсли;
    
    Если ТипЦен.Пустая() Тогда
        Предупреждение("Не указан тип цен");
        Возврат;
    КонецЕсли;
    
    Если ВключатьТолькоОстатки И Склады.Количество() = 0 Тогда
        
        Предупреждение("Не указаны склады для поиска остатков");
        Возврат;
        
    КонецЕсли;
    
    
    ПостроительОтчетаПрайс.Параметры.Вставить("НаДату", КонецДня(НаДату));
    ПостроительОтчетаПрайс.Параметры.Вставить("ТипЦен", ТипЦен);
    ПостроительОтчетаПрайс.Параметры.Вставить("Склады", Склады.Выгрузить().ВыгрузитьКолонку("Склад"));

    ИмяПоляОстаток = "КоличествоОстаток";
    ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Найти(ИмяПоляОстаток);
    Если ВключатьТолькоОстатки Тогда
        Если ПолеОтбораОстаток = Неопределено Тогда
            ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Добавить(ИмяПоляОстаток);
        Конецесли;
        ПолеОтбораОстаток.ВидСравнения = ВидСравнения.Больше;
        ПолеОтбораОстаток.Использование = Истина;
    Иначе
        Если ПолеОтбораОстаток <> Неопределено Тогда
            ОтборКоличество = ПостроительОтчетаПрайс.Отбор.Количество();
            Для Н = 1 По ОтборКоличество Цикл
                Если ПостроительОтчетаПрайс.Отбор[ОтборКоличество - Н].Имя = ИмяПоляОстаток Тогда                    
                    ПостроительОтчетаПрайс.Отбор.Удалить(ОтборКоличество - Н);
                КонецЕсли    
            КонецЦикла;    
        КонецЕсли;
    КонецЕсли;    
        
        
    
    ПостроительОтчетаПрайс.Выполнить();
    
            
        Макет = ПолучитьМакет("Прайс");
        
        ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
        
        ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
        ТабДок1 =  Новый ТабличныйДокумент;
        ТабДок2 = Новый ТабличныйДокумент;
        
        
        
        Выборка = ПостроительОтчетаПрайс.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        КоличествоСтраниц = 0;
        Номер = 0;
        НомерЗаписи = 0;
        ЛевыйСтолбец = Истина;
        КоличествоСтрокНаСтранице = 4;
        
        
        
                                

        Пока Выборка.Следующий() Цикл
            Если НомерЗаписи = КоличествоСтрокНаСтранице Тогда
                
                Если ЛевыйСтолбец Тогда
                    ЛевыйСтолбец = Ложь;
                    
                
                Иначе
                     КоличествоСтраниц = КоличествоСтраниц + 1;
                                 
                     ТабДок.Присоединить(ТабДок1);
                     ТабДок.Присоединить(ТабДок2);
                     ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
                     ТабДок.Вывести(Макет.ПолучитьОбласть("МеждуСтрочье"));
                     ЛевыйСтолбец = Истина;
                    
                     ТабДок1 = Новый ТабличныйДокумент;
                     ТабДок2 = Новый ТабличныйДокумент;
                    
                    
                    
                 КонецЕсли;
                
                НомерЗаписи = 0;

            КонецЕсли;
        
                    
ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
    ЕСЛИ Выборка.Номенклатура.ЭтоГруппа = Истина Тогда
                    Изображение = Неопределено;
                    Иначе

Изображение = Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
КонецЕсли;
// Изображение = Неопределено;
Если НЕ Изображение = Неопределено Тогда
////////////////////////////////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 6;
Рисунок.Лево = 1;
Рисунок.Ширина = 17;
Рисунок.Высота = 79;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт("Verdana", 13.5,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст = Выборка.Номенклатура.Артикул;    

//////////////////////////////////////////////////////////////////////////    
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Верх = 6;
Рисунок.Высота =79;
Рисунок.Ширина = 90;
Рисунок.Лево = 18;
Рисунок.РазмерКартинки = РазмерКартинки.Растянуть;
Рисунок.Картинка = Изображение;
///////////////////////////////////////

/////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 6;
Рисунок.Лево = 108;
Рисунок.Ширина = 17;
Рисунок.Высота = 79;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт("Verdana", 10,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст =Выборка.Цена;




/////////////////////////////////////////////////////
Рисунок = ОбластьНоменклатура.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
Рисунок.Верх = 85;//76;
Рисунок.Лево = 1;
Рисунок.Ширина = 124;
Рисунок.Высота = 9;
Рисунок.ОриентацияТекста = -0;
Рисунок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Рисунок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Рисунок.Шрифт = Новый Шрифт (,,Истина);
Рисунок.ЦветТекста = Новый Цвет(0,0,0);
Рисунок.Текст = Выборка.Наименование;
Если ЛевыйСтолбец Тогда
    ТабДок1.Вывести(ОбластьНоменклатура);
    Иначе
    ТабДок2.Вывести(ОбластьНоменклатура);
КонецЕсли;

НомерЗаписи = НомерЗаписи + 1;

КонецЕсли;
        КонецЦикла;
        
        
        ТабДок.Присоединить(ТабДок1);
        ТабДок.Присоединить(ТабДок2);
        
        ТабДок.ПолеСлева = 0;
        ТабДок.ПолеСправа = 0;
        ТабДок.ПолеСверху = 0;
        ТабДок.ПолеСнизу = 0;
        ТабДок.АвтоМасштаб = Истина;
        


КонецПроцедуры


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

bereznoy Подменю пользователя
сообщение 20.01.13, 18:45
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

HELP , помогите Цену получить в выборке 05071.gif


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

ignsv Подменю пользователя
сообщение 20.01.13, 20:04
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

и все-таки: Вы говорите:
Цитата
с ценами по остаткам товаров

так зачем вы к ценам соединяете остатки, а не наоборот?

Например такой запрос:
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК цена,
    ТоварыНаСкладахОстатки.Номенклатура.ОсновноеИзображение.Хранилище
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад <> &Склад) КАК ТоварыНаСкладахОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТЦ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
ИТОГИ ПО
    Номенклатура ИЕРАРХИЯ


в моем случае дал группировку по иерархии, все остатки и цены к ним (если они попадали по отборам)

Сообщение отредактировал ignsv - 20.01.13, 20:05

bereznoy Подменю пользователя
сообщение 20.01.13, 20:46
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(ignsv @ 20.01.13, 20:04) *
и все-таки: Вы говорите:

так зачем вы к ценам соединяете остатки, а не наоборот?

Например такой запрос:
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК цена,
    ТоварыНаСкладахОстатки.Номенклатура.ОсновноеИзображение.Хранилище
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад <> &Склад) КАК ТоварыНаСкладахОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТЦ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
ИТОГИ ПО
    Номенклатура ИЕРАРХИЯ


в моем случае дал группировку по иерархии, все остатки и цены к ним (если они попадали по отборам)


При обходе результата, в выборке уже нет цены (((


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 09.05.24, 12:01
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!