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

Хранилище

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

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



> Работа со Списками , немного по коду          
Cnhtkjr Подменю пользователя
сообщение 21.03.10, 7:09
Сообщение #1

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

В общем в чем суть:

При открытии справочника Номенклатур, под текущего пользователя базы из реестра сведений к номенклатурам подставляются соответствующие цены.
Долго бился головой об стену, мануалы, книги и барабан, в конечном итоге это максимум к чему я смог прийти, но все-равно не работает.
Вернее все как бы работает, а вот записать цену в ячейку - зась.
Что я не так делаю? Я начинающий так что могу не замечать самой тупейшей ошибки.

Метод решил реализовать следующим образом:


Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    НашЭлемент = ДанныеСтроки.ссылка;
    НашОбъект = НашЭлемент.ПолучитьОбъект();

    НашОбъект.цена = ПолучениеЦены(ТекущаяДата(), НашЭлемент);  //поле для записи. пятой точкой чую, что проблема тут
            
КонецПроцедуры

Функция ПолучениеЦены (АктуальнаяДата, ЭлементНоменклатуры)
    НашОтбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
    ЗначениеРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,НашОтбор);
    Возврат ЗначениеРесурсов.цена;
КонецФункции


метод выбора пользователя я реализую потом, главное с этим разобраться.
Нужно не столько записать в поле значение цены, сколько его там отобразить, это если что.

Возможно стоило бы по другому это сделать все, я не знаю. Возможно есть вариант сохранения несколько справочников под каждого контрагента...
Или в документах цену нужно тянуть не из справочника а напрямую из регистра? Да, наверное так и нужно.



И еще по спискам:

Так как я только учусь, то не до конца еще понимаю всей механики. На данный момент опять же списков, раз о них идет речь.

Вот например, я решил создать документ, в форме списка которого, в зависимости от значения РадиоКнопки будут выводится списки документов разного типа, в котором ТекущийПользователь является "владельцем".
Все выводится так как я хочу. Но есть один минус - таблица выводится с колонками сгенеренными ею самой. Там не хватает нужным мне колонок, к примеру: "пользователь", "магазин" и т.д., которые там вообще есть.
И как их отобразить в таблице?

Вот код:

Процедура ПриОткрытии()
    

    
    //Значение РадиоКнопкм при открытии
    Приходы = "Приходы";
    
    //Создаем Массив типов
    Массив = Новый Массив;
    Массив.Добавить(Тип("ДокументСписок.Приход"));
    
    Таблица = ЭлементыФормы.ТабличноеПоле1;
    
    ОтборПоТекПользователю(Таблица, массив);

    
    
     Таблица.СоздатьКолонки();

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


Процедура ПриходыПриИзменении(Элемент)

          
    Таблица = ЭлементыФормы.ТабличноеПоле1;
    
        
    Если Приходы = "Приходы" тогда
        Массив = Новый Массив;
        Массив.Добавить(Тип("ДокументСписок.Приход"));
        ОтборПоТекПользователю(Таблица, Массив);

    
    иначе
        Массив = Новый Массив;
        Массив.Добавить(Тип("ДокументСписок.Отправка"));
        ОтборПоТекПользователю(Таблица, Массив);
       КонецЕсли;
        
    Таблица.СоздатьКолонки();
    
    

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

процедура ОтборПоТекПользователю(Таблица, Массив)
    
     //смена типа табличного поля по значению РадиоКнопки
     НашТип = Новый ОписаниеТипов(Массив);
     Таблица.ТипЗначения = НашТип;

    
    
     //вывод документов по текущему пользователю
    ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
    Таблица.Значение.Отбор.пользователь.значение = ТекПользователь;
    
        
    //Даем права Админу видеть всё
    
    если ТекПользователь <> "Админ" тогда
        Таблица.Значение.Отбор.пользователь.использование = Истина;
    Конецесли;

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




Спасибо большое заранее.
А то так тяжело самому это все осваивать. Даже спросить не у кого. Бывает бьешься над какой-то мелочью днями, которую бы практикущий кодер подсказал бы в аське за пару минут.
А тут уже сил больше моих нет...

zetovich Подменю пользователя
сообщение 21.03.10, 10:33
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

1. "НашОбъект.цена = ПолучениеЦены(ТекущаяДата(), НашЭлемент); //поле для записи. пятой точкой чую, что проблема тут"
Вы ,я так понял, в реквизит хотите запсиать цену...?....тогда добавте "НашОбъект.Записать();", но накой хрен записывать в справочник при работе с таблице?. Добовляем колонку в Таблицу и "ОформлениеСтроки.Ячейки.ТвояКОлонкаНапримерЦена.Значение = ПолучениеЦены(ТекущаяДата(), НашЭлемент)".
2. "Там не хватает нужным мне колонок, к примеру: "пользователь", "магазин" и т.д., которые там вообще есть." так добавте в ТаблицуЗначений....иль я что то не понял?

Спасибо сказали: Cnhtkjr,

Cnhtkjr Подменю пользователя
сообщение 21.03.10, 10:58
Сообщение #3

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

Цитата(zetovich @ 21.03.10, 11:33) *
1. "НашОбъект.цена = ПолучениеЦены(ТекущаяДата(), НашЭлемент); //поле для записи. пятой точкой чую, что проблема тут"
Вы ,я так понял, в реквизит хотите запсиать цену...?....тогда добавте "НашОбъект.Записать();", но накой хрен записывать в справочник при работе с таблице?. Добовляем колонку в Таблицу и "ОформлениеСтроки.Ячейки.ТвояКОлонкаНапримерЦена.Значение = ПолучениеЦены(ТекущаяДата(), НашЭлемент)".


На тот хрен, что я пока еще осваиваюсь ) Не до конца еще понимаю как что работает.
Спасибо, попробую ) Похоже на то что нужно )
(надеюсь получится)


Цитата(zetovich @ 21.03.10, 11:33) *
2. "Там не хватает нужным мне колонок, к примеру: "пользователь", "магазин" и т.д., которые там вообще есть." так добавте в ТаблицуЗначений....иль я что то не понял?


Да я пытался, честно! Если бы до этого не пытался, стал бы я позориться такими банальными вопросами? ))
Ну, не получается у меня что-то добавить эту колонку кодом и задать ей значение ((


Но, в общем, спасибо, что верите ))
Ушел пробовать все, что насоветовали 32000000.gif

Batchir Подменю пользователя
сообщение 21.03.10, 12:06
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

1. В прцедуре СправочникСписокПриВыводеСтроки записывать объекты категорически не рекомендую. Это будет при происходить при каждом вызове списка справочника.
Если это действительно надо, нужно поставить проверку что цена изменилась, и только в этом случае записывать.

2. Если нужно только отображение дополнительной инфы в списке, то рекомендую использовать событие ПриПолученииДанных. В этом случае нужно обходить строки и отображать нужные данные. При использовании данного события обрабатывается только "видимая" часть списка, что значительно сокращает время выполнения.

Спасибо сказали: AlenaS,

Cnhtkjr Подменю пользователя
сообщение 22.03.10, 18:25
Сообщение #5

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

Цитата(Batchir @ 21.03.10, 13:06) *
1. В прцедуре СправочникСписокПриВыводеСтроки записывать объекты категорически не рекомендую. Это будет при происходить при каждом вызове списка справочника.
Если это действительно надо, нужно поставить проверку что цена изменилась, и только в этом случае записывать.

2. Если нужно только отображение дополнительной инфы в списке, то рекомендую использовать событие ПриПолученииДанных. В этом случае нужно обходить строки и отображать нужные данные. При использовании данного события обрабатывается только "видимая" часть списка, что значительно сокращает время выполнения.



Спасибо ) Сейчас пытаюсь применить на практике.


я хочу создать метод, который позволяет при открытии справочника номенклатур, подставлять значения в поля основываясь на текущем пользователе.
Мне кажется, что должен быть какой-то банальный простой метод опробованный годами, а я как всегда иду через трудно проходимы огороды (грубо говоря, через жопу).
Сейчас сижу и думаю, а может справочники "номенклатура" сделать подчиненными справочнику "пользователи"?
Тогда я так понимаю, на каждого пользователя будет хранится уникальный набор значений?
Или я опять всё не так понимаю?


(дайте пожалуйста код, позволяющий добавлять колонки в динамических таблицах, буду осмысливать)


я думаю, возможно я неправильно поступаю пытаясь менять выводимую информацию в динамических списках?
Может правильно делать отдельную таблицу значений, куда будут выносится получаемые данные из динамического списка?
Или не имеет разницы, как вы считаете?

буду признателен за любое мало-мальское настановление и поучение.

Batchir Подменю пользователя
сообщение 22.03.10, 18:43
Сообщение #6

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Почитайте здесь http://pro1c.org.ua/index.php?showtopic=660.
Обсуждалось как добавить вывод цен в списке номенклатуры, может прояснит работу.

Спасибо сказали: Cnhtkjr,

Cnhtkjr Подменю пользователя
сообщение 23.03.10, 15:38
Сообщение #7

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

Почитал )
Не совсем то, но полезного для себя взял. Будем сейчас применять на практике.

Я заметил, что часто используются запросы, вместо стандартных методов.

Это чем-то обусловлено, или просто личное предпочтение автора?
Или стоит и самому так привыкать работать?

И если не сложно пояснить, то мне бы помогло в будущем, а то я немного сомневаюсь, что правильно все понимаю:

Вот строчка, что она делает?


ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;



Так вот, куда именно записывается значение Закупочной Цены?
Я так понял, что просто значение отображается в поле ввода, при этом не записывая своё значение в реквизит формы?

А вот это тогда где будет хранить значение?


ЭлементыФормы.ПолеВводаЦена.Значение= ЗакупочнаяЦена;




А вот так значение будет записываться в реквизит?


НашОбъект = ДанныеСтроки.ссылка.ПолучитьОбъект();
НашОбъект.цена = ПолучениеЦены(ТекущаяДата(), НашЭлемент);
НашОбъект.Записать();




Правильное понимание, или все же нужно знания об батарею равнять?


И если кто-то мне сможет пояснить как пользоватся, в чем смысл менеджеров, то цены тому человеку не будет.
ДокументСписок, ДокументОбъект, ДокументСсылка - это все понятно.
А что такое ДокументМенеджер - непонятно. Зачем это, что это, и самое главное - как с этим работать?

("Документ*" - взят для примера)

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

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(Cnhtkjr @ 23.03.10, 16:38) *
Почитал )
Я заметил, что часто используются запросы, вместо стандартных методов.

Это чем-то обусловлено, или просто личное предпочтение автора?
Или стоит и самому так привыкать работать?

Личное предпочтение, просто с помощью запросов можно получить что угодно, откуда угодно (привычка)

Цитата


ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;


Так вот, куда именно записывается значение Закупочной Цены?
Я так понял, что просто значение отображается в поле ввода, при этом не записывая своё значение в реквизит формы?

Правильно поняли. Это всего лишь отображение где-то хранимых данных.

Цитата
А вот это тогда где будет хранить значение?



ЭлементыФормы.ПолеВводаЦена.Значение= ЗакупочнаяЦена;

В поле ввода на форме, после записи объекта будет храниться в реквизите объекта.

Цитата
А вот так значение будет записываться в реквизит?



НашОбъект = ДанныеСтроки.ссылка.ПолучитьОбъект();
НашОбъект.цена = ПолучениеЦены(ТекущаяДата(), НашЭлемент);
НашОбъект.Записать();

Да, таким образом получаем объект, устанавливаем значение реквизита и записываем.

Спасибо сказали: Cnhtkjr,

Cnhtkjr Подменю пользователя
сообщение 23.03.10, 18:58
Сообщение #9

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

Всё, я сейчас с ума сойду!

Не могу добавить колонку в таблицу.

Что же не так?!
Я уже не могу представить, как еще нужно извратиться, что бы добавить колонку в таблицу из модуля.

//таблица для вывода
    Таблица = ЭлементыФормы.ТабличноеПоле1;
    
    //Создаем Массив типов и меняем тип у таблицы
    Массив = Новый Массив;
    Массив.Добавить(Тип("ДокументСписок.Приход"));
    НашТип = Новый ОписаниеТипов(Массив);
    Таблица.ТипЗначения = НашТип;




Все это происходит из объекта типа ДокументСписок.

При смене типа табличного поля,
в табличном поле должны отобразится все колонки присваиваемого типа (в нашем случае Документа Списка приходов)
Там есть колонки к примеру "Номер, дата, контрагент", а Таблица выводит мне колонки "Номер, дата, проведен".

Я уже и в ДокументСписок пытался добавить колонку путем " Таблица.значение.колонки.добавить("Контрагент"); "
и простов табличное поле " Таблица.колонки.добавить(Контрагент, "Контрагент"); " - (кстати, почему-то ругается на первый параметр - не понимаю почему)

А потом пробовал это всё вставить методом "Вставить" в табличное поле.
Но что-то не так.

Уже третий день или четвертый возвращаюсь к этому; 1свский мсдн уже вдоль и в поперек перечитал, а толку ноль sad.gif

Помогите, люди добрые!

Может нужно это в какой-то особом обработчике делать? Может все не так делать?
А то не могу понять, ни как создать колонки прямо из модуля, ни как передать им нужное мне значение...
Я из-за этой 1С уже 44000000.gif немалую часть своих припасов, что бы нервы успокоить. Я так больше не могу.

Cnhtkjr Подменю пользователя
сообщение 23.03.10, 23:23
Сообщение #10

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

Ладно, я уже решил пойти другим путем.
Добавлять колонки и придавать им значение, просто в ТаблицеЗначений, проблем не составило.
Так я подумал пойти с другой стороны - выгрузить нужную мне информацию из ДокументаСписок в ТаблицуЗначений.
И вот такой вот с улыбкой, довольный тем какой я молодец - побежал кодить.
Да не тут то было!
Табличку сделал, нарисовал колоночки - ляпота! А вот когда попытался сделать что-то похожее на выборку списка документов - потерпел фиаско.
Теперь сижу и думаю, каким же таким механизмом получить Список Документов.
Есть пока что несколько извращенных идей - создать глобальную структуру, куда буду заносить данные ДокументаСписка, которые буду получать в обработке "При получении данных" и потом уже эту структуру переносить в мою таблицу.
Не знаю, может такой вариант и пойдет. Но, все-равно пойду еще раз перелистаю литературу.
Может там раньше найду ответы.

zetovich Подменю пользователя
сообщение 24.03.10, 8:57
Сообщение #11

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(Cnhtkjr @ 24.03.10, 0:23) *
Ладно, я уже решил пойти другим путем.
Добавлять колонки и придавать им значение, просто в ТаблицеЗначений, проблем не составило.
Так я подумал пойти с другой стороны - выгрузить нужную мне информацию из ДокументаСписок в ТаблицуЗначений.
И вот такой вот с улыбкой, довольный тем какой я молодец - побежал кодить.
Да не тут то было!
Табличку сделал, нарисовал колоночки - ляпота! А вот когда попытался сделать что-то похожее на выборку списка документов - потерпел фиаско.
Теперь сижу и думаю, каким же таким механизмом получить Список Документов.
Есть пока что несколько извращенных идей - создать глобальную структуру, куда буду заносить данные ДокументаСписка, которые буду получать в обработке "При получении данных" и потом уже эту структуру переносить в мою таблицу.
Не знаю, может такой вариант и пойдет. Но, все-равно пойду еще раз перелистаю литературу.
Может там раньше найду ответы.

Результат запроса нужно Выгрузить, а не Выбрать.
Выборка = Запрос.Выполнить.Выгрузить().
если я правильно понял о чем Вы.

Cnhtkjr Подменю пользователя
сообщение 24.03.10, 13:56
Сообщение #12

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

Цитата(zetovich @ 24.03.10, 9:57) *
Результат запроса нужно Выгрузить, а не Выбрать.
Выборка = Запрос.Выполнить.Выгрузить().
если я правильно понял о чем Вы.


Почти правильно .
Я просто хотел обойтись без запросов.
Но попробую все же запросами получить список документов - надеялся просто, что это можно сделать стандартными методами объектов.
Мне то и нужно было всего ничего - вывести список документов в таблице значений точно так же, как они выводятся в родной ФормеСписка
Ладно, надеюсь разберусь, или обойдусь, на крайняк.


А вот с чем я не смог разобраться и где мне действительно нужна подсказка, так это:
в ФормеСписка справочника я удалили несколько колонок.
Но при вызове ФормыСписка из другого документа (при начале выбора номенклатуры, например) все удаленные мною колонки на месте.
Я чего-то не понял, а как это? А как это лечится?
Из-за чего это вообще так?


(таким электро-чайником себя чувствую, но что делать? В принципе все чайниковали когда-то)

zetovich Подменю пользователя
сообщение 24.03.10, 14:05
Сообщение #13

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(Cnhtkjr @ 24.03.10, 14:56) *
Почти правильно .
Я просто хотел обойтись без запросов.
Но попробую все же запросами получить список документов - надеялся просто, что это можно сделать стандартными методами объектов.
Мне то и нужно было всего ничего - вывести список документов в таблице значений точно так же, как они выводятся в родной ФормеСписка
Ладно, надеюсь разберусь, или обойдусь, на крайняк.


А вот с чем я не смог разобраться и где мне действительно нужна подсказка, так это:
в ФормеСписка справочника я удалили несколько колонок.
Но при вызове ФормыСписка из другого документа (при начале выбора номенклатуры, например) все удаленные мною колонки на месте.
Я чего-то не понял, а как это? А как это лечится?
Из-за чего это вообще так?


(таким электро-чайником себя чувствую, но что делать? В принципе все чайниковали когда-то)

1. если Вы когда трудились на 7.7 то перейдя на 8.х следует и переучится программировать. Нечего делать методам программирования семерочных в 8.х. Запросы очень хороши. И работают быстро.
2. Возможно не в ту форму списка вызываете(поменяли другую). Колонки могут добовляться программно. Не ОБНОВИЛИ конфигурацию. ...

Cnhtkjr Подменю пользователя
сообщение 24.03.10, 15:43
Сообщение #14

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

Цитата(zetovich @ 24.03.10, 15:05) *
1. если Вы когда трудились на 7.7 то перейдя на 8.х следует и переучится программировать. Нечего делать методам программирования семерочных в 8.х. Запросы очень хороши. И работают быстро.
2. Возможно не в ту форму списка вызываете(поменяли другую). Колонки могут добовляться программно. Не ОБНОВИЛИ конфигурацию. ...


1. Ясно. Бросаю зубрить методы, ушел осваивать язык запросов.

2. Объясните мне пожалуйста подробнее, что значит "Обновить" конфигурацию? Что именно вы имеете ввиду?
Это какая-то еще дополнительная манипуляция кроме как запуска отладки?
Я свою проблему решить. Только не понял почему она решилась. Просветите пожалуйста, если получится.

Так как у меня не хотела нормально выводится выводится ФормаСписка1 при вызове из под другого объекта (отображались удаленные мною колонки), то я решил создать новую ФормуСписка2 и назначить её основной. Но почему-то теперь, при открытии формы из под другого объекта не срабатывает отрабатывается событие "При Открытии()". о_о
Удалил форму, назначил старую главной - все работает идеально. Это хорошо конечно, что оно работает идеально, но вот бы еще понять, что это было и почему?

zetovich Подменю пользователя
сообщение 24.03.10, 15:55
Сообщение #15

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(Cnhtkjr @ 24.03.10, 16:43) *
1. Ясно. Бросаю зубрить методы, ушел осваивать язык запросов.

2. Объясните мне пожалуйста подробнее, что значит "Обновить" конфигурацию? Что именно вы имеете ввиду?
Это какая-то еще дополнительная манипуляция кроме как запуска отладки?
Я свою проблему решить. Только не понял почему она решилась. Просветите пожалуйста, если получится.

Так как у меня не хотела нормально выводится выводится ФормаСписка1 при вызове из под другого объекта (отображались удаленные мною колонки), то я решил создать новую ФормуСписка2 и назначить её основной. Но почему-то теперь, при открытии формы из под другого объекта не срабатывает отрабатывается событие "При Открытии()". о_о
Удалил форму, назначил старую главной - все работает идеально. Это хорошо конечно, что оно работает идеально, но вот бы еще понять, что это было и почему?

читаем букварь.
з.ы. сохранив конфигурацию (ctrl+s) ее нужно обновить (F7). остальное в букваре что да зачем.

capitoshko Подменю пользователя
сообщение 28.03.10, 15:15
Сообщение #16

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 6 раз
Рейтинг: 0

хм.... з цінами в списку цікава ідея. тут виникло бажання задати питання - як би ви реалізували вивід середньої ціни номенклатури, яка зберігається на складі?


Щодо запитів - згідний, працюють "шустріше", також віддаю перевагу запитам, зручно ними користуватись

Jolie Подменю пользователя
сообщение 29.03.10, 11:27
Сообщение #17

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Cnhtkjr @ 23.03.10, 16:38) *
И если кто-то мне сможет пояснить как пользоватся, в чем смысл менеджеров, то цены тому человеку не будет.
ДокументСписок, ДокументОбъект, ДокументСсылка - это все понятно.
А что такое ДокументМенеджер - непонятно. Зачем это, что это, и самое главное - как с этим работать?

("Документ*" - взят для примера)


Слово менеджер придумали чтобы людей запутать smile.gif)))
если работали с 1с7 это типа просто документ например ПриходнаяНакладная

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


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

 

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